1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-14 01:19:44 +01:00

Issue #2369 Retrieve params for a given menu and area.

This commit is contained in:
Cameron 2017-02-09 11:24:54 -08:00
parent 3271b04087
commit e4b801e12b

View File

@ -41,11 +41,22 @@ class e_menu
*/
protected $_visibility_cache = array();
/**
* @var null
*/
protected $_current_menu = null;
/**
* @var array
*/
protected $_current_parms = array();
/**
* Params of all active menus.
* @var array
*/
protected $_menu_parms = array();
/**
* Constructor
*
@ -101,6 +112,13 @@ class e_menu
$total[$area] = 0;
}
$this->eMenuActive[$area][] = $row;
if(!empty($row['menu_parms']))
{
$key = $row['menu_name'];
$this->_menu_parms[$area][$key][] = $row['menu_parms'];
}
$total[$area]++;
}
}
@ -144,6 +162,36 @@ class e_menu
}
/**
* Return the parameters of an active Menu.
* @param string $menuName
* @param int $area
* @example $parms = $tmp->getParams('news_months_menu',1);
* @return array|bool
*/
public function getParams($menuName, $area)
{
if(empty($area) || empty($menuName))
{
return false;
}
if(!empty($this->_menu_parms[$area][$menuName]))
{
$arr = array();
foreach($this->_menu_parms[$area][$menuName] as $val)
{
$arr[] = e107::unserialize($val);
}
return $arr;
}
return false;
}
/**
* Experimental V2 Menu Re-Write - retrieve Menu data from $pref['menu_layouts']
*/