<?php
// admin/tools/pdf_delete.php

session_start();
require_once __DIR__ . '/../../includes/init.php';
require_once __DIR__ . '/../../auth/AuthController.php';
require_once __DIR__ . '/../../includes/core/ErrorLogger.php';

$auth = new AuthController();
if (!$auth->isLoggedIn()) {
    header('Location: ' . $adminLoginPath);
    exit;
}

$db = Database::getInstance();
$title = '🗑️ PDF löschen';

$pdf_id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
$info = '';
$error = '';

ob_start();

try {
    // PDF-Daten inkl. Dateiname holen
    $stmt = $db->prepare('SELECT filename FROM pdf_downloads WHERE id = ?');
    $stmt->execute([$pdf_id]);
    ErrorLogger::logSqlSuccess('PDF für Löschung geladen | table: pdf_downloads | context: ' . json_encode(['pdf_id' => (int) $pdf_id], JSON_UNESCAPED_UNICODE));
    $pdf = $stmt->fetch();

    if (!$pdf) {
        throw new Exception('PDF nicht gefunden.');
    }

    // Datei löschen
    $file_path = __DIR__ . '/../../uploads/protected_pdfs/' . $pdf['filename'];
    if (file_exists($file_path)) {
        unlink($file_path);
        ErrorLogger::log("PDF-Datei gelöscht: {$pdf['filename']}", 'INFO');
    }

    // Datenbankeintrag löschen
    $stmt = $db->prepare('DELETE FROM pdf_downloads WHERE id = ?');
    // SQL-Delete wird für Nachvollziehbarkeit protokolliert
    $stmt->execute([$pdf_id]);
    ErrorLogger::logSqlSuccess('PDF gelöscht | table: pdf_downloads | context: ' . json_encode(['pdf_id' => (int) $pdf_id], JSON_UNESCAPED_UNICODE));
    ErrorLogger::log("PDF #$pdf_id und zugehörige Daten gelöscht", 'INFO');

    $info = '✅ PDF und zugehörige Daten wurden gelöscht.';
} catch (Exception $e) {
    ErrorLogger::logSqlError('Fehler beim Löschen der PDF-Daten | table: pdf_downloads | error: ' . $e->getMessage());
    $error = '❌ Fehler beim Löschen: ' . $e->getMessage();
    ErrorLogger::log("Fehler beim Löschen von PDF #$pdf_id: {$e->getMessage()}", 'ERROR');
}
?>

<div class="page-header h2">🗑️ PDF löschen</div>

<?php if ($info): ?><div class="alert alert-success auto-dismiss"><?= htmlspecialchars($info) ?></div><?php endif; ?>
<?php if ($error): ?><div class="alert alert-danger auto-dismiss"><?= htmlspecialchars($error) ?></div><?php endif; ?>

<p><a href="pdf_list.php" class="btn btn-secondary">Zurück zur Übersicht</a></p>

<script>
document.addEventListener('DOMContentLoaded', function () {
  setTimeout(() => {
    document.querySelectorAll('.auto-dismiss').forEach(el => {
      el.classList.add('fade');
      setTimeout(() => el.remove(), 1000);
    });
  }, 5000);
});
</script>

<?php
$pageContent = ob_get_clean();
include __DIR__ . '/../template.php';
