<?php
// powered by knuepower.de
$upload_dir = __DIR__ . '/uploads';
if (!file_exists($upload_dir)) {
    mkdir($upload_dir, 0755, true);
}
$files = array_filter(scandir($upload_dir), fn($f) => !in_array($f, ['.', '..']));
$delete_message = null;

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete']) && !empty($_POST['files'])) {
    $deleted = 0;
    foreach ($_POST['files'] as $file) {
        $file = basename($file);
        $path = $upload_dir . '/' . $file;
        if (file_exists($path) && unlink($path)) {
            $deleted++;
        }
    }
    $delete_message = "$deleted Datei(en) gelöscht.";
}

function getFileIcon($filename) {
    $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
    return match ($ext) {
        'jpg', 'jpeg', 'png', 'gif', 'webp' => '🖼️',
        'pdf' => '📄',
        'doc', 'docx' => '📝',
        'xls', 'xlsx' => '📊',
        'zip', 'rar' => '🗜️',
        'txt' => '📃',
        'mp3', 'wav' => '🎵',
        'mp4', 'mov', 'avi' => '🎬',
        default => '📁'
    };
}
?>
<?php if ($delete_message): ?>
  <p><?= htmlspecialchars($delete_message) ?></p>
<?php endif; ?>

<form method="post" onsubmit="return confirm('Dateien wirklich löschen?');">
  <ul>
    <?php foreach ($files as $file): ?>
	  <?php if ($file === '.htaccess') continue; ?>
      <li>
        <label>
          <input type="checkbox" name="files[]" value="<?= htmlspecialchars($file) ?>">
          <?= getFileIcon($file) ?> <?= htmlspecialchars($file) ?>
        </label>
      </li>
    <?php endforeach; ?>
  </ul>
  <button type="submit" name="delete">Ausgewählte löschen</button>
</form>
