<?php // constantes numériques require ("constantes.php"); // fonctions d'affichage de portions de pages HTML require ("acces_page.php"); // affichage du code source d'un fichier require ("affsource.php"); // génération du menu en colonne de gauche require ("genmenudoc.php"); // Début du programme principal // si un nom de page a été passé en paramètre if (isset ($_GET ['page'])) // le récupérer $page = strtolower ($_GET ['page']); // sinon else // page d'accueil par défaut $page = "accueil"; // fabriquer nom et le le chemin d'accès à la page à afficher $ficpage = DIR_PAGEDOC."/".$page.".html"; // si la page cherchée n'existe pas if (! file_exists ($ficpage)) // choisir la page d'erreur en remplacement $ficpage = DIR_PAGEDOC."/manque_page.html"; // ouvrir le ficher contenant la page à afficher $descfic = fopen ($ficpage, "r"); // si l'ouverture s'est bien passée if ($descfic) { if (basename ($ficpage) == $page.".html") // recopier le début de l'entête html en remplaçant noindex par index copmaj ($descfic, "noindex,", "index,"); // sinon else { // recopier la page en mettant à jour le nom du fichier manquant copmaj ($descfic, "XXXFICHIER", $page); copmaj ($descfic, "XXXFICHIER", $page); } // lire la ligne qui suit $ligne = fgets ($descfic, LG_MAX_HTML); // tant qu'on n'arrive pas au menu (ni fin de fichier) while ($ligne && strpos ($ligne, "XXXMENU") == 0) { // si la ligne contient une directive d'exécution if ($ligne [0] == "!") { // séparer l'action à réaliser du fichier concerné $posblanc = strpos ($ligne, " "); $action = substr ($ligne, 1, $posblanc - 1); $fichier = trim (substr ($ligne, $posblanc)); // si l'action demandée fait partie des actions prévues if ($action == "vsource" || $action == "affiche") { // préparer l'affichage du fichier echo ' <font style="font-size:90%">'; echo "\n <pre>\n"; // l'afficher de la manière appropriée if ($action == "vsource") affsource ($fichier); else readfile ($fichier); // fin de l'affichage echo " </pre>\n </font>\n"; } // sinon else // message d'erreur echo ' <font color="#ff0000">Action '.$action." inconnue</font><br>\n"; } // sinon (cas général) else // afficher la ligne echo $ligne; // lire la ligne suivante $ligne = fgets ($descfic, LG_MAX_HTML); } // générer le menu genmenudoc ($page); // copier la fin de la page html copie_jusque_fin ($descfic); // terminé avec le fichier html fclose ($descfic); } // sinon message d'erreur else echo "Page ".$page." manquante"; ?>