* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** \file htdocs/includes/menus/barre_left/rodolphe.php \brief Gestionnaire par défaut du menu de gauche \version $Id$ \remarks La construction d'un gestionnaire pour le menu de gauche est simple: \remarks A l'aide d'un objet $newmenu=new Menu() et des méthode add et add_submenu, \remarks définir la liste des entrées menu à faire apparaitre. \remarks En fin de code, mettre la ligne $menu=$newmenu->liste. \remarks Ce qui est définir dans un tel gestionnaire sera alors prioritaire sur \remarks les définitions de menu des fichiers pre.inc.php */ /** \class MenuLeft \brief Classe permettant la gestion par défaut du menu du gauche \remarks Le gestionnaire par defaut ne fait rien: C'est donc le menu défini dans les \remarks fichiers pre.inc.php du répertoire de la page qui est utilisé. */ class MenuLeft { var $require_top=array(""); // Si doit etre en phase avec un gestionnaire de menu du haut particulier /** * \brief Constructeur * \param db Handler d'accès base de donnée * \param menu_array Tableau des entrée de menu défini dans les fichier pre.inc.php */ function MenuLeft($db,&$menu_array) { $this->db=$db; $this->menu_array=$menu_array; } /** * \brief Affiche le menu */ function showmenu() { global $user, $conf, $langs, $dolibarr_main_db_name; if (! session_id()) { session_name("DOLSESSID_".$dolibarr_main_db_name); session_start(); } // On récupère mainmenu et leftmenu qui définissent le menu à afficher if (isset($_GET["mainmenu"])) { // On sauve en session le menu principal choisi $mainmenu=$_GET["mainmenu"]; $_SESSION["mainmenu"]=$mainmenu; $_SESSION["leftmenuopened"]=""; } else { // On va le chercher en session si non défini par le lien $mainmenu=$_SESSION["mainmenu"]; } if (isset($_GET["leftmenu"])) { // On sauve en session le menu principal choisi $leftmenu=$_GET["leftmenu"]; $_SESSION["leftmenu"]=$leftmenu; if ($_SESSION["leftmenuopened"]==$leftmenu) { //$leftmenu=""; $_SESSION["leftmenuopened"]=""; } else { $_SESSION["leftmenuopened"]=$leftmenu; } } else { // On va le chercher en session si non défini par le lien $leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:''; } $newmenu = new Menu(); if ($mainmenu) { require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); $this->menuArbo = new Menubase($this->db,'rodolphe','left'); $this->overwritemenufor = $this->menuArbo->listeMainmenu(); $newmenu = $this->menuArbo->menuLeftCharger($newmenu,$mainmenu,$leftmenu,0,'eldy'); /* * Menu AUTRES (Pour les menus du haut qui ne serait pas gérés) */ if ($mainmenu && ! in_array($mainmenu,$this->overwritemenufor)) { $mainmenu=""; } } /** * Si on est sur un cas géré de surcharge du menu, on ecrase celui par defaut */ if ($mainmenu) { $this->menu_array=$newmenu->liste; } // Affichage du menu $alt=0; if (! sizeof($this->menu_array)) { print '
'; } else { $contenu = 0; for ($i = 0 ; $i < sizeof($this->menu_array) ; $i++) { $alt++; if ($this->menu_array[$i]['level']==0) { if (($alt%2==0)) { print '