<?php
session_start();
require_once __DIR__ . '/../includes/init.php';
require_once __DIR__ . '/../auth/AuthController.php';

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

$db = Database::getInstance();
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

try {
    // ✅ Regel zum Loggen laden
    $stmt = $db->prepare("SELECT domain FROM smtp_domain_rules WHERE id = :id");
    $stmt->execute([':id' => $id]);
    $rule = $stmt->fetch(PDO::FETCH_ASSOC);

    if (!$rule) {
        header('Location: smtp_domain_rules.php?error=Regel nicht gefunden');
        exit;
    }

    // ✅ Regel löschen
    $stmt = $db->prepare("DELETE FROM smtp_domain_rules WHERE id = :id");
    $stmt->execute([':id' => $id]);

    $adminId = $_SESSION['admin_id'] ?? 0;
    ErrorLogger::logSqlSuccess("smtp_domain_rule_delete.php: Regel ID $id für Domain '{$rule['domain']}' durch Admin #$adminId gelöscht.");

    header('Location: smtp_domain_rules.php?success=Regel erfolgreich gelöscht');
    exit;

} catch (PDOException $e) {
    ErrorLogger::logSqlError("smtp_domain_rule_delete.php: Fehler beim Löschen der Regel ID $id – " . $e->getMessage());
    header('Location: smtp_domain_rules.php?error=Fehler beim Löschen');
    exit;
}
