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