<?php
// admin/emails/template_delete.php

// Sitzung und Initialisierung
session_start();
require_once __DIR__ . '/../../includes/init.php';
require_once __DIR__ . '/../../auth/AuthController.php';

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

// DB-Verbindung aufbauen
$db = Database::getInstance();

// Template-ID prüfen
$templateId = $_GET['id'] ?? null;
$confirmed = $_POST['confirm'] ?? null;

if (!$templateId || !is_numeric($templateId)) {
    ErrorLogger::log('Ungültige Template-ID übergeben', 'WARN');
    header('Location: templates.php');
    exit;
}

// Vorlage abrufen
$stmt = $db->prepare('SELECT id, name FROM email_templates WHERE id = ?');
$stmt->execute([$templateId]);
ErrorLogger::logSqlSuccess('Template für Lösch-Dialog geladen | table: email_templates | context: ' . json_encode(['template_id' => (int) $templateId], JSON_UNESCAPED_UNICODE));
$template = $stmt->fetch();

if (!$template) {
    ErrorLogger::log("Template mit ID $templateId nicht gefunden", 'WARN');
    header('Location: templates.php');
    exit;
}

// Wenn bestätigt: löschen
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $confirmed === 'yes') {
    try {
        $delete = $db->prepare('DELETE FROM email_templates WHERE id = ?');
        $delete->execute([$templateId]);
        ErrorLogger::logSqlSuccess('Template gelöscht | table: email_templates | context: ' . json_encode(['template_id' => (int) $templateId], JSON_UNESCAPED_UNICODE));

        ErrorLogger::log("E-Mail-Template '{$template['name']}' (ID $templateId) wurde gelöscht", 'INFO');

        header('Location: templates.php');
        exit;
    } catch (Exception $e) {
        ErrorLogger::logSqlError('Fehler beim Löschen der Vorlage | table: email_templates | error: ' . $e->getMessage());
        ErrorLogger::log("Fehler beim Löschen der Vorlage ID $templateId: " . $e->getMessage(), 'ERROR');
        $_SESSION['error'] = 'Fehler beim Löschen der Vorlage.';
        header('Location: templates.php');
        exit;
    }
}

// Titel setzen und Inhalt puffern
$title = 'Vorlage löschen';
ob_start();
?>
<div class="page-header h2">
  🗑 E-Mail-Vorlage &raquo; Löschen
</div>

<div class="alert alert-warning auto-dismiss">
  <strong>Hinweis:</strong> Du bist dabei, die Vorlage <strong><?= htmlspecialchars($template['name']) ?></strong> dauerhaft zu löschen.<br>
  Diese Aktion kann nicht rückgängig gemacht werden.
</div>

<form method="post">
  <input type="hidden" name="confirm" value="yes">
  <button type="submit" class="btn btn-danger">Ja, Vorlage löschen</button>
  <a href="templates.php" class="btn btn-secondary">Abbrechen</a>
</form>

<script>
// Automatisches Schließen von Statusmeldungen
setTimeout(() => {
  document.querySelectorAll('.auto-dismiss').forEach(el => el.remove());
}, 5000);
</script>

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