From e489529f22d3ba379f68933d6f1d109c5b846680 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 3 Apr 2009 13:39:56 +0000 Subject: [PATCH] Fix: problem with web address in menu --- htdocs/core/menubase.class.php | 4 +- .../menus/barre_top/auguria_backoffice.php | 20 +++-- .../menus/barre_top/auguria_frontoffice.php | 77 ++++++++++--------- .../menus/barre_top/eldy_backoffice.php | 21 +++-- .../menus/barre_top/eldy_frontoffice.php | 60 ++++++++------- htdocs/includes/menus/barre_top/rodolphe.php | 45 ++++++----- 6 files changed, 131 insertions(+), 96 deletions(-) diff --git a/htdocs/core/menubase.class.php b/htdocs/core/menubase.class.php index e0aa5e9541f..ad61e67053f 100644 --- a/htdocs/core/menubase.class.php +++ b/htdocs/core/menubase.class.php @@ -637,8 +637,8 @@ class Menubase $oldrowid=$objm->rowid; $tabMenu[$b]['rowid'] = $objm->rowid; - $tabMenu[$b]['mainmenu'] = $objm->mainmenu; - $tabMenu[$b]['titre'] = $chaine; // Title + $tabMenu[$b]['mainmenu'] = $objm->mainmenu; + $tabMenu[$b]['titre'] = $chaine; // Title $tabMenu[$b]['url'] = $objm->url; $tabMenu[$b]['atarget'] = $objm->target; if (! isset($tabMenu[$b]['right'])) $tabMenu[$b]['right'] = $perms; diff --git a/htdocs/includes/menus/barre_top/auguria_backoffice.php b/htdocs/includes/menus/barre_top/auguria_backoffice.php index 3712cf2e413..0bff54f926f 100644 --- a/htdocs/includes/menus/barre_top/auguria_backoffice.php +++ b/htdocs/includes/menus/barre_top/auguria_backoffice.php @@ -1,5 +1,6 @@ + * Copyright (C) 2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -76,16 +77,23 @@ class MenuTop { if ($tabMenu[$i]['right'] == true) { // Define url - $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']; + if (valid_url($tabMenu[$i]['url'],1)) + { + $url = $tabMenu[$i]['url']; + } + else + { + $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']; + } if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"'; else $class='class="tmenu"'; // Define idsel $idsel=''; - print '
  • atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'
  • '; + print '
  • '.$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 52df63ca0ef..b6b15b4e727 100644 --- a/htdocs/includes/menus/barre_top/auguria_frontoffice.php +++ b/htdocs/includes/menus/barre_top/auguria_frontoffice.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -54,45 +55,51 @@ class MenuTop { */ function showmenu() { - require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); - - global $user,$conf,$langs,$dolibarr_main_db_name;; - - // 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 '
      '; - - for($i=0; $idb,'auguria','top'); + $tabMenu = $menuArbo->menuTopCharger(1,$_SESSION['mainmenu'], 'auguria'); + + print '
        '; + + for($i=0; $iatarget?" target=$tabMenu[$i]['atarget']":"").'>'.$tabMenu[$i]['titre'].''; + $url = $tabMenu[$i]['url']; } else { - print '
      • '.$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']; } - } - } + if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"'; + else $class='class="tmenu"'; + // Define idsel + $idsel=''; + print '
      • '.$tabMenu[$i]['titre'].'
      • '; + } + else + { + print '
      • '.$tabMenu[$i]['titre'].'
      • '; + } + } + } print '
      '; } diff --git a/htdocs/includes/menus/barre_top/eldy_backoffice.php b/htdocs/includes/menus/barre_top/eldy_backoffice.php index 3781f07afc6..66b4368df27 100644 --- a/htdocs/includes/menus/barre_top/eldy_backoffice.php +++ b/htdocs/includes/menus/barre_top/eldy_backoffice.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007 Regis Houssin + * Copyright (C) 2007-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -364,14 +364,21 @@ class MenuTop { $idsel=(empty($tabMenu[$i]['mainmenu'])?'id="none" ':'id="'.$tabMenu[$i]['mainmenu'].'" '); if ($tabMenu[$i]['right'] == true) { - $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']; + if (valid_url($tabMenu[$i]['url'],1)) + { + $url = $tabMenu[$i]['url']; + } + else + { + $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']; + } if (! empty($_SESSION['idmenu']) && $tabMenu[$i]['rowid'] == $_SESSION['idmenu']) $class='class="tmenusel"'; else $class='class="tmenu"'; - print 'atarget?" target=$this->atarget":"").'>'; + print ''; print $tabMenu[$i]['titre']; print ''; } diff --git a/htdocs/includes/menus/barre_top/eldy_frontoffice.php b/htdocs/includes/menus/barre_top/eldy_frontoffice.php index f235753b217..d0530204186 100644 --- a/htdocs/includes/menus/barre_top/eldy_frontoffice.php +++ b/htdocs/includes/menus/barre_top/eldy_frontoffice.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007 Regis Houssin + * Copyright (C) 2007-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -350,39 +350,45 @@ class MenuTop { if (! $this->hideifnotallowed) print ''.$langs->trans("MenuMembers").''; } } - - - // Affichage des menus personnalises + + + // Affichage des menus personnalises require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); $menuArbo = new Menubase($this->db,'eldy','top'); - $tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy'); - - for($i=0; $imenuTopCharger(0,$_SESSION['mainmenu'],'eldy'); + + for($i=0; $iatarget?" target=$this->atarget":"").'>'; - print $tabMenu[$i]['titre']; - print ''; - } - else - { - if (! $this->hideifnotallowed) print ''.$tabMenu[$i]['titre'].''; - } - } - } - + { + // Define url + if (valid_url($tabMenu[$i]['url'],1)) + { + $url = $tabMenu[$i]['url']; + } + else + { + $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']; + } + if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"'; + else $class='class="tmenu"'; + // Define idsel + $idsel=''; + print '
    • '.$tabMenu[$i]['titre'].'
    • '; + } + else + { + print '
    • '.$tabMenu[$i]['titre'].'
    • '; + } + } + } print ''; } diff --git a/htdocs/includes/menus/barre_top/rodolphe.php b/htdocs/includes/menus/barre_top/rodolphe.php index ad54c8ee754..f0306ed8c30 100644 --- a/htdocs/includes/menus/barre_top/rodolphe.php +++ b/htdocs/includes/menus/barre_top/rodolphe.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007 Regis Houssin + * Copyright (C) 2007-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -350,31 +350,38 @@ class MenuTop { if (! $this->hideifnotallowed) print ''.$langs->trans("MenuMembers").''; } } - - - // Affichage des menus personnalises + + + // Affichage des menus personnalises require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); - - $menuArbo = new Menubase($this->db,'eldy','top'); - $tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy'); - - for($i=0; $idb,'eldy','top'); + $tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy'); + + for($i=0; $iatarget?" target=$this->atarget":"").'>'; - print $tabMenu[$i]['titre']; - print ''; + if (valid_url($tabMenu[$i]['url'],1)) + { + $url = $tabMenu[$i]['url']; + } + else + { + $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']; + } + if (! empty($_SESSION['idmenu']) && $tabMenu[$i]['rowid'] == $_SESSION['idmenu']) $class='class="tmenusel"'; + else $class='class="tmenu"'; + print ''; + print $tabMenu[$i]['titre']; + print ''; } else {