<?php // génération du menu de gauche pour les fichiers source du site function genmenusrc ($fichier, $menu) { // sélection du type de menu en fonction de son numéro switch ($menu) { case 1 : $typemenu = "src-php"; break; case 2 : $typemenu = "src-html"; break; case 3 : $typemenu = "src-c"; break; default: $typemenu = "srcdoc"; } // chemin d'accès au fichier contenant le menu $ficmenu = DIR_MENUS."/menu-".$typemenu; // générer une première ligne du menu appropriée if ($menu > 0) { echo ' <a href="voir.php?page=sources">'; echo "Code source des fichiers du site</a><br>\n"; } else { echo ' <a href="voir.php?page=sourcedoc">'; echo "Code source de la documentation du site</a><br>\n"; } // ligne blanche dans le menu echo " <br>\n"; // 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) { // pour l'indentation echo " "; // supprimer le passage à la ligne $ligne = trim ($ligne); // si ligne non vide if ($ligne) { // traitement différencié en fonction du premier caractère de la ligne switch ($ligne [0]) { case "#" : // ligne à afficher en caractères gras echo "<b>".substr ($ligne, strpos ($ligne, " "))."</b>"; break; case ">" : // nouveau menu $menulien = $ligne [1]; // essayer de trouver le fichier correspondant dans l'autre menu if ($menulien == 1 && strpos ($fichier, ".html")) $fichlien = str_replace (".html", ".php", basename ($fichier)); else if ($menulien == 2 && strpos ($fichier, ".php")) $fichlien = DIR_PAGES."/".str_replace (".php", ".html", $fichier); // si ce fichier n'existe pas if (! file_exists ($fichlien)) // on garde le précédent $fichlien = $fichier; // afficher la page avec un autre menu $lien = "voirsource.php?page=".$fichlien."&menu=".$menulien; $nomlien = trim (substr ($ligne, 3)); // générer une ligne avec l'appel du lien echo '<b><a href="'.$lien.'">'.$nomlien."</a></b>"; break; default : // lien php // nom du fichier à afficher $nomlien = basename ($ligne); // si ce n'est pas celui de la page courante if ($nomlien != basename ($fichier)) { // on affichera le code source du fichier $lien = "voirsource.php?page=".$ligne."&menu=".$menu; // générer une ligne avec l'appel du lien echo '<a href="'.$lien.'">'.$nomlien."</a>"; } // sinon else // générer le nom du lien dans une autre couleur echo '<font color="#ff8000">'.$nomlien."</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 ".basename ($ficmenu)." manquant"; } ?>