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