<?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();
$setupStatus = getSystemSetupStatus($db);
$sendProtection = getSendProtectionStatus($db, $setupStatus);
$memberModuleEnabled = isMemberModuleEnabled($config);

$title = 'Admin Einstellungen';
$pageHelp = renderPageHelp([
    'sections' => [
        [
            'heading' => 'Was macht diese Seite?',
            'items' => [
                'Hier findest du die zentralen Verwaltungs- und Systembereiche f&uuml;r Betrieb, Versand und Kontrolle.',
                'Die Bereiche sind bewusst in wenige Gruppen gegliedert, damit die Navigation trotz vieler Funktionen schnell bleibt.',
            ],
        ],
        [
            'heading' => 'Worauf sollte ich achten?',
            'items' => [
                'Nutze diese Seite als Schaltzentrale f&uuml;r Einstellungen, Protokolle, Monitoring und technische Werkzeuge.',
                'Spezielle Bearbeitungsschritte erfolgen weiterhin in den jeweiligen Fachbereichen &uuml;ber die Hauptnavigation im Header.',
            ],
        ],
    ],
]);

$adminSections = [
    [
        'title' => 'System &amp; Versand',
        'items' => [
            ['href' => 'settings.php', 'label' => 'Systemeinstellungen'],
            ['href' => 'smtp.php', 'label' => 'SMTP-Zug&auml;nge verwalten'],
            ['href' => 'smtp_create.php', 'label' => 'Neuen SMTP-Zugang anlegen'],
            ['href' => 'smtp_domain_rules.php', 'label' => 'SMTP-Domain-Regeln'],
            ['href' => 'smtp_domain_stats.php', 'label' => 'SMTP-Domain-Versandstatistik'],
            ['href' => 'absender.php', 'label' => 'Absender verwalten'],
            ['href' => 'absender_neu.php', 'label' => 'Neuen Absender anlegen'],
        ],
    ],
    [
        'title' => 'Admin-Zug&auml;nge &amp; Protokolle',
        'items' => [
            ['href' => 'nutzer.php', 'label' => 'Admin-Zug&auml;nge anzeigen &amp; bearbeiten'],
            ['href' => 'nutzer_create.php', 'label' => 'Zus&auml;tzlichen Admin anlegen'],
            ['href' => 'nutzer_log.php', 'label' => 'Admin-Aktionen'],
            ['href' => 'settings_log.php', 'label' => 'Einstellungs&auml;nderungen'],
            ['href' => 'log_viewer.php', 'label' => 'Fehlerprotokoll anzeigen'],
            ['href' => 'transaction_log_viewer.php', 'label' => 'Trigger-Log anzeigen'],
        ],
    ],
    [
        'title' => 'Empf&auml;nger &amp; Datenpflege',
        'items' => [
            ['href' => 'empfaenger/import.php', 'label' => 'Empf&auml;nger aus CSV importieren'],
            ['href' => 'empfaenger/import_log.php', 'label' => 'Import-Log anzeigen'],
            ['href' => 'tools/recipients_purge.php', 'label' => 'Empf&auml;nger-Bereinigung'],
            ['href' => 'empfaenger/sperrliste.php', 'label' => 'Sperrliste verwalten'],
            ['href' => 'empfaenger/sperrliste_neu.php', 'label' => 'Sperrlisten-Eintrag anlegen'],
            ['href' => 'tools/optin_list.php', 'label' => 'DOI-Nachweise'],
            ['href' => 'formulare/formular_log.php', 'label' => 'Formular-Eintr&auml;ge (Log)'],
        ],
    ],
    [
        'title' => 'Transaktionen &amp; Monitoring',
        'items' => [
            ['href' => 'emails/transaction_rules.php', 'label' => 'Transaktionsregeln'],
            ['href' => 'emails/automation_rules.php', 'label' => 'Automationsregeln'],
            ['href' => 'emails/trigger_transaction.php', 'label' => 'Transaktionsmail manuell ausl&ouml;sen'],
            ['href' => 'open_monitor.php', 'label' => '&Ouml;ffnungen'],
            ['href' => 'click_monitor.php', 'label' => 'Klicks'],
            ['href' => 'bounce_log.php', 'label' => 'Bounce-Log'],
            ['href' => 'bounce_systematic.php', 'label' => 'Bounce-Systematik'],
            ['href' => 'tools/fake_engagement.php', 'label' => 'Empf&auml;nger mit Fake-Engagement'],
            ['href' => 'tools/suspicious_ips.php', 'label' => 'Verd&auml;chtige IPs'],
        ],
    ],
    [
        'title' => 'Testen &amp; Dateien',
        'items' => [
            ['href' => 'tools/testmail.php', 'label' => 'SMTP-Test (manuell)'],
            ['href' => 'tools/test_smtp_rotation.php', 'label' => 'SMTP-Rotation testen'],
            ['href' => 'tools/pdf_list.php', 'label' => 'PDFs anzeigen'],
            ['href' => 'tools/pdf_upload.php', 'label' => 'Neues PDF hochladen'],
            ['href' => 'tools/pdf_stats.php', 'label' => 'PDF-Statistik'],
        ],
    ],
];

if ($memberModuleEnabled) {
    $adminSections[] = [
        'title' => 'Mitgliederbereich',
        'items' => [
            ['href' => '../member/login.php', 'label' => 'Mitgliederbereich &ouml;ffnen'],
            ['href' => 'empfaenger/empfaenger.php', 'label' => 'Mitglieder-Zug&auml;nge an Empf&auml;ngern verwalten'],
        ],
    ];
}

ob_start();
?>

<div class="page-header">
  Admin &raquo; Einstellungen
</div>

<div class="page-content">
  <?= renderSystemStatusPanel($setupStatus, $sendProtection) ?>

  <div class="admin-overview-grid">
    <?php foreach ($adminSections as $section): ?>
      <section class="card admin-overview-card">
        <div class="card-header admin-overview-card-header"><?= $section['title'] ?></div>
        <div class="card-body">
          <ul class="admin-overview-links list-unstyled mb-0">
            <?php foreach ($section['items'] as $item): ?>
              <li>
                <a href="<?= htmlspecialchars((string) $item['href'], ENT_QUOTES, 'UTF-8') ?>" class="text-decoration-none">
                  <?= $item['label'] ?>
                </a>
              </li>
            <?php endforeach; ?>
          </ul>
        </div>
      </section>
    <?php endforeach; ?>
  </div>
</div>

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