<?php // génération du menu pour les pages de documentation function genmenudoc ($page_cour) { // chemin d'accès au fichier contenant le menu $ficmenu = DIR_MENUS."/menu-doc"; // 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éparer le nom du script php du nom du lien à afficher // ou l'indicateur en début de ligne du texte à afficher $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 caractères gras agrandis echo '<font style="font-size:120%"><b>'.$suite."</b></font>"; break; case "#" : // ligne à afficher en caractères gras echo "<b>".$suite."</b>"; break; case $page_cour : // page courante affichée en orange echo '<font color="#ff8000">'.$suite."</font>"; break; // lien php default : // si lien vers un script php if (strpos ($debut, ".php")) // l'afficher tel quel echo '<a href="'.$debut.'">'.$suite."</a>"; // sinon else // afficher la page de documentation demandée echo '<a href="voir.php?page='.$debut.'">'.$suite."</a>"; } } // 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 ".basename ($ficmenu)." manquant"; } ?>