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,144 +34,170 @@
*/ */
if ($conf->adherent->enabled) /** \class MenuTop
{ \brief Classe permettant la gestion par défaut du menu du haut
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>'; class MenuTop {
}
if ($conf->commercial->enabled) var $require_left=array(); // Si doit etre en phase avec un gestionnaire de menu gauche particulier
{
$langs->load("commercial"); /**
* \brief Constructeur
$class=""; * \param db Handler d'accès base de donnée
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") */
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial"'.($target?" target=$target":"").'>'.$langs->trans("Commercial").'</a>'; global $conf,$langs;
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy"'.($target?" target=$target":"").'>'.$langs->trans("Accountancy")."/".$langs->trans("Treasury").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products"'.($target?" target=$target":"").'>'.$chaine.'</a>';
}
if ($conf->fournisseur->enabled)
{
$langs->load("suppliers");
$class="";
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "supplier") if ($conf->adherent->enabled)
{ {
$class='class="tmenu" id="sel"'; $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 '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial"'.($target?" target=$target":"").'>'.$langs->trans("Commercial").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy"'.($target?" target=$target":"").'>'.$langs->trans("Accountancy")."/".$langs->trans("Treasury").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products"'.($target?" target=$target":"").'>'.$chaine.'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/fourn/index.php?mainmenu=supplier"'.($target?" target=$target":"").'>'.$langs->trans("Suppliers").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>';
};
} }
elseif (ereg("^".DOL_URL_ROOT."\/fourn\/",$_SERVER["PHP_SELF"]))
{
$class='class="tmenu" id="sel"';
}
else
{
$class = 'class="tmenu"';
}
print '<a '.$class.' href="'.DOL_URL_ROOT.'/fourn/index.php?mainmenu=supplier"'.($target?" target=$target":"").'>'.$langs->trans("Suppliers").'</a>';
} }
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>';
};
?> ?>

View File

@ -32,161 +32,189 @@
*/ */
if ($conf->adherent->enabled) /** \class MenuTop
{ \brief Classe permettant la gestion du menu du haut Eldy
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>'; class MenuTop {
}
if ($conf->commercial->enabled) var $require_left=array("eldy"); // Si doit etre en phase avec un gestionnaire de menu gauche particulier
{
$langs->load("commercial"); /**
* \brief Constructeur
$class=""; * \param db Handler d'accès base de donnée
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial") */
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial"'.($target?" target=$target":"").'>'.$langs->trans("Commercial").'</a>'; global $conf,$langs;
} if ($conf->adherent->enabled)
{
if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled) $langs->load("members");
{
$langs->load("compta"); $class="";
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "adherent")
$class=""; {
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta") $class='class="tmenu" id="sel"';
{ }
$class='class="tmenu" id="sel"'; elseif (ereg("^".DOL_URL_ROOT."\/adherents\/",$_SERVER["PHP_SELF"]))
} {
elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"])) $class='class="tmenu" id="sel"';
{ }
$class='class="tmenu" id="sel"'; else
} {
else $class = 'class="tmenu"';
{ }
$class = 'class="tmenu"';
} print '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>';
}
print '<a '.$class.' href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy"'.($target?" target=$target":"").'>'.$langs->trans("Accountancy")."/".$langs->trans("Treasury").'</a>';
if ($conf->commercial->enabled)
} {
$langs->load("commercial");
if ($conf->produit->enabled || $conf->service->enabled)
{ $class="";
$langs->load("products"); if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "commercial")
{
$class=""; $class='class="tmenu" id="sel"';
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "product") }
{ elseif (ereg("^".DOL_URL_ROOT."\/comm\/",$_SERVER["PHP_SELF"]) && ! ereg("^".DOL_URL_ROOT."\/comm\/mailing\/",$_SERVER["PHP_SELF"]))
$class='class="tmenu" id="sel"'; {
} $class='class="tmenu" id="sel"';
elseif (ereg("^".DOL_URL_ROOT."\/product\/",$_SERVER["PHP_SELF"])) }
{ else
$class='class="tmenu" id="sel"'; {
} $class = 'class="tmenu"';
else }
{
$class = 'class="tmenu"'; print '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial"'.($target?" target=$target":"").'>'.$langs->trans("Commercial").'</a>';
}
$chaine=""; }
if ($conf->produit->enabled) { $chaine.=$langs->trans("Products"); }
if ($conf->produit->enabled && $conf->service->enabled) { $chaine.="/"; } if ($conf->compta->enabled || $conf->banque->enabled || $conf->caisse->enabled)
if ($conf->service->enabled) { $chaine.="Services"; } {
$langs->load("compta");
print '<a '.$class.' href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products"'.($target?" target=$target":"").'>'.$chaine.'</a>'; $class="";
if ($_SESSION["topmenu"] && $_SESSION["topmenu"] == "compta")
} {
$class='class="tmenu" id="sel"';
}
if ($conf->fournisseur->enabled) elseif (ereg("^".DOL_URL_ROOT."\/compta\/",$_SERVER["PHP_SELF"]))
{ {
$langs->load("suppliers"); $class='class="tmenu" id="sel"';
}
else
{
$class = 'class="tmenu"';
}
print '<a '.$class.' href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy"'.($target?" target=$target":"").'>'.$langs->trans("Accountancy")."/".$langs->trans("Treasury").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products"'.($target?" target=$target":"").'>'.$chaine.'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/fourn/index.php?mainmenu=supplier"'.($target?" target=$target":"").'>'.$langs->trans("Suppliers").'</a>';
}
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>';
};
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/comm/mailing/index.php?mainmenu=tools"'.($target?" target=$target":"").'>'.$langs->trans("Tools").'</a>';
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/fourn/index.php?mainmenu=supplier"'.($target?" target=$target":"").'>'.$langs->trans("Suppliers").'</a>';
} }
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 '<a '.$class.' href="'.DOL_URL_ROOT.'/projet/webcal.php?mainmenu=webcal"'.($target?" target=$target":"").'>'.$langs->trans("Calendar").'</a>';
};
$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 '<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,17 +183,19 @@ 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>' ;