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)
{
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>';
}
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 '<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");
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 '<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)
{
$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 '<a '.$class.' href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members"'.($target?" target=$target":"").'>'.$langs->trans("Members").'</a>';
}
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 '<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");
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 '<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"]) && ! 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/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>';
};
$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
\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 <a class="tmenu" href="lien">Nom</a>
\remarks Toutes les entrées de menu à faire apparaitre dans la barre du haut
\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 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";
// 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 '<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
print '<a class="login" href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$user->id.'">'.$user->login.'</a>' ;