<?php // génération du menu pour les fichiers csv (locaux ou de référence) function genmenucsv ($menu, $page_cour) { // récupérer le nom du script qui permet d'afficher // la page et rajouter le paramètre de la méthode get $script = basename ($_SERVER ['SCRIPT_NAME'])."?fich="; // chemin d'accès au fichier contenant le menu $ficmenu = DIR_MENUS."/".$menu; // ouvrir le fichier contenant le menu $descmenu = fopen ($ficmenu, "r"); // si l'ouverture s'est bien passée if ($descmenu) { // lire la première ligne du menu $ligne = fgets ($descmenu, LG_MAX_HTML); // tant qu'on a pu lire une ligne while ($ligne) { // supprimer le retour à la ligne $ligne = trim ($ligne); // pour l'indentation echo " "; // si la ligne n'est pas vide if ($ligne) { // rechercher le premier espace dans la ligne $posblanc = strpos ($ligne, " "); // s'il existe if ($posblanc) { // ce n'est pas une ligne de lien vers un fichier csv // séparer le premier paramètre de la ligne de la suite $debut = substr ($ligne, 0, $posblanc); $suite = trim (substr ($ligne, $posblanc)); // traitement différencié en fonction du premier paramètre switch ($debut) { case "##" : // ligne à afficher en plus gros caractères et en gras echo '<font style="font-size:120%"><b>'.$suite."</b></font>"; break; case "#" : // ligne à afficher en caractères gras echo "<b>".$suite."</b>"; break; default : // lien php echo '<a href="'.$debut.'">'.$suite."</a>"; } } // sinon la ligne concerne un fichier csv (local ou de référence) else { // si ce n'est pas celui de la page courante if ($ligne != $page_cour) // générer une ligne avec l'appel du lien echo '<a href="'.$script.$ligne.'">'.$ligne."</a>"; // sinon else // générer le nom du lien dans une autre couleur echo '<font color="#ff8000">'.$ligne."</font>"; } } // passage à la ligne echo "<br>\n"; // lire la ligne suivante du menu $ligne = fgets ($descmenu, LG_MAX_HTML); } // terminé avec le fichier contenant le menu fclose ($descmenu); } // sinon else // message d'erreur echo "Fichier ".$menu." manquant"; } ?>