From 72ca88e5a43e7f1afece42d529f3d54bd97d0752 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 16 Jan 2005 15:23:50 +0000 Subject: [PATCH] Qual: Evolution du code des gestionnaires de menu pour qu'ils fonctionnent sous forme de classes. --- htdocs/includes/menus/barre_top/default.php | 286 +++++++++-------- htdocs/includes/menus/barre_top/eldy.php | 320 +++++++++++--------- htdocs/includes/menus/barre_top/esprit.php | 47 ++- htdocs/main.inc.php | 18 +- 4 files changed, 378 insertions(+), 293 deletions(-) diff --git a/htdocs/includes/menus/barre_top/default.php b/htdocs/includes/menus/barre_top/default.php index bea21fa84b7..7308877e4a7 100644 --- a/htdocs/includes/menus/barre_top/default.php +++ b/htdocs/includes/menus/barre_top/default.php @@ -34,144 +34,170 @@ */ -if ($conf->adherent->enabled) -{ - $langs->load("members"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "adherent") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/adherents\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } +/** \class MenuTop + \brief Classe permettant la gestion par défaut du menu du haut +*/ - print ''.$langs->trans("Members").''; -} +class MenuTop { -if ($conf->commercial->enabled) -{ - $langs->load("commercial"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") + var $require_left=array(); // Si doit etre en phase avec un gestionnaire de menu gauche particulier + + /** + * \brief Constructeur + * \param db Handler d'accès base de donnée + */ + function MenuTop($db) { - $class='class="tmenu" id="sel"'; + $this->db=$db; } - elseif (ereg("^".DOL_URL_ROOT."\/comm\/",$_SERVER["PHP_SELF"])) + + + /** + * \brief Affiche le menu + */ + function showmenu() { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - print ''.$langs->trans("Commercial").''; - -} - -if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled) -{ - $langs->load("compta"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Accountancy")."/".$langs->trans("Treasury").''; - -} - -if ($conf->produit->enabled || $conf->service->enabled) -{ - $langs->load("products"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "product") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/product\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - $chaine=""; - if ($conf->produit->enabled) { $chaine.=$langs->trans("Products"); } - if ($conf->produit->enabled && $conf->service->enabled) { $chaine.="/"; } - if ($conf->service->enabled) { $chaine.="Services"; } - - - print ''.$chaine.''; - -} - - -if ($conf->fournisseur->enabled) -{ - $langs->load("suppliers"); + global $conf,$langs; - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "supplier") - { - $class='class="tmenu" id="sel"'; + + if ($conf->adherent->enabled) + { + $langs->load("members"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "adherent") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/adherents\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Members").''; + } + + if ($conf->commercial->enabled) + { + $langs->load("commercial"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/comm\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Commercial").''; + + } + + if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled) + { + $langs->load("compta"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Accountancy")."/".$langs->trans("Treasury").''; + + } + + if ($conf->produit->enabled || $conf->service->enabled) + { + $langs->load("products"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "product") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/product\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + $chaine=""; + if ($conf->produit->enabled) { $chaine.=$langs->trans("Products"); } + if ($conf->produit->enabled && $conf->service->enabled) { $chaine.="/"; } + if ($conf->service->enabled) { $chaine.="Services"; } + + + print ''.$chaine.''; + + } + + + if ($conf->fournisseur->enabled) + { + $langs->load("suppliers"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "supplier") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/fourn\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Suppliers").''; + } + + + if ($conf->webcal->enabled) + { + $langs->load("other"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "webcalendar") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/projet\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/webcalendar\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Calendar").''; + }; } - elseif (ereg("^".DOL_URL_ROOT."\/fourn\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Suppliers").''; + } - -if ($conf->webcal->enabled) -{ - $langs->load("other"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "webcalendar") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/projet\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/webcalendar\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Calendar").''; -}; - - - - - ?> diff --git a/htdocs/includes/menus/barre_top/eldy.php b/htdocs/includes/menus/barre_top/eldy.php index 7ad436b03e8..100093be975 100644 --- a/htdocs/includes/menus/barre_top/eldy.php +++ b/htdocs/includes/menus/barre_top/eldy.php @@ -32,161 +32,189 @@ */ -if ($conf->adherent->enabled) -{ - $langs->load("members"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "adherent") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/adherents\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } +/** \class MenuTop + \brief Classe permettant la gestion du menu du haut Eldy +*/ - print ''.$langs->trans("Members").''; -} +class MenuTop { -if ($conf->commercial->enabled) -{ - $langs->load("commercial"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") + var $require_left=array("eldy"); // Si doit etre en phase avec un gestionnaire de menu gauche particulier + + /** + * \brief Constructeur + * \param db Handler d'accès base de donnée + */ + function MenuTop($db) { - $class='class="tmenu" id="sel"'; + $this->db=$db; } - elseif (ereg("^".DOL_URL_ROOT."\/comm\/",$_SERVER["PHP_SELF"]) && ! ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"])) + + + /** + * \brief Affiche le menu + */ + function showmenu() { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - print ''.$langs->trans("Commercial").''; - -} - -if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled) -{ - $langs->load("compta"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Accountancy")."/".$langs->trans("Treasury").''; - -} - -if ($conf->produit->enabled || $conf->service->enabled) -{ - $langs->load("products"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "product") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/product\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - $chaine=""; - if ($conf->produit->enabled) { $chaine.=$langs->trans("Products"); } - if ($conf->produit->enabled && $conf->service->enabled) { $chaine.="/"; } - if ($conf->service->enabled) { $chaine.="Services"; } - - - print ''.$chaine.''; - -} - - -if ($conf->fournisseur->enabled) -{ - $langs->load("suppliers"); + global $conf,$langs; + + if ($conf->adherent->enabled) + { + $langs->load("members"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "adherent") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/adherents\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Members").''; + } + + if ($conf->commercial->enabled) + { + $langs->load("commercial"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/comm\/",$_SERVER["PHP_SELF"]) && ! ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Commercial").''; + + } + + if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled) + { + $langs->load("compta"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Accountancy")."/".$langs->trans("Treasury").''; + + } + + if ($conf->produit->enabled || $conf->service->enabled) + { + $langs->load("products"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "product") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/product\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + $chaine=""; + if ($conf->produit->enabled) { $chaine.=$langs->trans("Products"); } + if ($conf->produit->enabled && $conf->service->enabled) { $chaine.="/"; } + if ($conf->service->enabled) { $chaine.="Services"; } + + + print ''.$chaine.''; + + } + + + if ($conf->fournisseur->enabled) + { + $langs->load("suppliers"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "supplier") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/fourn\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Suppliers").''; + } + + + if ($conf->webcal->enabled) + { + $langs->load("other"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "webcalendar") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/projet\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/webcalendar\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Calendar").''; + }; + + + $langs->load("other"); + + $class=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "tools") + { + $class='class="tmenu" id="sel"'; + } + elseif (ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"])) + { + $class='class="tmenu" id="sel"'; + } + else + { + $class = 'class="tmenu"'; + } + + print ''.$langs->trans("Tools").''; - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "supplier") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/fourn\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; } - print ''.$langs->trans("Suppliers").''; } - -if ($conf->webcal->enabled) -{ - $langs->load("other"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "webcalendar") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/projet\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/webcalendar\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Calendar").''; -}; - - - $langs->load("other"); - - $class=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "tools") - { - $class='class="tmenu" id="sel"'; - } - elseif (ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"])) - { - $class='class="tmenu" id="sel"'; - } - else - { - $class = 'class="tmenu"'; - } - - print ''.$langs->trans("Tools").''; - - - ?> diff --git a/htdocs/includes/menus/barre_top/esprit.php b/htdocs/includes/menus/barre_top/esprit.php index e45eee8c045..a6aa7ca6dff 100644 --- a/htdocs/includes/menus/barre_top/esprit.php +++ b/htdocs/includes/menus/barre_top/esprit.php @@ -21,24 +21,53 @@ * */ -/** - \file htdocs/includes/menus/barre_top/esprit.php +/** \file htdocs/includes/menus/barre_top/esprit.php \brief Gestionnaire du menu du haut spécialisé vente de CD/livres \version $Revision$ \remarks La construction d'un gestionnaire pour le menu du haut est simple: - \remarks Toutes les entrées de menu a faire apparaitre dans la barre du - \remarks du haut doit etre affichée par Nom + \remarks Toutes les entrées de menu à faire apparaitre dans la barre du haut + \remarks doivent être affichées par ... \remarks On peut éventuellement ajouter l'attribut id="sel" dans la balise - \remarks quand il s'agit de l'entrée du menu qui est sélectionné. + \remarks quand il s'agit de l'entrée du menu qui est sélectionnée. */ -print 'livres'; -print 'clients'; +/** \class MenuTop + \brief Classe permettant la gestion du menu du haut Esprit +*/ -print 'critiques'; +class MenuTop { -print 'catégories'; + var $require_left=array(); // Si doit etre en phase avec un gestionnaire de menu gauche particulier + + /** + * \brief Constructeur + * \param db Handler d'accès base de donnée + */ + function MenuTop($db) + { + $this->db=$db; + } + + + /** + * \brief Affiche le menu + */ + function showmenu() + { + + global $conf,$langs; + $langs->load("commercial"); + $langs->load("other"); + + print ''.$langs->trans("Books").''; + print ''.$langs->trans("Customers").''; + print ''.$langs->trans("Criticals").''; + print ''.$langs->trans("Categories").''; + + } + +} ?> diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 9b70639c28e..bc4bd13c33c 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -183,17 +183,19 @@ function top_menu($head, $title="", $target="") */ print '
'."\n"; - // Sommet menu de gauche, lien accueil - $class="tmenu"; $id=""; - if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "accueil") { $class="tmenu"; $id="sel"; } - elseif (ereg("^".DOL_URL_ROOT."\/[^\\\/]+$",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/user\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/admin\/",$_SERVER["PHP_SELF"])) { $class="tmenu"; $id="sel"; } - - // Entrée Home du menu + // Entrée Home/Accueil du menu + $id=""; + if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "accueil") { $id="sel"; } + elseif (ereg("^".DOL_URL_ROOT."\/[^\\\/]+$",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/user\/",$_SERVER["PHP_SELF"]) || ereg("^".DOL_URL_ROOT."\/admin\/",$_SERVER["PHP_SELF"])) { $id="sel"; } print ''.$langs->trans("Home").''; - // Autres entrées du menu par le gestionnaires - require(DOL_DOCUMENT_ROOT ."/includes/menus/barre_top/".$conf->top_menu); + // Autres entrées du menu par le gestionnaire + require_once(DOL_DOCUMENT_ROOT ."/includes/menus/barre_top/".$conf->top_menu); + $menutop = new MenuTop($db); + $menutop->showmenu(); + + // Lien sur fiche du login print '' ;