New: Work on new menu management.
This commit is contained in:
parent
d752a41f05
commit
e352e4a56f
@ -512,6 +512,7 @@ class Menubase
|
|||||||
if ($type_user == 0) $sql.= " AND m.usertype IN (0,2)";
|
if ($type_user == 0) $sql.= " AND m.usertype IN (0,2)";
|
||||||
if ($type_user == 1) $sql.= " AND m.usertype IN (1,2)";
|
if ($type_user == 1) $sql.= " AND m.usertype IN (1,2)";
|
||||||
$sql.= " ORDER BY m.position, m.rowid";
|
$sql.= " ORDER BY m.position, m.rowid";
|
||||||
|
//print $sql;
|
||||||
|
|
||||||
//$tmp1=dol_microtime_float();
|
//$tmp1=dol_microtime_float();
|
||||||
//print '>>> 1 0<br>';
|
//print '>>> 1 0<br>';
|
||||||
@ -533,17 +534,21 @@ class Menubase
|
|||||||
$perms = true;
|
$perms = true;
|
||||||
if ($menu['perms'])
|
if ($menu['perms'])
|
||||||
{
|
{
|
||||||
$perms = verifCond($menu['perms']);
|
$tmpcond=$menu['perms'];
|
||||||
//print "verifCond rowid=".$menu['rowid']." ".$menu['perms'].":".$perms."<br>\n";
|
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z]+/','1==1',$tmpcond); // Force part of condition to true
|
||||||
|
$perms = verifCond($tmpcond);
|
||||||
|
//print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$perms."<br>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define $enabled
|
// Define $enabled
|
||||||
$enabled = true;
|
$enabled = true;
|
||||||
if ($menu['enabled'])
|
if ($menu['enabled'])
|
||||||
{
|
{
|
||||||
$enabled = verifCond($menu['enabled']);
|
$tmpcond=$menu['enabled'];
|
||||||
|
if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z]+/','1==1',$tmpcond); // Force part of condition to true
|
||||||
|
$enabled = verifCond($tmpcond);
|
||||||
if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1;
|
if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1;
|
||||||
//print "verifCond rowid=".$menu['rowid']." ".$menu['enabled'].":".$enabled."<br>\n";
|
//print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$enabled."<br>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define $title
|
// Define $title
|
||||||
|
|||||||
@ -88,7 +88,7 @@ if (! class_exists('MenuManager'))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$menumanager = new MenuManager($db, empty($user->societe_id)?0:1);
|
$menumanager = new MenuManager($db, empty($user->societe_id)?0:1);
|
||||||
$menumanager->loadMenu();
|
$menumanager->loadMenu('all','all');
|
||||||
|
|
||||||
$menumanager->showmenu('jmobile');
|
$menumanager->showmenu('jmobile');
|
||||||
|
|
||||||
|
|||||||
@ -55,9 +55,11 @@ class MenuManager
|
|||||||
/**
|
/**
|
||||||
* Load this->tabMenu
|
* Load this->tabMenu
|
||||||
*
|
*
|
||||||
|
* @param string $forcemainmenu To force mainmenu to load
|
||||||
|
* @param string $forceleftmenu To force leftmenu to load
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function loadMenu()
|
function loadMenu($forcemainmenu='',$forceleftmenu='')
|
||||||
{
|
{
|
||||||
global $conf, $user, $langs;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
@ -78,6 +80,7 @@ class MenuManager
|
|||||||
// On va le chercher en session si non defini par le lien
|
// On va le chercher en session si non defini par le lien
|
||||||
$mainmenu=isset($_SESSION["mainmenu"])?$_SESSION["mainmenu"]:'';
|
$mainmenu=isset($_SESSION["mainmenu"])?$_SESSION["mainmenu"]:'';
|
||||||
}
|
}
|
||||||
|
if (! empty($forcemainmenu)) $mainmenu=$forcemainmenu;
|
||||||
|
|
||||||
if (isset($_GET["leftmenu"]))
|
if (isset($_GET["leftmenu"]))
|
||||||
{
|
{
|
||||||
@ -98,6 +101,7 @@ class MenuManager
|
|||||||
// On va le chercher en session si non defini par le lien
|
// On va le chercher en session si non defini par le lien
|
||||||
$leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:'';
|
$leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:'';
|
||||||
}
|
}
|
||||||
|
if (! empty($forceleftmenu)) $leftmenu=$forceleftmenu;
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
||||||
$tabMenu=array();
|
$tabMenu=array();
|
||||||
@ -190,7 +194,9 @@ class MenuManager
|
|||||||
$tmpmainmenu=$val['mainmenu'];
|
$tmpmainmenu=$val['mainmenu'];
|
||||||
$tmpleftmenu='all';
|
$tmpleftmenu='all';
|
||||||
$submenu=new Menu();
|
$submenu=new Menu();
|
||||||
|
//var_dump($tmpmainmenu.' - '.$tmpleftmenu);
|
||||||
$res=print_left_auguria_menu($this->db,$this->menu_array,$this->menu_array_after,$this->tabMenu,$submenu,1,$tmpmainmenu,$tmpleftmenu);
|
$res=print_left_auguria_menu($this->db,$this->menu_array,$this->menu_array_after,$this->tabMenu,$submenu,1,$tmpmainmenu,$tmpleftmenu);
|
||||||
|
//var_dump($submenu->liste);
|
||||||
$nexturl=dol_buildpath($submenu->liste[0]['url'],1);
|
$nexturl=dol_buildpath($submenu->liste[0]['url'],1);
|
||||||
$canonrelurl=preg_replace('/\?.*$/','',$relurl);
|
$canonrelurl=preg_replace('/\?.*$/','',$relurl);
|
||||||
$canonnexturl=preg_replace('/\?.*$/','',$nexturl);
|
$canonnexturl=preg_replace('/\?.*$/','',$nexturl);
|
||||||
@ -205,8 +211,14 @@ class MenuManager
|
|||||||
foreach($submenu->liste as $key2 => $val2) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
foreach($submenu->liste as $key2 => $val2) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||||
{
|
{
|
||||||
$relurl2=dol_buildpath($val2['url'],1);
|
$relurl2=dol_buildpath($val2['url'],1);
|
||||||
//var_dump($val2);
|
$canonurl2=preg_replace('/\?.*$/','',$val2['url']);
|
||||||
print '<li'.($val2['level']==0?' data-role="list-divider"':'').'><a href="'.$relurl2.'">'.$val2['titre'].'</a></li>'."\n";
|
//var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']);
|
||||||
|
if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php'))) $relurl2='';
|
||||||
|
print '<li'.($val2['level']==0?' data-role="list-divider"':'').'>';
|
||||||
|
if ($relurl2) print '<a href="'.$relurl2.'">';
|
||||||
|
print $val2['titre'];
|
||||||
|
if ($relurl2) print '</a>';
|
||||||
|
print '</li>'."\n";
|
||||||
}
|
}
|
||||||
//var_dump($submenu);
|
//var_dump($submenu);
|
||||||
print '</ul>';
|
print '</ul>';
|
||||||
|
|||||||
@ -54,9 +54,11 @@ class MenuManager
|
|||||||
/**
|
/**
|
||||||
* Load this->tabMenu
|
* Load this->tabMenu
|
||||||
*
|
*
|
||||||
|
* @param string $forcemainmenu To force mainmenu to load
|
||||||
|
* @param string $forceleftmenu To force leftmenu to load
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function loadMenu()
|
function loadMenu($forcemainmenu='',$forceleftmenu='')
|
||||||
{
|
{
|
||||||
// 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"];
|
||||||
@ -75,6 +77,7 @@ class MenuManager
|
|||||||
// On va le chercher en session si non defini par le lien
|
// On va le chercher en session si non defini par le lien
|
||||||
$mainmenu=isset($_SESSION["mainmenu"])?$_SESSION["mainmenu"]:'';
|
$mainmenu=isset($_SESSION["mainmenu"])?$_SESSION["mainmenu"]:'';
|
||||||
}
|
}
|
||||||
|
if (! empty($forcemainmenu)) $mainmenu=$forcemainmenu;
|
||||||
|
|
||||||
if (isset($_GET["leftmenu"]))
|
if (isset($_GET["leftmenu"]))
|
||||||
{
|
{
|
||||||
@ -95,6 +98,7 @@ class MenuManager
|
|||||||
// On va le chercher en session si non defini par le lien
|
// On va le chercher en session si non defini par le lien
|
||||||
$leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:'';
|
$leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:'';
|
||||||
}
|
}
|
||||||
|
if (! empty($forceleftmenu)) $leftmenu=$forceleftmenu;
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
||||||
$tabMenu=array();
|
$tabMenu=array();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user