<?php
require_once dirname(__DIR__) . '/inc/auth.php';
require_once __DIR__ . '/_layout.php';
$db = db();

$flash = ''; $erreur = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && csrf_check($_POST['csrf'] ?? null)) {
    $act = $_POST['act'] ?? '';
    $emails = contact_emails();

    if ($act === 'ajouter') {
        $new = trim((string)($_POST['email'] ?? ''));
        if (!filter_var($new, FILTER_VALIDATE_EMAIL)) {
            $erreur = "Adresse e-mail invalide.";
        } elseif (in_array(strtolower($new), array_map('strtolower', $emails), true)) {
            $erreur = "Cette adresse est déjà dans la liste.";
        } else {
            $emails[] = $new;
            reglage_set('contact_emails', json_encode(array_values($emails)));
            $flash = "Destinataire ajouté : $new";
        }
    } elseif ($act === 'supprimer') {
        $del = trim((string)($_POST['email'] ?? ''));
        $reste = array_values(array_filter($emails, fn($m) => strtolower($m) !== strtolower($del)));
        if (!$reste) {
            $erreur = "Impossible de supprimer le dernier destinataire : il doit en rester au moins un.";
        } else {
            reglage_set('contact_emails', json_encode($reste));
            $flash = "Destinataire supprimé : $del";
        }
    } elseif ($act === 'replyto') {
        $rt = trim((string)($_POST['reply_to'] ?? ''));
        if (!filter_var($rt, FILTER_VALIDATE_EMAIL)) {
            $erreur = "Adresse de réponse invalide.";
        } else {
            reglage_set('contact_reply_to', $rt);
            $flash = "Adresse de réponse mise à jour.";
        }
    }
}

$emails  = contact_emails();
$replyTo = contact_reply_to();

layout_start('Réglages e-mail', 'reglages');
$tok = csrf_token();
?>
<?php if ($flash): ?><div class="panel" style="border-left:3px solid var(--ok)"><?= e($flash) ?></div><?php endif; ?>
<?php if ($erreur): ?><div class="panel" style="border-left:3px solid var(--err)"><?= e($erreur) ?></div><?php endif; ?>

<div class="panel">
  <h2>Destinataires des notifications</h2>
  <p style="color:var(--ink2);margin-bottom:1.2rem">
    Ces adresses reçoivent un e-mail à chaque <b>message du formulaire de contact</b> et à chaque
    <b>nouveau témoignage à modérer</b>. Vous pouvez en ajouter ou en retirer librement
    (au moins une adresse doit rester).
  </p>

  <table style="width:100%;border-collapse:collapse;margin-bottom:1.2rem">
    <?php foreach ($emails as $em): ?>
    <tr style="border-bottom:1px solid var(--line)">
      <td style="padding:.6rem 0;font-size:.95rem"><?= e($em) ?></td>
      <td style="padding:.6rem 0;text-align:right">
        <?php if (count($emails) > 1): ?>
        <form method="post" style="display:inline" onsubmit="return confirm('Retirer <?= e($em) ?> des destinataires ?');">
          <input type="hidden" name="csrf" value="<?= e($tok) ?>">
          <input type="hidden" name="act" value="supprimer">
          <input type="hidden" name="email" value="<?= e($em) ?>">
          <button type="submit" class="btn r sm">Supprimer</button>
        </form>
        <?php else: ?>
        <span style="color:var(--ink2);font-size:.82rem">dernier destinataire</span>
        <?php endif; ?>
      </td>
    </tr>
    <?php endforeach; ?>
  </table>

  <form method="post" style="display:flex;gap:.6rem;align-items:center;flex-wrap:wrap">
    <input type="hidden" name="csrf" value="<?= e($tok) ?>">
    <input type="hidden" name="act" value="ajouter">
    <input type="email" name="email" placeholder="nouvelle.adresse@exemple.fr" required
           style="flex:1;min-width:240px;padding:.6rem;border:1px solid var(--line);border-radius:5px;font-size:.95rem">
    <button type="submit" class="btn j">Ajouter ce destinataire</button>
  </form>
</div>

<div class="panel">
  <h2>Adresse de réponse (Reply-To)</h2>
  <p style="color:var(--ink2);margin-bottom:1.2rem">
    Adresse utilisée comme « répondre à » dans les e-mails de confirmation automatiques
    envoyés aux visiteurs. Les e-mails partent techniquement depuis
    <b><?= e(CONTACT_FROM) ?></b>, mais une réponse du visiteur arrivera sur cette adresse.
  </p>
  <form method="post" style="display:flex;gap:.6rem;align-items:center;flex-wrap:wrap">
    <input type="hidden" name="csrf" value="<?= e($tok) ?>">
    <input type="hidden" name="act" value="replyto">
    <input type="email" name="reply_to" value="<?= e($replyTo) ?>" required
           style="flex:1;min-width:240px;padding:.6rem;border:1px solid var(--line);border-radius:5px;font-size:.95rem">
    <button type="submit" class="btn">Enregistrer</button>
  </form>
</div>
<?php
layout_end();
