Suite debuggage de la fonction de personnalisation des menus

This commit is contained in:
Laurent Destailleur 2008-01-08 23:23:14 +00:00
parent ef912a7f29
commit 5df6ee135b
8 changed files with 96 additions and 33 deletions

View File

@ -17,14 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/admin/menus.php
\ingroup core,menudb
\brief Page de configuration des gestionnaires de menu
\version $Revision$
*/
require("./pre.inc.php");

View File

@ -23,14 +23,20 @@
\file htdocs/admin/menus/edit.php
\ingroup core,menudb
\brief Edition des menus
\version $Revision$
*/
require("./pre.inc.php");
$langs->load("admin");
if (! $user->admin)
accessforbidden();
$dirtop = "../../includes/menus/barre_top";
$dirleft = "../../includes/menus/barre_left";
$mesg=$_GET["mesg"];
$menu_handler_top=$conf->global->MAIN_MENU_BARRETOP;
$menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT;
$menu_handler_top=eregi_replace('_backoffice\.php','',$menu_handler_top);
@ -40,6 +46,9 @@ $menu_handler_left=eregi_replace('_frontoffice\.php','',$menu_handler_left);
$menu_handler=$menu_handler_left;
if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
/*
* Actions
@ -260,6 +269,7 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
/*
* Affichage page
*/
$html=new Form($db);
llxHeader();
@ -302,7 +312,10 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
//Handler
print '<tr><td><b>'.$langs->trans('MenuHandler').'</b></td>';
print '<td><input type="text" size="30" name="handler" value="'.$menu_handler.'"></td>';
print '<td>';
print $html->select_menu_families($menu_handler,'menu_handler',$dirleft);
//print '<input type="text" size="30" name="handler" value="'.$menu_handler.'">';
print '</td>';
print '<td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
// Type
@ -345,7 +358,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
// Boutons
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print '&nbsp;';
print ' &nbsp; &nbsp; ';
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
print '</table>';
@ -496,7 +509,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print "</tr>\n";
// Ajout de contraintes personalisés
// Ajout de contraintes personalisees
print '<form action="edit.php?action=add_const" method="post">';
print '<input type="hidden" name="menuId" value="'.$_GET['menuId'].'">';
print '<input type="hidden" name="type" value="perso">';
@ -516,7 +529,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '</form>';
// Ajout de contraintes prédéfinis
// Ajout de contraintes predefinis
print '<form action="edit.php?action=add_const" method="post">';
print '<input type="hidden" name="menuId" value="'.$_GET['menuId'].'">';
print '<input type="hidden" name="type" value="prede">';

View File

@ -23,9 +23,8 @@
\file htdocs/admin/menus/index.php
\ingroup core,menudb
\brief Gestion des menus
\version $Revision$
*/
require("./pre.inc.php");
$langs->load("other");
@ -39,8 +38,8 @@ $dirleft = "../../includes/menus/barre_left";
$mesg=$_GET["mesg"];
$menu_handler_top=$conf->global->MAIN_MENU_BARRETOP;
$menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT;
$menu_handler_top=eregi_replace('\.php','',$conf->global->MAIN_MENU_BARRETOP);
$menu_handler_left=eregi_replace('\.php','',$conf->global->MAIN_MENU_BARRELEFT);
$menu_handler_top=eregi_replace('_backoffice\.php','',$menu_handler_top);
$menu_handler_top=eregi_replace('_frontoffice\.php','',$menu_handler_top);
$menu_handler_left=eregi_replace('_backoffice\.php','',$menu_handler_left);
@ -315,7 +314,7 @@ if ($conf->use_javascript_ajax)
* Boutons actions
*/
print '<div class="tabsAction">';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/admin/menus/edit.php?menuId=0&amp;action=create">'.$langs->trans("NewMenu").'</a>';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/admin/menus/edit.php?menuId=0&amp;action=create&amp;menu_handler='.urlencode($menu_handler).'">'.$langs->trans("NewMenu").'</a>';
print '</div>';
}
else

View File

@ -25,13 +25,11 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/html.form.class.php
\brief Fichier de la classe des fonctions prédéfinie de composants html
\version $Revision$
*/
@ -609,11 +607,11 @@ class Form
{
print ' selected="true"';
}
if ($key == 'rodolphe') print ' disabled="true"';
//if ($key == 'rodolphe') print ' disabled="true"';
print '>';
if ($key == 'all') print $langs->trans("AllMenus");
else print $key;
if ($key == 'rodolphe') print ' ('.$langs->trans("PersonalizedMenusNotSupported").')';
//if ($key == 'rodolphe') print ' ('.$langs->trans("PersonalizedMenusNotSupported").')';
print '</option>'."\n";
}
print '</select>';

View File

@ -440,12 +440,10 @@ class MenuTop {
{
print '<td class="tmenu"><font class="tmenudisabled">'.$tabMenu[$i]['titre'].'</font></td>';
}
}
print '</tr></table>';
}
}

View File

