Code source du fichier genmenucsv.php

<?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";
    }
?>