<?php
// Peut être inclus après ou avant l'établissement de la connexion compagnie.
// On inclut la connexion uniquement si non déjà faite pour obtenir $conn (mysqli) ou $pdo (PDO).
if (!isset($conn) && !isset($pdo)) {
    @include __DIR__.'/../config/connexion.php';
}

function getPageTitle($conn = null, $pdo = null): string {
    $current_page = basename($_SERVER['PHP_SELF']);
    
    // Debug: décommenter pour voir quelle page est recherchée
    error_log("title.php - Recherche du titre pour: " . $current_page);
    error_log("title.php - Lien complet PHP_SELF: " . $_SERVER['PHP_SELF']);
    error_log("title.php - Connexion disponible: " . ($conn ? 'OUI (mysqli)' : ($pdo ? 'OUI (PDO)' : 'NON')));
    
    // Si pas de connexion disponible, retourner chaîne vide (pas d'erreur fatale avant login)
    if (!$conn && !$pdo) {
        error_log("title.php - PAS DE CONNEXION!");
        return '';
    }
    $title = '';
    try {
        if ($conn instanceof mysqli) { // MySQLi
            // Vérifier quelle base de données est utilisée
            $current_db_result = $conn->query("SELECT DATABASE() as db_name");
            if ($current_db_result) {
                $db_row = $current_db_result->fetch_assoc();
                error_log("title.php - Base de données actuelle: " . ($db_row['db_name'] ?? 'UNKNOWN'));
            }
            
            error_log("title.php - Tentative de requête MySQLi");
            if ($stmt = $conn->prepare("SELECT title, link FROM menu_items WHERE link = ? LIMIT 1")) {
                $stmt->bind_param('s', $current_page);
                if ($stmt->execute()) {
                    $res = $stmt->get_result();
                    if ($res && ($row = $res->fetch_assoc())) { 
                        error_log("title.php - Row trouvé: " . json_encode($row));
                        $title = $row['title']; 
                    } else {
                        error_log("title.php - Aucune ligne trouvée pour: " . $current_page);
                        // Essayer sans l'extension .php
                        $current_page_no_ext = str_replace('.php', '', $current_page);
                        error_log("title.php - Tentative sans extension: " . $current_page_no_ext);
                    }
                }
                $stmt->close();
            } else {
                error_log("title.php - Erreur prepare: " . $conn->error);
            }
        } elseif ($pdo instanceof PDO) { // PDO
            $st = $pdo->prepare("SELECT title, link FROM menu_items WHERE link = ? LIMIT 1");
            $st->execute([$current_page]);
            if ($row = $st->fetch(PDO::FETCH_ASSOC)) { 
                error_log("title.php - Row trouvé: " . json_encode($row));
                $title = $row['title']; 
            }
        }
    } catch (Throwable $e) {
        // Silencieux: ne pas interrompre l'affichage (optionnel: log)
        error_log("title.php - Erreur: " . $e->getMessage());
    }
    
    // Debug: décommenter pour voir le résultat
    error_log("title.php - Titre trouvé: " . ($title ?: 'VIDE'));
    
    // Si aucun titre trouvé, générer un titre par défaut depuis le nom du fichier
    if (empty($title)) {
        $title = ucwords(str_replace(['_', '.php'], [' ', ''], $current_page));
    }
    
    return $title;
}

// Accéder aux variables globales $conn et $pdo si elles existent
global $conn, $pdo;

// Récupérer les connexions depuis le scope global si disponibles
$page_title = getPageTitle($conn ?? null, $pdo ?? null);

// Debug final
echo "<!-- RESULTAT FINAL page_title: " . htmlspecialchars($page_title) . " -->";
?>