@ -65,7 +65,7 @@ class MenuTop {
if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name);
session_start(); // En mode authentification PEAR, la session a d<>j<EFBFBD> <20>t<EFBFBD> ouverte
session_start();
}
$user->getrights("");
@ -370,7 +370,25 @@ class MenuTop {
print '<td class="tmenu"><a '.$class.' href="'.DOL_URL_ROOT.'/mantis/mantis.php?mainmenu=mantis"'.($this->atarget?" target=$this->atarget":"").'>'.$langs->trans("BugTracker").'</a></td>';
}
// Affichage des menus personnalises
require_once(DOL_DOCUMENT_ROOT."/admin/menus/module_menudb.php");
$menuArbo = new MenuDb($this->db,'eldy','top');
$tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']);
for($i=0;$i<count($tabMenu);$i++)
{
if ($tabMenu[$i]['right'] == true)
{
print '<td class="tmenu"><a class="tmenu" href="'.DOL_URL_ROOT.$tabMenu[$i]['url'].'"'.($this->atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'</a></td>';
}
else
{
print '<td class="tmenu"><font class="tmenudisabled">'.$tabMenu[$i]['titre'].'</font></td>';
}
}
print '</tr></table>';
}

View File

@ -16,7 +16,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
@ -67,6 +66,26 @@ class MenuTop {
// ***** END *****
/*
// Code to show personalized menus
require_once(DOL_DOCUMENT_ROOT."/admin/menus/module_menudb.php");
$menuArbo = new MenuDb($this->db,'eldy','top');
$tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']);
for($i=0;$i<count($tabMenu);$i++)
{
if ($tabMenu[$i]['right'] == true)
{
print '<td class="tmenu"><a class="tmenu" href="'.DOL_URL_ROOT.$tabMenu[$i]['url'].'"'.($this->atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'</a></td>';
}
else
{
print '<td class="tmenu"><font class="tmenudisabled">'.$tabMenu[$i]['titre'].'</font></td>';
}
}
*/
print '</tr></table>';
}

View File

@ -22,20 +22,20 @@
/**
\file htdocs/includes/menus/barre_top/default.php
\brief Gestionnaire par défaut du menu du haut
\brief Gestionnaire par d<EFBFBD>faut du menu du haut
\version $Revision$
\remarks La construction d'un gestionnaire pour le menu du haut est simple:
\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ée.
\remarks Toutes les entr<EFBFBD>es de menu <EFBFBD> faire apparaitre dans la barre du haut
\remarks doivent <EFBFBD>tre affich<EFBFBD>es par <a class="tmenu" href="...?mainmenu=...">...</a>
\remarks On peut <EFBFBD>ventuellement ajouter l'attribut id="sel" dans la balise <a>
\remarks quand il s'agit de l'entr<EFBFBD>e du menu qui est s<EFBFBD>lectionn<EFBFBD>e.
*/
/**
\class MenuTop
\brief Classe permettant la gestion par défaut du menu du haut
\brief Classe permettant la gestion par d<EFBFBD>faut du menu du haut
*/
class MenuTop {
@ -45,7 +45,7 @@ class MenuTop {
/**
* \brief Constructeur
* \param db Handler d'accès base de donnée
* \param db Handler d'acc<EFBFBD>s base de donn<EFBFBD>e
*/
function MenuTop($db)
{
@ -63,12 +63,12 @@ class MenuTop {
if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name);
session_start(); // En mode authentification PEAR, la session a déjà été ouverte
session_start();
}
$user->getrights("");
// On récupère mainmenu
// On r<EFBFBD>cup<EFBFBD>re mainmenu
if (isset($_GET["mainmenu"]))
{
// On sauve en session le menu principal choisi
@ -76,7 +76,7 @@ class MenuTop {
$_SESSION["mainmenu"]=$mainmenu;
$_SESSION["leftmenuopened"]="";
} else {
// On va le chercher en session si non défini par le lien
// On va le chercher en session si non d<EFBFBD>fini par le lien
$mainmenu=$_SESSION["mainmenu"];
}
@ -143,7 +143,7 @@ class MenuTop {
}
// Compta/tréso (sert pour banque, tva, entités à facturer...)
// Compta/tr<EFBFBD>so (sert pour banque, tva, entit<69>s <20> facturer...)
if ($conf->compta->enabled || $conf->comptaexpert->enabled || $conf->banque->enabled
|| $conf->commande->enabled || $conf->facture->enabled)
{
@ -374,7 +374,27 @@ class MenuTop {
print '<td class="tmenu"><a '.$class.' href="'.DOL_URL_ROOT.'/mantis/mantis.php?mainmenu=mantis"'.($this->atarget?" target=$this->atarget":"").'>'.$langs->trans("BugTracker").'</a></td>';
}
print '</tr></table>';
// Affichage des menus personnalises
require_once(DOL_DOCUMENT_ROOT."/admin/menus/module_menudb.php");
$menuArbo = new MenuDb($this->db,'rodolphe','top');
$tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']);
for($i=0;$i<count($tabMenu);$i++)
{
if ($tabMenu[$i]['right'] == true)
{
print '<td class="tmenu"><a class="tmenu" href="'.DOL_URL_ROOT.$tabMenu[$i]['url'].'"'.($this->atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'</a></td>';
}
else
{
print '<td class="tmenu"><font class="tmenudisabled">'.$tabMenu[$i]['titre'].'</font></td>';
}
}
print '</tr></table>';
}
}