array( indice_nom_section_dans_$cfgNom[] , adresse_du_lien ) * * Les identifiants des liens sont stockés dans le fichier de configuration pour * mémoriser l'état du menu. */ 'accueil' => array(0, 'index.php'), 'forum' => array(1, 'forum/'), 'telechargement' => array(2, 'telechargement.php'), 'nouvelles' => array(3, 'nouvelles.php'), 'screenshot' => array(4, 'screenshot.php'), 'documentation' => array(5, 'docs/') ); /* * Renvoie le nombre maximum de liens affichables dans le menu */ function nombre_liens_menu_max () { global $objetsLiensBarreMenu, $cfgNPagesCentralesMax; return count($objetsLiensBarreMenu) + $cfgNPagesCentralesMax; } /* * Renvoie la taille minimale du tableau pouvant contenir tous les liens * affichables ou le tableau $identifiants spécifié */ function taille_liens_menu_min (&$identifiants) { // Recherche du dernier élément non vide $i = count($identifiants) - 1; while ($i >= 0 && $identifiants[$i] == '') { $i--; } return max(nombre_liens_menu_max(), $i + 1); } /* * Renvoie la liste de liens permettant de peupler une boite à liste déroulante * de sélection des liens à afficher dans la barre de menu. * * Chaque élément du tableau renvoyé est de la forme : * * Clé: Identifiant du lien => Valeur: Nom affichable du lien */ function liste_deroulante_liens_menu () { global $objetsLiensBarreMenu, $cfgNom; global $cfgNPagesCentralesMax, $cfgNomPageCentrale; /* Premier élément vide (pas de lien) */ $liens = array ('' => ''); foreach ($objetsLiensBarreMenu as $idLien => $objetLien) { $liens[$idLien] = $cfgNom[$objetLien[0]]; /* Insère les liens sur les pages centrales après la page d'accueil */ if ($idLien == 'accueil') { /* Liens sur les pages centrales */ for ($i = 0; $i < $cfgNPagesCentralesMax; $i++) { $liens['page_'.($i+1)] = $cfgNomPageCentrale[$i]; } } } return $liens; } ?>