Qual: More robust error management for menu description

This commit is contained in:
Laurent Destailleur 2013-03-30 19:11:52 +01:00
parent 000fe2c864
commit 4c1f17f42f

View File

@ -990,7 +990,7 @@ abstract class DolibarrModules
//print 'xxx'.$this->menu[$key]['fk_menu'];exit; //print 'xxx'.$this->menu[$key]['fk_menu'];exit;
$foundparent=0; $foundparent=0;
$fk_parent=$this->menu[$key]['fk_menu']; $fk_parent=$this->menu[$key]['fk_menu'];
if (preg_match('/r=/',$fk_parent)) if (preg_match('/^r=/',$fk_parent)) // old deprecated method
{ {
$fk_parent=str_replace('r=','',$fk_parent); $fk_parent=str_replace('r=','',$fk_parent);
if (isset($this->menu[$fk_parent]['rowid'])) if (isset($this->menu[$fk_parent]['rowid']))
@ -999,14 +999,14 @@ abstract class DolibarrModules
$foundparent=1; $foundparent=1;
} }
} }
elseif (preg_match('/fk_mainmenu=(.*),fk_leftmenu=(.*)/',$fk_parent,$reg)) elseif (preg_match('/^fk_mainmenu=([a-zA-Z0-9_]+),fk_leftmenu=([a-zA-Z0-9_]+)$/',$fk_parent,$reg))
{ {
$menu->fk_menu=-1; $menu->fk_menu=-1;
$menu->fk_mainmenu=$reg[1]; $menu->fk_mainmenu=$reg[1];
$menu->fk_leftmenu=$reg[2]; $menu->fk_leftmenu=$reg[2];
$foundparent=1; $foundparent=1;
} }
elseif (preg_match('/fk_mainmenu=(.*)/',$fk_parent,$reg)) elseif (preg_match('/^fk_mainmenu=([a-zA-Z0-9_]+)$/',$fk_parent,$reg))
{ {
$menu->fk_menu=-1; $menu->fk_menu=-1;
$menu->fk_mainmenu=$reg[1]; $menu->fk_mainmenu=$reg[1];