L'accès en lecture $source a échoué"; exit;} ; $fw=fopen ($tmpfile,"w"); if (!$fw) {echo "

Pas d'accès en écriture dans ce répertoire

"; exit;} ; // recopie début fichier while (!feof($fr)) { $line = fgets($fr, 4096); if (ereg(makeMenu, $line)) break; fputs($fw, $line); } fclose($fr); // calcul du nouveau menu suivant structure site $num = 0; $heigh =0; // création item accueil fputs ($fw, "oCMenu.makeMenu('m".$num++."', '', 'Accueil', 'sommaire.php3')"."\n"); $heigh = $heigh +20; // tableau qui fait correspondre à chaque id_rubrique son numéro de menu $menu = array(); fputs ($fw, "oCMenu.makeMenu('m".$num."', '', '#TITRE', '#URL_RUBRIQUE')\n"); $menu[#ID_RUBRIQUE] = $num++; $heigh = $heigh +20; // parent est trouvé dans la derniere itération de la boucle hierarchie $parent=$menu[#ID_RUBRIQUE]; fputs ($fw, "oCMenu.makeMenu('m".$num."', 'm".$parent."', '#TITRE', '#URL_RUBRIQUE')\n"); $menu[#ID_RUBRIQUE] = $num++; // Création des items de fin de menu fputs ($fw, "oCMenu.makeMenu('m".$num++."', '', 'Le site', 'ecrire')"."\n"); $heigh = $heigh +20; $parent = $num-1; fputs ($fw, "oCMenu.makeMenu('m".$num++."', 'm".$parent."', 'Articles par visite', 'visites.php3')"."\n"); fputs ($fw, "oCMenu.makeMenu('m".$num++."', 'm".$parent."', 'Articles par popularité', 'resume.php3')"."\n"); fputs ($fw, "oCMenu.makeMenu('m".$num++."', 'm".$parent."', 'Auteurs', 'auteurs.php3')"."\n"); fputs ($fw, "oCMenu.makeMenu('m".$num++."', 'm".$parent."', 'Administration', 'ecrire')"."\n"); // Plan de site fputs ($fw, "oCMenu.makeMenu('m".$num++."', '', 'Plan du site', 'plan.php3')"."\n"); $heigh = $heigh +20; $heigh = $heigh +40; // Epilogue fputs ($fw, "oCMenu.construct()"); // renommage fichier fclose($fw); if (!unlink($source)) {echo "

L'accès en écriture $source a échoué

"; exit;} ; rename ($tmpfile,$source); echo "

$source recalculé

"; // Modification du fichier menu.css pour adapter hauteur Menu $heigh // on utilise un fichier temporaire $source = "menu.css"; $fw=fopen ($tmpfile,"w"); if (!$fw) {echo "

L'accès en écriture $tmpfile a échoué

"; exit;} ; // Copie en-tete du fichier CSS $fr=fopen($source,"r"); if (!$fr) {echo "

L'accès en lecture $source a échoué

"; exit;} ; while (!feof($fr)) { $line = fgets($fr, 4096); if (ereg("hauteur menu - calcule automatiquement", $line)) { $line = " padding-bottom: ".$heigh."px; /* hauteur menu - calcule automatiquement */\n"; } fputs($fw, $line); } fclose($fr); fclose($fw); if (!unlink($source)) {echo "

L'accès en écriture $source a échoué

"; exit;} ; rename ($tmpfile,$source); echo "

$source recalculé

"; ?>