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

if ($_SERVER['REQUEST_METHOD']==='POST' && csrf_check($_POST['csrf']??null)) {
    $act = $_POST['act'] ?? '';
    if ($act==='ajouter') {
        $nom = trim($_POST['nom'] ?? '');
        $type = $_POST['type'] ?? 'article';
        if ($nom) {
            $base = slugify($nom); $slug=$base; $n=2;
            while(true){ $c=$db->prepare('SELECT 1 FROM categories WHERE slug=?'); $c->execute([$slug]); if(!$c->fetchColumn()) break; $slug=$base.'-'.$n++; }
            $db->prepare('INSERT INTO categories (nom,slug,type) VALUES (?,?,?)')->execute([$nom,$slug,$type]);
            $flash='Catégorie ajoutée.';
        }
    } elseif ($act==='renommer') {
        $id=(int)$_POST['id']; $nom=trim($_POST['nom']??'');
        if($id && $nom){ $db->prepare('UPDATE categories SET nom=? WHERE id=?')->execute([$nom,$id]); $flash='Catégorie renommée.'; }
    } elseif ($act==='supprimer') {
        $id=(int)$_POST['id'];
        $db->prepare('DELETE FROM categories WHERE id=?')->execute([$id]);
        $flash='Catégorie supprimée.';
    }
}

$cats = $db->query("SELECT c.*, 
    (SELECT COUNT(*) FROM temoignages t WHERE t.type_soin_id=c.id) AS nb_tem,
    (SELECT COUNT(*) FROM articles a WHERE a.categorie_id=c.id) AS nb_art
    FROM categories c ORDER BY c.type, c.nom")->fetchAll();

layout_start('Catégories', 'categories');
$tok=csrf_token();
?>
<?php if($flash): ?><div class="panel" style="border-left:3px solid var(--ok)"><?= e($flash) ?></div><?php endif; ?>

<div class="panel">
  <h2>Ajouter une catégorie</h2>
  <form method="post" style="display:flex;gap:.6rem;flex-wrap:wrap;align-items:center">
    <input type="hidden" name="csrf" value="<?= e($tok) ?>">
    <input type="text" name="nom" placeholder="Nom de la catégorie" required style="flex:1;min-width:200px;padding:.6rem;border:1px solid var(--line);border-radius:5px">
    <select name="type" style="padding:.6rem;border:1px solid var(--line);border-radius:5px">
      <option value="type_de_soins">Type de soin (témoignages)</option>
      <option value="article">Article</option>
      <option value="etude">Étude de cas</option>
    </select>
    <button class="btn" name="act" value="ajouter">Ajouter</button>
  </form>
</div>

<div class="panel">
  <h2>Catégories existantes</h2>
  <table>
    <tr><th>Nom</th><th>Type</th><th>Utilisée</th><th style="text-align:right">Actions</th></tr>
    <?php foreach($cats as $c): ?>
      <tr>
        <td><?= e($c['nom']) ?></td>
        <td style="color:var(--ink2);font-size:.85rem"><?= e($c['type']) ?></td>
        <td style="color:var(--ink2);font-size:.85rem"><?= (int)$c['nb_tem'] ?> tém. · <?= (int)$c['nb_art'] ?> art.</td>
        <td style="text-align:right;white-space:nowrap">
          <form method="post" style="display:inline">
            <input type="hidden" name="csrf" value="<?= e($tok) ?>"><input type="hidden" name="id" value="<?= (int)$c['id'] ?>">
            <input type="text" name="nom" value="<?= e($c['nom']) ?>" style="padding:.3rem;border:1px solid var(--line);border-radius:4px;font-size:.82rem;width:140px">
            <button class="btn ghost sm" name="act" value="renommer">Renommer</button>
            <button class="btn r sm" name="act" value="supprimer" onclick="return confirm('Supprimer cette catégorie ? Les contenus liés ne seront pas supprimés mais perdront ce classement.')">Suppr.</button>
          </form>
        </td>
      </tr>
    <?php endforeach; ?>
  </table>
</div>
<?php layout_end(); ?>
