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. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* $Id$ * $Id$
* $Source$
*/ */
/** /**
\file htdocs/admin/menus.php \file htdocs/admin/menus.php
\ingroup core,menudb \ingroup core,menudb
\brief Page de configuration des gestionnaires de menu \brief Page de configuration des gestionnaires de menu
\version $Revision$
*/ */
require("./pre.inc.php"); require("./pre.inc.php");

View File

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

View File

@ -23,9 +23,8 @@
\file htdocs/admin/menus/index.php \file htdocs/admin/menus/index.php
\ingroup core,menudb \ingroup core,menudb
\brief Gestion des menus \brief Gestion des menus
\version $Revision$
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
$langs->load("other"); $langs->load("other");
@ -39,8 +38,8 @@ $dirleft = "../../includes/menus/barre_left";
$mesg=$_GET["mesg"]; $mesg=$_GET["mesg"];
$menu_handler_top=$conf->global->MAIN_MENU_BARRETOP; $menu_handler_top=eregi_replace('\.php','',$conf->global->MAIN_MENU_BARRETOP);
$menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT; $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('_backoffice\.php','',$menu_handler_top);
$menu_handler_top=eregi_replace('_frontoffice\.php','',$menu_handler_top); $menu_handler_top=eregi_replace('_frontoffice\.php','',$menu_handler_top);
$menu_handler_left=eregi_replace('_backoffice\.php','',$menu_handler_left); $menu_handler_left=eregi_replace('_backoffice\.php','',$menu_handler_left);
@ -315,7 +314,7 @@ if ($conf->use_javascript_ajax)
* Boutons actions * Boutons actions
*/ */
print '<div class="tabsAction">'; 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>'; print '</div>';
} }
else else

View File

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

View File

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

View File

@ -65,7 +65,7 @@ class MenuTop {
if (! session_id()) { if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name); 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(""); $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>'; 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>'; print '</tr></table>';
} }

View File

@ -16,7 +16,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* $Id$ * $Id$
* $Source$
*/ */
/** /**
@ -67,6 +66,26 @@ class MenuTop {
// ***** END ***** // ***** 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>'; print '</tr></table>';
} }

View File

@ -22,20 +22,20 @@
/** /**
\file htdocs/includes/menus/barre_top/default.php \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$ \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 à faire apparaitre dans la barre du haut \remarks Toutes les entr<EFBFBD>es de menu <EFBFBD> faire apparaitre dans la barre du haut
\remarks doivent être affichées par <a class="tmenu" href="...?mainmenu=...">...</a> \remarks doivent <EFBFBD>tre affich<EFBFBD>es par <a class="tmenu" href="...?mainmenu=...">...</a>
\remarks On peut éventuellement ajouter l'attribut id="sel" dans la balise <a> \remarks On peut <EFBFBD>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 quand il s'agit de l'entr<EFBFBD>e du menu qui est s<EFBFBD>lectionn<EFBFBD>e.
*/ */
/** /**
\class MenuTop \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 { class MenuTop {
@ -45,7 +45,7 @@ class MenuTop {
/** /**
* \brief Constructeur * \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) function MenuTop($db)
{ {
@ -63,12 +63,12 @@ class MenuTop {
if (! session_id()) { if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name); session_name("DOLSESSID_".$dolibarr_main_db_name);
session_start(); // En mode authentification PEAR, la session a déjà été ouverte session_start();
} }
$user->getrights(""); $user->getrights("");
// On récupère mainmenu // On r<EFBFBD>cup<EFBFBD>re mainmenu
if (isset($_GET["mainmenu"])) if (isset($_GET["mainmenu"]))
{ {
// On sauve en session le menu principal choisi // On sauve en session le menu principal choisi
@ -76,7 +76,7 @@ class MenuTop {
$_SESSION["mainmenu"]=$mainmenu; $_SESSION["mainmenu"]=$mainmenu;
$_SESSION["leftmenuopened"]=""; $_SESSION["leftmenuopened"]="";
} else { } 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"]; $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 if ($conf->compta->enabled || $conf->comptaexpert->enabled || $conf->banque->enabled
|| $conf->commande->enabled || $conf->facture->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 '<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>';
} }
} }