Qual: Evolution du code des gestionnaires de menu pour qu'ils fonctionnent sous forme de classes.

This commit is contained in:
Laurent Destailleur 2005-01-16 15:23:50 +00:00
parent fc6baf11ca
commit 72ca88e5a4
4 changed files with 378 additions and 293 deletions

View File

@ -34,6 +34,33 @@
*/ */
/** \class MenuTop
\brief Classe permettant la gestion par défaut du menu du haut
*/
class MenuTop {
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;
if ($conf->adherent->enabled) if ($conf->adherent->enabled)
{ {
$langs->load("members"); $langs->load("members");
@ -169,9 +196,8 @@ if ($conf->webcal->enabled)
print '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>'; print '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>';
}; };
}
}
?> ?>

View File

@ -32,6 +32,32 @@
*/ */
/** \class MenuTop
\brief Classe permettant la gestion du menu du haut Eldy
*/
class MenuTop {
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)
{
$this->db=$db;
}
/**
* \brief Affiche le menu
*/
function showmenu()
{
global $conf,$langs;
if ($conf->adherent->enabled) if ($conf->adherent->enabled)
{ {
$langs->load("members"); $langs->load("members");
@ -187,6 +213,8 @@ if ($conf->webcal->enabled)
print '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/mailing/index.php?mainmenu=tools"'.($target?" target=$target":"").'>'.$langs->trans("Tools").'</a>'; print '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/mailing/index.php?mainmenu=tools"'.($target?" target=$target":"").'>'.$langs->trans("Tools").'</a>';
}
}
?> ?>

View File

@ -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 \brief Gestionnaire du menu du haut spécialisé vente de CD/livres
\version $Revision$ \version $Revision$
\remarks La construction d'un gestionnaire pour le menu du haut est simple: \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 Toutes les entrées de menu à faire apparaitre dans la barre du haut
\remarks du haut doit etre affichée par <a class="tmenu" href="lien">Nom</a> \remarks doivent être affichées par <a class="tmenu" href="...?mainmenu=...">...</a>
\remarks On peut éventuellement ajouter l'attribut id="sel" dans la balise <a> \remarks On peut éventuellement ajouter l'attribut id="sel" dans la balise <a>
\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 '<a class="tmenu" href="/boutique/livre/">livres</a>';
print '<a class="tmenu" href="/boutique/client/">clients</a>'; /** \class MenuTop
\brief Classe permettant la gestion du menu du haut Esprit
*/
print '<a class="tmenu" href="/product/critiques/">critiques</a>'; class MenuTop {
print '<a class="tmenu" href="/product/categorie/">catégories</a>'; 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 '<a class="tmenu" href="/boutique/livre/">'.$langs->trans("Books").'</a>';
print '<a class="tmenu" href="/boutique/client/">'.$langs->trans("Customers").'</a>';
print '<a class="tmenu" href="/product/critiques/">'.$langs->trans("Criticals").'</a>';
print '<a class="tmenu" href="/product/categorie/">'.$langs->trans("Categories").'</a>';
}
}
?> ?>

View File

@ -183,16 +183,18 @@ function top_menu($head, $title="", $target="")
*/ */
print '<div class="tmenu">'."\n"; print '<div class="tmenu">'."\n";
// Sommet menu de gauche, lien accueil // Entrée Home/Accueil du menu
$class="tmenu"; $id=""; $id="";
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "accueil") { $class="tmenu"; $id="sel"; } 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"])) { $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"])) { $id="sel"; }
// Entrée Home du menu
print '<a class="tmenu" id="'.$id.'" href="'.DOL_URL_ROOT.'/index.php?mainmenu=home"'.($target?" target=$target":"").'>'.$langs->trans("Home").'</a>'; print '<a class="tmenu" id="'.$id.'" href="'.DOL_URL_ROOT.'/index.php?mainmenu=home"'.($target?" target=$target":"").'>'.$langs->trans("Home").'</a>';
// 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 // Lien sur fiche du login
print '<a class="login" href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$user->id.'">'.$user->login.'</a>' ; print '<a class="login" href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$user->id.'">'.$user->login.'</a>' ;