From 49380ee56a073ca110250b6a165a17907faf0cbf Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 16 Jan 2005 15:52:04 +0000 Subject: [PATCH] Qual: Evolution du code des gestionnaires de menu pour qu'ils fonctionnent sous forme de classes. --- htdocs/includes/menus/barre_left/default.php | 61 +++++++++++++++++++- htdocs/includes/menus/barre_left/eldy.php | 6 +- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/htdocs/includes/menus/barre_left/default.php b/htdocs/includes/menus/barre_left/default.php index 7a71b65768e..b3197bd6459 100644 --- a/htdocs/includes/menus/barre_left/default.php +++ b/htdocs/includes/menus/barre_left/default.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2005 Laurent Destailleur * * 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 @@ -24,11 +24,66 @@ \file htdocs/includes/menus/barre_left/default.php \brief Gestionnaire par défaut du menu de gauche \version $Revision$ + + \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 */ -// Le gestionnaire par defaut ne fait rien: C'est donc le menu défini dans les -// fichiers pre.inc.php du répertoire de la page qui sont utilisés. +/** \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 + */ + function MenuLeft($db,&$menu_array) + { + $this->db=$db; + $this->menu_array=$menu_array; + } + + + /** + * \brief Affiche le menu + */ + function showmenu() + { + global $user, $conf, $langs; + + for ($i = 0 ; $i < sizeof($this->menu_array) ; $i++) + { + if (($i%2==0)) + { + print '
'."\n"; + } + else + { + print '
'."\n"; + } + print ''.$this->menu_array[$i][1].'
'; + + for ($j = 2 ; $j < sizeof($this->menu_array[$i]) - 1 ; $j = $j +2) + { + print ''.$this->menu_array[$i][$j+1].'
'; + } + print '
'; + } + + } + +} ?> diff --git a/htdocs/includes/menus/barre_left/eldy.php b/htdocs/includes/menus/barre_left/eldy.php index 4a87916d03a..8678b81f6ba 100644 --- a/htdocs/includes/menus/barre_left/eldy.php +++ b/htdocs/includes/menus/barre_left/eldy.php @@ -20,8 +20,7 @@ * */ -/** - \file htdocs/includes/menus/barre_left/eldy.php +/** \file htdocs/includes/menus/barre_left/eldy.php \brief Gestionnaire du menu du gauche Eldy \version $Revision$ @@ -44,7 +43,8 @@ class MenuLeft { /** * \brief Constructeur - * \param db Handler d'accès base de donnée + * \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) {