Fix: problem with web address in menu

This commit is contained in:
Regis Houssin 2009-04-03 13:39:56 +00:00
parent 5ab4f320b5
commit e489529f22
6 changed files with 131 additions and 96 deletions

View File

@ -637,8 +637,8 @@ class Menubase
$oldrowid=$objm->rowid; $oldrowid=$objm->rowid;
$tabMenu[$b]['rowid'] = $objm->rowid; $tabMenu[$b]['rowid'] = $objm->rowid;
$tabMenu[$b]['mainmenu'] = $objm->mainmenu; $tabMenu[$b]['mainmenu'] = $objm->mainmenu;
$tabMenu[$b]['titre'] = $chaine; // Title $tabMenu[$b]['titre'] = $chaine; // Title
$tabMenu[$b]['url'] = $objm->url; $tabMenu[$b]['url'] = $objm->url;
$tabMenu[$b]['atarget'] = $objm->target; $tabMenu[$b]['atarget'] = $objm->target;
if (! isset($tabMenu[$b]['right'])) $tabMenu[$b]['right'] = $perms; if (! isset($tabMenu[$b]['right'])) $tabMenu[$b]['right'] = $perms;

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> /* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -76,16 +77,23 @@ class MenuTop {
if ($tabMenu[$i]['right'] == true) if ($tabMenu[$i]['right'] == true)
{ {
// Define url // Define url
$url=DOL_URL_ROOT.$tabMenu[$i]['url']; if (valid_url($tabMenu[$i]['url'],1))
if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?'; {
else $url.='&'; $url = $tabMenu[$i]['url'];
$url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu='; }
$url.="&idmenu=".$tabMenu[$i]['rowid']; 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"'; if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"';
else $class='class="tmenu"'; else $class='class="tmenu"';
// Define idsel // Define idsel
$idsel=''; $idsel='';
print '<li><a '.$class.' '.$idsel.'href="'.$url.'"'.($this->atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'</a></li>'; print '<li><a '.$class.' '.$idsel.'href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":"").'>'.$tabMenu[$i]['titre'].'</a></li>';
} }
else else
{ {

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> /* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -54,45 +55,51 @@ class MenuTop {
*/ */
function showmenu() function showmenu()
{ {
require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php");
global $user,$conf,$langs,$dolibarr_main_db_name;; global $user,$conf,$langs,$dolibarr_main_db_name;
// On sauve en session le menu principal choisi // On sauve en session le menu principal choisi
if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"]; if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"];
if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"]; if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"];
$_SESSION["leftmenuopened"]=""; $_SESSION["leftmenuopened"]="";
$menuArbo = new Menubase($this->db,'auguria','top');
$menuArbo = new Menubase($this->db,'auguria','top'); $tabMenu = $menuArbo->menuTopCharger(1,$_SESSION['mainmenu'], 'auguria');
$tabMenu = $menuArbo->menuTopCharger(1,$_SESSION['mainmenu'], 'auguria');
print '<ul>';
print '<ul>';
for($i=0; $i<count($tabMenu); $i++)
for($i=0; $i<count($tabMenu); $i++) {
{ if ($tabMenu[$i]['enabled'] == true)
if ($tabMenu[$i]['enabled'] == true) {
{ if ($tabMenu[$i]['right'] == true)
if ($tabMenu[$i]['right'] == true) {
// Define url
if (valid_url($tabMenu[$i]['url'],1))
{ {
// Define url $url = $tabMenu[$i]['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 (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"';
else $class='class="tmenu"';
// Define idsel
$idsel='';
print '<li><a '.$class.' '.$idsel.'href="'.$url.'"'.($this->atarget?" target=$tabMenu[$i]['atarget']":"").'>'.$tabMenu[$i]['titre'].'</a></li>';
} }
else else
{ {
print '<li><div class="tmenudisabled">'.$tabMenu[$i]['titre'].'</div></li>'; $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 '<li><a '.$class.' '.$idsel.'href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":"").'>'.$tabMenu[$i]['titre'].'</a></li>';
}
else
{
print '<li><div class="tmenudisabled">'.$tabMenu[$i]['titre'].'</div></li>';
}
}
}
print '</ul>'; print '</ul>';
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2007-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * 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'].'" '); $idsel=(empty($tabMenu[$i]['mainmenu'])?'id="none" ':'id="'.$tabMenu[$i]['mainmenu'].'" ');
if ($tabMenu[$i]['right'] == true) if ($tabMenu[$i]['right'] == true)
{ {
$url=DOL_URL_ROOT.$tabMenu[$i]['url']; if (valid_url($tabMenu[$i]['url'],1))
if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?'; {
else $url.='&'; $url = $tabMenu[$i]['url'];
$url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu='; }
$url.="&idmenu=".$tabMenu[$i]['rowid']; 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"'; if (! empty($_SESSION['idmenu']) && $tabMenu[$i]['rowid'] == $_SESSION['idmenu']) $class='class="tmenusel"';
else $class='class="tmenu"'; else $class='class="tmenu"';
print '<td class="tmenu"><a '.$class.' '.$idsel.'href="'.$url.'"'.($this->atarget?" target=$this->atarget":"").'>'; print '<td class="tmenu"><a '.$class.' '.$idsel.'href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":"").'>';
print $tabMenu[$i]['titre']; print $tabMenu[$i]['titre'];
print '</a></td>'; print '</a></td>';
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2007-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -350,39 +350,45 @@ class MenuTop {
if (! $this->hideifnotallowed) print '<td class="tmenu"><a class="tmenudisabled" '.$idsel.'href="#">'.$langs->trans("MenuMembers").'</a></td>'; if (! $this->hideifnotallowed) print '<td class="tmenu"><a class="tmenudisabled" '.$idsel.'href="#">'.$langs->trans("MenuMembers").'</a></td>';
} }
} }
// Affichage des menus personnalises // Affichage des menus personnalises
require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php");
$menuArbo = new Menubase($this->db,'eldy','top'); $menuArbo = new Menubase($this->db,'eldy','top');
$tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy'); $tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy');
for($i=0; $i<count($tabMenu); $i++) for($i=0; $i<count($tabMenu); $i++)
{ {
if ($tabMenu[$i]['enabled'] == true) if ($tabMenu[$i]['enabled'] == true)
{ {
$idsel=(empty($tabMenu[$i]['mainmenu'])?'id="none" ':'id="'.$tabMenu[$i]['mainmenu'].'" ');
if ($tabMenu[$i]['right'] == true) if ($tabMenu[$i]['right'] == true)
{ {
$url=DOL_URL_ROOT.$tabMenu[$i]['url']; // Define url
if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?'; if (valid_url($tabMenu[$i]['url'],1))
else $url.='&'; {
$url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu='; $url = $tabMenu[$i]['url'];
$url.="&idmenu=".$tabMenu[$i]['rowid']; }
if (! empty($_SESSION['idmenu']) && $tabMenu[$i]['rowid'] == $_SESSION['idmenu']) $class='class="tmenusel"'; else
else $class='class="tmenu"'; {
print '<td class="tmenu"><a '.$class.' '.$idsel.'href="'.$url.'"'.($this->atarget?" target=$this->atarget":"").'>'; $url=DOL_URL_ROOT.$tabMenu[$i]['url'];
print $tabMenu[$i]['titre']; if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?';
print '</a></td>'; else $url.='&';
} $url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu=';
else $url.="&idmenu=".$tabMenu[$i]['rowid'];
{ }
if (! $this->hideifnotallowed) print '<td class="tmenu"><a class="tmenudisabled" '.$idsel.'href="#">'.$tabMenu[$i]['titre'].'</a></td>'; if (! empty($_GET["idmenu"]) && $tabMenu[$i]['rowid'] == $_GET["idmenu"]) $class='class="tmenusel"';
} else $class='class="tmenu"';
} // Define idsel
} $idsel='';
print '<li><a '.$class.' '.$idsel.'href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":"").'>'.$tabMenu[$i]['titre'].'</a></li>';
}
else
{
print '<li><div class="tmenudisabled">'.$tabMenu[$i]['titre'].'</div></li>';
}
}
}
print '</tr></table>'; print '</tr></table>';
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2007-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -350,31 +350,38 @@ class MenuTop {
if (! $this->hideifnotallowed) print '<td class="tmenu"><a class="tmenudisabled" '.$idsel.'href="#">'.$langs->trans("MenuMembers").'</a></td>'; if (! $this->hideifnotallowed) print '<td class="tmenu"><a class="tmenudisabled" '.$idsel.'href="#">'.$langs->trans("MenuMembers").'</a></td>';
} }
} }
// Affichage des menus personnalises // Affichage des menus personnalises
require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php");
$menuArbo = new Menubase($this->db,'eldy','top'); $menuArbo = new Menubase($this->db,'eldy','top');
$tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy'); $tabMenu = $menuArbo->menuTopCharger(0,$_SESSION['mainmenu'],'eldy');
for($i=0; $i<count($tabMenu); $i++) for($i=0; $i<count($tabMenu); $i++)
{ {
if ($tabMenu[$i]['enabled'] == true) if ($tabMenu[$i]['enabled'] == true)
{ {
$idsel=(empty($tabMenu[$i]['mainmenu'])?'id="none" ':'id="'.$tabMenu[$i]['mainmenu'].'" '); $idsel=(empty($tabMenu[$i]['mainmenu'])?'id="none" ':'id="'.$tabMenu[$i]['mainmenu'].'" ');
if ($tabMenu[$i]['right'] == true) if ($tabMenu[$i]['right'] == true)
{ {
$url=DOL_URL_ROOT.$tabMenu[$i]['url']; if (valid_url($tabMenu[$i]['url'],1))
if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?'; {
else $url.='&'; $url = $tabMenu[$i]['url'];
$url.='mainmenu='.$tabMenu[$i]['mainmenu'].'&leftmenu='; }
$url.="&idmenu=".$tabMenu[$i]['rowid']; else
if (! empty($_SESSION['idmenu']) && $tabMenu[$i]['rowid'] == $_SESSION['idmenu']) $class='class="tmenusel"'; {
else $class='class="tmenu"'; $url=DOL_URL_ROOT.$tabMenu[$i]['url'];
print '<td class="tmenu"><a '.$class.' '.$idsel.'href="'.$url.'"'.($this->atarget?" target=$this->atarget":"").'>'; if (! eregi('\?',DOL_URL_ROOT.$tabMenu[$i]['url'])) $url.='?';
print $tabMenu[$i]['titre']; else $url.='&';
print '</a></td>'; $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 '<td class="tmenu"><a '.$class.' '.$idsel.'href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":"").'>';
print $tabMenu[$i]['titre'];
print '</a></td>';
} }
else else
{ {