<?php
require_once __DIR__ . '/inc/template.php';
require_once __DIR__ . '/inc/data.php';

page_active('temoignages');
page_title('Proposer mon témoignage');
page_desc('Partagez votre expérience de soin au cabinet de Tuina à Caen. Votre témoignage sera lu avant publication.');

$types = types_de_soins();
$envoye = false; $err = '';

if ($_SERVER['REQUEST_METHOD']==='POST') {
    $nom = trim($_POST['nom'] ?? '');
    $email = trim($_POST['email'] ?? '');
    $contenu = trim($_POST['contenu'] ?? '');
    $typeSoin = trim($_POST['type_soin'] ?? '');
    $hp = trim($_POST['site'] ?? ''); // honeypot anti-spam

    $consent = !empty($_POST['consent']);
    if ($hp !== '') {
        $envoye = true; // piège à robots : on fait comme si c'était envoyé
    } elseif (!$consent) {
        $err = "Merci de cocher la case d'autorisation de publication.";
    } elseif ($contenu && mb_strlen($contenu) >= 10) {
        try {
            $st = db()->prepare('INSERT INTO temoignages_en_attente (nom,email,contenu,type_soin,ip) VALUES (?,?,?,?,?)');
            $st->execute([$nom,$email,$contenu,$typeSoin,$_SERVER['REMOTE_ADDR']??'']);
            // Notification interne (le témoignage est déjà enregistré : rien perdu si l'envoi échoue)
            envoyer_notif_temoignage($nom, $email, $contenu, $typeSoin);
            // Accusé de réception au visiteur, uniquement s'il a laissé un e-mail valide
            if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
                envoyer_confirmation_visiteur($email, $nom, 'temoignage');
            }
            $envoye = true;
        } catch (Exception $e) { $err = "Une erreur est survenue, merci de réessayer."; }
    } else {
        $err = "Merci d'écrire votre témoignage (au moins quelques mots).";
    }
}

ob_start();
?>
<section class="page-hero">
  <div class="grain"></div>
  <?php hero_image('hero.proposer'); ?>
  <div class="wrap">
    <?= fil_ariane([['Témoignages', '/temoignages/'], ['Proposer mon témoignage', null]]) ?>
    <div class="kick tag">Votre expérience</div>
    <?php zone_texte('hero.proposer.titre', '<h1 class="cor">Proposer mon témoignage</h1>'); ?>
    <?php zone_texte('hero.proposer.lead', '<p class="lead">Vous avez été soigné au cabinet ? Partagez votre expérience. Chaque témoignage est lu avant d\'être publié.</p>'); ?>
  </div>
</section>

<?php section_ouvrir('proposer-temoignage.1','wrap prose'); ?>
  <?php if ($envoye): ?>
    <div class="cf-ok">
      <h2 class="cor" style="margin-bottom:.5rem">Merci pour votre témoignage</h2>
      <p>Il a bien été transmis et sera lu avant publication. Nous vous remercions de votre confiance.</p>
      <p style="margin-top:1rem"><a class="btn btn-blue" href="/temoignages/">Voir les témoignages</a></p>
    </div>
  <?php else: ?>
    <?php if ($err): ?><div class="cf-err"><?= e($err) ?></div><?php endif; ?>
    <form method="post" class="form">
      <label>Votre nom ou initiales <span class="opt">(facultatif)</span>
        <input type="text" name="nom" value="<?= e($_POST['nom']??'') ?>" placeholder="Ex. : J.T (Québec)">
      </label>
      <label>Votre e-mail <span class="opt">(facultatif, ne sera pas publié)</span>
        <input type="email" name="email" value="<?= e($_POST['email']??'') ?>">
      </label>
      <label>Votre témoignage
        <textarea name="contenu" rows="7" required placeholder="Racontez votre expérience…"><?= e($_POST['contenu']??'') ?></textarea>
      </label>
      <input type="text" name="site" class="hp" tabindex="-1" autocomplete="off" aria-hidden="true">
      <label class="consent"><input type="checkbox" name="consent" value="1" required> J'autorise la publication de mon témoignage sur le site (anonymisé selon le nom ou les initiales que j'ai indiqués) et j'ai pris connaissance de la <a href="/rgpd.php" target="_blank" rel="noopener">politique de confidentialité</a>.</label>
      <button type="submit" class="btn btn-blue">Envoyer mon témoignage</button>
      <p class="note">Votre témoignage n'est jamais publié automatiquement : il est d'abord lu par le praticien.</p>
    </form>
  <?php endif; ?>
<?php section_fermer(); ?>
<?php
render_page(ob_get_clean());
