<?php
/* Liste des actualités — variables fournies par le routeur : $titre.
   Pagination via ?page=N (9 actualités publiées par page, plus récentes d'abord).
   Toute valeur de page hors bornes (absente, 0, négative ou non numérique) retombe
   silencieusement sur la page 1, comme les filtres GET du back-office (Tâche 10). */
$parPage = 9;
$pageBrute = is_string($_GET['page'] ?? null) ? $_GET['page'] : '1';
$page = filter_var($pageBrute, FILTER_VALIDATE_INT);
if ($page === false || $page < 1) $page = 1;

$total = cms_compter_actualites(db());
$nbPages = max(1, (int)ceil($total / $parPage));
// Revue Task 12 : une page au-delà de la dernière retombe sur la dernière page
// (au lieu d'un état vide sans lien de retour).
if ($page > $nbPages) $page = $nbPages;
$actus = cms_actualites_recentes(db(), $parPage, ($page - 1) * $parPage);
?>

<section class="bandeau-clair">
  <div class="conteneur">
    <div class="section-entete">
      <span class="label-section">Actualités</span>
      <h1>Ça bouge à l'ISIT</h1>
      <p>Toute l'actualité de l'ISIT Korhogo : évènements, résultats et vie du campus.</p>
    </div>
  </div>
</section>

<section class="liste-actualites">
  <div class="conteneur">
    <?php if (!$actus): ?>
      <p class="bandeau-info">Aucune actualité pour le moment.</p>
    <?php else: ?>
      <div class="grille-actualites">
        <?php foreach ($actus as $a): ?>
          <article class="carte carte-actualite">
            <?php if (!empty($a['image'])): ?>
              <div class="cadre-image"><img src="/uploads/actus/<?= htmlspecialchars($a['image']) ?>" alt="<?= htmlspecialchars($a['titre']) ?>" loading="lazy"></div>
            <?php endif; ?>
            <time><?= htmlspecialchars($a['date']) ?></time>
            <h3><?= htmlspecialchars($a['titre']) ?></h3>
            <p><?= htmlspecialchars($a['resume']) ?></p>
            <a class="lien-lire" href="/actualites/<?= (int)$a['id'] ?>">Lire →</a>
          </article>
        <?php endforeach; ?>
      </div>
      <?php if ($nbPages > 1): ?>
        <nav class="pagination" aria-label="Pagination des actualités">
          <?php if ($page > 1): ?>
            <a class="btn-secondaire" href="/actualites?page=<?= (int)($page - 1) ?>">← Précédent</a>
          <?php endif; ?>
          <span class="pagination-etat">Page <?= (int)$page ?> / <?= (int)$nbPages ?></span>
          <?php if ($page < $nbPages): ?>
            <a class="btn-secondaire" href="/actualites?page=<?= (int)($page + 1) ?>">Suivant →</a>
          <?php endif; ?>
        </nav>
      <?php endif; ?>
    <?php endif; ?>
  </div>
</section>
