From 8a5d2757fcab7ac58136fac72c11b6a5dce9bd5e Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Mon, 18 Jul 2011 20:19:41 +0000
Subject: [PATCH] Try a better fix to avoid duplicate idmenu into url

---
 htdocs/core/class/menubase.class.php           |  7 +++----
 htdocs/includes/menus/standard/auguria.lib.php | 11 ++++++-----
 htdocs/includes/menus/standard/eldy.lib.php    | 10 +++++-----
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php
index a8b4f4ff5a8..8c61ea753c7 100644
--- a/htdocs/core/class/menubase.class.php
+++ b/htdocs/core/class/menubase.class.php
@@ -20,7 +20,7 @@
 /**
  *  \file       htdocs/core/class/menubase.class.php
  *  \ingroup    core
- *  \version	$Id: menubase.class.php,v 1.26 2011/07/17 19:56:51 hregis Exp $
+ *  \version	$Id: menubase.class.php,v 1.27 2011/07/18 20:19:48 eldy Exp $
  *  \brief      File of class to manage dynamic menu entries
  *  \remarks	Initialy built by build_class_from_table on 2008-01-12 14:19
  */
@@ -577,12 +577,11 @@ class Menubase
                 $tabMenu[$b][0] = $menu['rowid'];
                 $tabMenu[$b][1] = $menu['fk_menu'];
                 $tabMenu[$b][2] = $menu['url'];
-                // FIXME idmenu is already added in auguria.lib.php
-                /*if (! preg_match("/^(http:\/\/|https:\/\/)/i",$tabMenu[$b][2]))
+                if (! preg_match("/^(http:\/\/|https:\/\/)/i",$tabMenu[$b][2]))
                 {
                     if (preg_match('/\?/',$tabMenu[$b][2])) $tabMenu[$b][2].='&amp;idmenu='.$menu['rowid'];
                     else $tabMenu[$b][2].='?idmenu='.$menu['rowid'];
-                }*/
+                }
                 $tabMenu[$b][3] = $chaine;
                 $tabMenu[$b][5] = $menu['target'];
                 $tabMenu[$b][6] = $menu['leftmenu'];
diff --git a/htdocs/includes/menus/standard/auguria.lib.php b/htdocs/includes/menus/standard/auguria.lib.php
index f60c1d2a004..c866bd0a7a9 100644
--- a/htdocs/includes/menus/standard/auguria.lib.php
+++ b/htdocs/includes/menus/standard/auguria.lib.php
@@ -21,7 +21,7 @@
 /**
  *  \file		htdocs/includes/menus/standard/auguria.lib.php
  *  \brief		Library for file auguria menus
- *  \version	$Id: auguria.lib.php,v 1.19 2011/07/18 00:58:35 eldy Exp $
+ *  \version	$Id: auguria.lib.php,v 1.20 2011/07/18 20:19:41 eldy Exp $
  */
 
 
@@ -64,14 +64,15 @@ function print_auguria_menu($db,$atarget,$type_user)
 				else
 				{
 					$url=dol_buildpath($newTabMenu[$i]['url'],1);
-					if (! preg_match('/\?/',$url)) $url.='?';
-					else $url.='&';
 					if (! preg_match('/mainmenu/i',$url) || ! preg_match('/leftmenu/i',$url))
 					{
-						$url.='mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu=&';
+                        if (! preg_match('/\?/',$url)) $url.='?';
+                        else $url.='&';
+					    $url.='mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu=';
 					}
-					$url.="idmenu=".$newTabMenu[$i]['rowid'];
+					//$url.="idmenu=".$newTabMenu[$i]['rowid'];    // Already done by menuLoad
 				}
+                $url=preg_replace('/__LOGIN__/',$user->login,$url);
 
 				// Define the class (top menu selected or not)
 				if (! empty($_SESSION['idmenu']) && $newTabMenu[$i]['rowid'] == $_SESSION['idmenu']) $classname='class="tmenusel"';
diff --git a/htdocs/includes/menus/standard/eldy.lib.php b/htdocs/includes/menus/standard/eldy.lib.php
index 893899ae5cd..8c81bf6ea3a 100644
--- a/htdocs/includes/menus/standard/eldy.lib.php
+++ b/htdocs/includes/menus/standard/eldy.lib.php
@@ -21,7 +21,7 @@
 /**
  *  \file		htdocs/includes/menus/standard/eldy.lib.php
  *  \brief		Library for file eldy menus
- *  \version	$Id: eldy.lib.php,v 1.59 2011/07/18 18:08:35 eldy Exp $
+ *  \version	$Id: eldy.lib.php,v 1.60 2011/07/18 20:19:41 eldy Exp $
  */
 
 
@@ -460,13 +460,13 @@ function print_eldy_menu($db,$atarget,$type_user)
 				else
 				{
 					$url=dol_buildpath($newTabMenu[$i]['url'],1);
-					if (! preg_match('/\?/',$url)) $url.='?';
-					else $url.='&';
 					if (! preg_match('/mainmenu/i',$url) || ! preg_match('/leftmenu/i',$url))
 					{
-						$url.='mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu=&';
+                        if (! preg_match('/\?/',$url)) $url.='?';
+                        else $url.='&';
+					    $url.='mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu=';
 					}
-					$url.="idmenu=".$newTabMenu[$i]['rowid'];
+					//$url.="idmenu=".$newTabMenu[$i]['rowid'];    // Already done by menuLoad
 				}
 				$url=preg_replace('/__LOGIN__/',$user->login,$url);
 
-- 
GitLab