<?php
require_once 'config.php';
require_once 'auth.php';

ob_start();

// Gestion déconnexion
if (isset($_GET['logout'])) {
    logoutUser();
    header('Location: index.php?page=login');
    exit;
}

// Déterminer la page
$page = isset($_GET['page']) ? $_GET['page'] : 'accueil';
$allowedPages = ['accueil', 'article', 'login', 'admin_articles', 'admin_article_edit', 'admin_categories'];

if (!in_array($page, $allowedPages)) {
    $page = 'accueil';
}

// Traitement login AVANT tout output HTML
if ($page === 'login' && $_SERVER['REQUEST_METHOD'] === 'POST') {
    $login = trim($_POST['login'] ?? '');
    $password = $_POST['password'] ?? '';
    $remember = isset($_POST['remember']);

    if (loginUser($login, $password, $remember)) {
        header('Location: index.php?page=admin_articles');
        exit;
    } else {
        $loginError = 'Login ou mot de passe incorrect.';
    }
}

// Pages admin nécessitant authentification
$adminPages = ['admin_articles', 'admin_article_edit', 'admin_categories'];

if (in_array($page, $adminPages) && !isLoggedIn()) {
    header('Location: index.php?page=login');
    exit;
}

// Si déjà connecté et page login, rediriger vers admin
if ($page === 'login' && isLoggedIn()) {
    header('Location: index.php?page=admin_articles');
    exit;
}

$isAdmin = isLoggedIn();

// Pré-charger le titre de la page pour la balise <title>
$pageTitle = 'Alexandra';
if ($page === 'article') {
    $articleID = isset($_GET['id']) ? (int)$_GET['id'] : 0;
    if ($articleID > 0) {
        $stmtTitle = $pdo->prepare("SELECT titre FROM pa_article WHERE articleID = ? AND statutAffichage = 'publie'");
        $stmtTitle->execute([$articleID]);
        $titreArticle = $stmtTitle->fetchColumn();
        if ($titreArticle) {
            $pageTitle = htmlspecialchars($titreArticle) . ' — Alexandra';
        }
    }
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Le blog d'Alexandra">
    <link rel="icon" type="image/png" href="icons/icon-192.png">
    <link rel="apple-touch-icon" href="icons/icon-180.png">
    <title><?= $pageTitle ?></title>
    <link rel="stylesheet" href="css/style.css?v=<?= ASSET_VERSION ?>">
</head>
<body>
    <header>
        <div class="header-inner">
            <a href="index.php" class="logo">Alexandra</a>
            <nav>
                <a href="?page=accueil" class="<?= $page === 'accueil' ? 'active' : '' ?>">Blog</a>
                <?php if ($isAdmin): ?>
                    <a href="?page=admin_articles" class="<?= $page === 'admin_articles' ? 'active' : '' ?>">Articles</a>
                    <a href="?page=admin_categories" class="<?= $page === 'admin_categories' ? 'active' : '' ?>">Catégories</a>
                    <a href="?logout=1" class="nav-logout">Déconnexion</a>
                <?php endif; ?>
            </nav>
        </div>
    </header>

    <main>
        <?php include "pages/{$page}.php"; ?>
    </main>

    <footer>
        <p>&copy; <?= date('Y') ?> Alexandra &middot; Tous droits réservés
            <?php if (!$isAdmin): ?>
                &middot; <a href="?page=login" class="footer-admin-link">Admin</a>
            <?php endif; ?>
        </p>
    </footer>

    <script src="js/app.js?v=<?= ASSET_VERSION ?>"></script>
</body>
</html>
<?php ob_end_flush(); ?>
