<?php
// admin/smtp_loeschen.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;
}

$id = (int)($_GET['id'] ?? 0);

if ($id <= 0) {
    die("Ungültige ID.");
}

$db = Database::getInstance();

try {
    // Bestehenden Eintrag überprüfen
    $stmt = $db->prepare("SELECT smtp_host, smtp_user FROM smtp_accounts WHERE id = ?");
    $stmt->execute([$id]);
    $entry = $stmt->fetch(PDO::FETCH_ASSOC);

    if (!$entry) {
        die("Eintrag nicht gefunden.");
    }

    // Löschen
    $stmt = $db->prepare("DELETE FROM smtp_accounts WHERE id = ?");
    $stmt->execute([$id]);

    $userId = $_SESSION['admin_id'] ?? ($_SESSION['user_id'] ?? 0);
    if ($userId) {
        logSettingChange($userId, 'delete_smtp_account', 'smtp_accounts', json_encode([
            'id' => (int)$id,
            'smtp_host' => $entry['smtp_host'] ?? null,
            'smtp_user' => $entry['smtp_user'] ?? null
        ], JSON_UNESCAPED_UNICODE));
    }

    ErrorLogger::logSqlSuccess('smtp_delete | file: smtp_loeschen.php | message: SMTP-Zugang ID ' . $id . ' (' . $entry['smtp_host'] . ' / ' . $entry['smtp_user'] . ') wurde geloescht.');
    $_SESSION['success_message'] = "SMTP-Zugang wurde gelöscht.";

} catch (PDOException $e) {
    ErrorLogger::logSqlError('smtp_delete | file: smtp_loeschen.php | error: Fehler beim SMTP-Loeschen: ' . $e->getMessage());
    $_SESSION['error_message'] = "Fehler beim Löschen des SMTP-Zugangs.";
}

header("Location: smtp.php");
exit;

