From 155a4e89b58f360043d6015b4d1d2da1049cdb9b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 14 Jan 2008 20:54:15 +0000 Subject: [PATCH] =?UTF-8?q?New:=20Modif=20pour=20gerer=20insertion=20entre?= =?UTF-8?q?e=20menu=20depuis=20module=20activ=E9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/skeletons/modMyModule.class.php | 3 +- .../menus/barre_top/auguria_backoffice.php | 30 +++++++++--------- .../menus/barre_top/auguria_frontoffice.php | 31 ++++++++++--------- .../menus/barre_top/eldy_backoffice.php | 29 +++++++++-------- .../menus/barre_top/eldy_frontoffice.php | 25 ++++++++------- htdocs/includes/menus/barre_top/empty.php | 10 +++++- htdocs/includes/menus/barre_top/rodolphe.php | 26 +++++++++------- htdocs/includes/menus/init_menu_auguria.sql | 2 +- .../modules/DolibarrModules.class.php | 23 +++++++++----- htdocs/includes/modules/modAgenda.class.php | 18 ++++++++--- htdocs/lib/menubase.class.php | 4 ++- htdocs/main.inc.php | 1 + mysql/migration/2.2.0-2.4.0.sql | 5 +++ mysql/tables/llx_menu.key.sql | 26 ++++++++++++++++ 14 files changed, 152 insertions(+), 81 deletions(-) create mode 100644 mysql/tables/llx_menu.key.sql diff --git a/dev/skeletons/modMyModule.class.php b/dev/skeletons/modMyModule.class.php index 953174063d1..c5d24e1dd37 100644 --- a/dev/skeletons/modMyModule.class.php +++ b/dev/skeletons/modMyModule.class.php @@ -97,15 +97,16 @@ class modMyModule extends DolibarrModules // Permissions $this->rights = array(); // Permission array used by this module + $r=0; // Add here list of permission defined by an id, a label, a boolean and two constant strings. // Example: - // $r++; // $this->rights[$r][0] = 2000; // Permission id (must not be already used) // $this->rights[$r][1] = 'Permision label'; // Permission label // $this->rights[$r][3] = 1; // Permission by default for new user (0/1) // $this->rights[$r][4] = 'level1'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) // $this->rights[$r][5] = 'level2'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + // $r++; // Main menu entries $this->menus = array(); // List of menus to add diff --git a/htdocs/includes/menus/barre_top/auguria_backoffice.php b/htdocs/includes/menus/barre_top/auguria_backoffice.php index 914c21dea1a..8de5f74e56b 100644 --- a/htdocs/includes/menus/barre_top/auguria_backoffice.php +++ b/htdocs/includes/menus/barre_top/auguria_backoffice.php @@ -27,7 +27,7 @@ \remarks Toutes les entr�es de menu � faire apparaitre dans la barre du haut \remarks doivent �tre affich�es par ... \remarks On peut �ventuellement ajouter l'attribut id="sel" dans la balise - \remarks quand il s'agit de l'entr�e du menu qui est s�lectionn�e. + \remarks quand il s'agit de l'entr�e du menu qui est selectionnee. */ @@ -72,17 +72,12 @@ class MenuTop { } $user->getrights(""); - - // On r�cup�re mainmenu - if (isset($_GET["mainmenu"])) { - // On sauve en session le menu principal choisi - $mainmenu=$_GET["mainmenu"]; - $_SESSION["mainmenu"]=$mainmenu; - $_SESSION["leftmenuopened"]=""; - } else { - // On va le chercher en session si non d�fini par le lien - $mainmenu=$_SESSION["mainmenu"]; - } + + + // On sauve en session le menu principal choisi + if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"]; + if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"]; + $_SESSION["leftmenuopened"]=""; $menuArbo = new Menubase($this->db,'auguria','top'); @@ -94,8 +89,15 @@ class MenuTop { { if ($tabMenu[$i]['right'] == true) { - - print '
  • atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'
  • '; + $url=DOL_URL_ROOT.$tabMenu[$i]['url']; + if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?'; + else $url.='&'; + $url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu='; + $url.="&idmenu=".$tabMenu[$i]['rowid']; + // Define idsel + if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $idsel='id="sel" '; + else $idsel=''; + print '
  • atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'
  • '; } else { diff --git a/htdocs/includes/menus/barre_top/auguria_frontoffice.php b/htdocs/includes/menus/barre_top/auguria_frontoffice.php index 3ca9800195d..c498539b44b 100644 --- a/htdocs/includes/menus/barre_top/auguria_frontoffice.php +++ b/htdocs/includes/menus/barre_top/auguria_frontoffice.php @@ -27,7 +27,7 @@ \remarks Toutes les entr�es de menu � faire apparaitre dans la barre du haut \remarks doivent �tre affich�es par ... \remarks On peut �ventuellement ajouter l'attribut id="sel" dans la balise - \remarks quand il s'agit de l'entr�e du menu qui est s�lectionn�e. + \remarks quand il s'agit de l'entr�e du menu qui est selectionnee. */ @@ -73,29 +73,32 @@ class MenuTop { $user->getrights(""); - // On r�cup�re mainmenu - if (isset($_GET["mainmenu"])) { - // On sauve en session le menu principal choisi - $mainmenu=$_GET["mainmenu"]; - $_SESSION["mainmenu"]=$mainmenu; - $_SESSION["leftmenuopened"]=""; - } else { - // On va le chercher en session si non d�fini par le lien - $mainmenu=$_SESSION["mainmenu"]; - } + + // On sauve en session le menu principal choisi + if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"]; + if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"]; + $_SESSION["leftmenuopened"]=""; $menuArbo = new Menubase($this->db,'auguria','top'); $tabMenu = $menuArbo->menutopCharger(1,$_SESSION['mainmenu'], 'auguria'); - + print '