isFile() && in_array($file->getExtension(), $validExtensions)) { $filePath = $file->getPathname(); if (is_readable($filePath)) { $content = fopen($filePath, 'r'); if ($content) { while (($line = fgets($content)) !== false) { if (strpos($line, $kata) !== false) { $relativePath = str_replace($_SERVER['DOCUMENT_ROOT'], '', $filePath); $result[] = array( 'path' => $relativePath, 'permissions' => substr(sprintf('%o', fileperms($filePath)), -4) ); break; } } fclose($content); } } } } return $result; } function getInfoPemilik($path) { $owner = posix_getpwuid(fileowner($path))['name']; $group = posix_getgrgid(filegroup($path))['name']; return array('owner' => $owner, 'group' => $group); } if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['delete']) && !empty($_POST['delete'])) { $fileToDelete = $_SERVER['DOCUMENT_ROOT'] . $_POST['delete']; if (file_exists($fileToDelete) && is_file($fileToDelete) && pathinfo($fileToDelete, PATHINFO_EXTENSION) === 'php') { if (unlink($fileToDelete)) { echo "
File '$fileToDelete' berhasil dihapus.
"; } else { echo "
Gagal menghapus file '$fileToDelete'.
"; } } } if (isset($_POST['chmod']) && !empty($_POST['chmod'])) { $fileToChmod = $_SERVER['DOCUMENT_ROOT'] . $_POST['chmod']; if (file_exists($fileToChmod) && is_file($fileToChmod) && pathinfo($fileToChmod, PATHINFO_EXTENSION) === 'php') { $newPermissions = octdec($_POST['permissions']); if (chmod($fileToChmod, $newPermissions)) { echo "
chmod berhasil pada file '$fileToChmod'
"; } else { echo "
gagal Chmod File pada'$fileToChmod'
"; } } } if (isset($_POST['bulkdelete'])) { $kataCari = $_POST['bulkdelete']; $documentRoot = $_SERVER['DOCUMENT_ROOT']; $currentFile = $_SERVER['SCRIPT_FILENAME']; $hasilPencarian = cariKataDalamFile($kataCari, $documentRoot); $fileDeleted = false; $deleteFailed = false; foreach ($hasilPencarian as $fileInfo) { $fileToDelete = $documentRoot . $fileInfo['path']; if ($fileToDelete !== $currentFile && file_exists($fileToDelete) && is_file($fileToDelete) && pathinfo($fileToDelete, PATHINFO_EXTENSION) === 'php') { if (unlink($fileToDelete)) { $fileDeleted = true; } else { $deleteFailed = true; } } } if ($fileDeleted) { echo "
Semua File berhasil dihapus.
"; } elseif ($deleteFailed) { echo "
Gagal menghapus beberapa file.
"; } } if (isset($_POST['bulkchmod'])) { $kataCari = $_POST['bulkchmod']; $documentRoot = $_SERVER['DOCUMENT_ROOT']; $currentFile = $_SERVER['SCRIPT_FILENAME']; $hasilPencarian = cariKataDalamFile($kataCari, $documentRoot); $totalFiles = count($hasilPencarian); $fileChmodded = false; $chmodFailed = false; foreach ($hasilPencarian as $fileInfo) { $fileToChmod = $documentRoot . $fileInfo['path']; if ($fileToChmod !== $currentFile && file_exists($fileToChmod) && is_file($fileToChmod) && pathinfo($fileToChmod, PATHINFO_EXTENSION) === 'php') { $newPermissions = octdec($_POST['permissions']); if (chmod($fileToChmod, $newPermissions)) { $fileChmodded = true; } else { $chmodFailed = true; } } } if ($fileChmodded) { echo "
Semua File berhasil diubah permissions.
"; } elseif ($chmodFailed) { echo "
Gagal mengubah permissions beberapa file.
"; } } } if (isset($_GET['find']) && !empty($_GET['find'])) { $kataCari = $_GET['find']; $documentRoot = $_SERVER['DOCUMENT_ROOT']; $hasilPencarian = cariKataDalamFile($kataCari, $documentRoot); $totalFiles = count($hasilPencarian); $progressStep = 100 / $totalFiles; $currentProgress = 0; if (empty($hasilPencarian)) { echo "Kata '$kataCari' tidak ditemukan dalam file-file PHP di direktori dan subdirektori."; } else { echo ""; echo ""; echo ""; echo "
0%
"; echo "
"; echo "
"; echo "
"; echo "
"; echo ""; echo ""; echo "
"; echo "-"; echo "
"; echo ""; echo ""; echo ""; echo "
"; echo "
Total Files: $totalFiles
"; echo ""; echo ""; foreach ($hasilPencarian as $fileInfo) { $file = $fileInfo['path']; $permissions = $fileInfo['permissions']; $infoPemilik = getInfoPemilik($_SERVER['DOCUMENT_ROOT'] . $file); $owner = $infoPemilik['owner']; $group = $infoPemilik['group']; $deleteUrl = $_SERVER['PHP_SELF'] . "?delete=" . urlencode(str_replace($_SERVER['DOCUMENT_ROOT'], '', $file)); $chmodUrl = $_SERVER['PHP_SELF'] . "?chmod=" . urlencode(str_replace($_SERVER['DOCUMENT_ROOT'], '', $file)); echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $currentProgress += $progressStep; echo ""; flush(); ob_flush(); usleep(100000); } echo "
File PathOwnerGroupPermissionsAction
$file$owner$group$permissions
"; echo "
"; echo "||"; echo "
"; echo "
"; echo "
"; echo "
"; } } ?>