Bug #21494 » patch4.3.0RC1_jsmenu_mpovl_V2.diff
class.tslib_menu.php Thu Nov 19 10:58:56 2009 | ||
---|---|---|
$pid = $mount_info['mount_pid'];
|
||
}
|
||
|
||
// Set "&MP=" var:
|
||
$MP_var = implode(',',$MP_array);
|
||
$MP_params = $MP_var ? '&MP='.rawurlencode($MP_var) : '';
|
||
|
||
// UIDs to ban:
|
||
$banUidArray = $this->getBannedUids();
|
||
|
||
... | ... | |
|
||
$menuItems = is_array($menuItemArray) ? $menuItemArray : $this->sys_page->getMenu($pid);
|
||
foreach($menuItems as $uid => $data) {
|
||
|
||
// $data['_MP_PARAM'] contains MP param for overlay mount points (MPs with "substitute this page" set)
|
||
// if present: add param to copy of MP array (copy used for that submenu branch only)
|
||
$MP_array_sub = $MP_array;
|
||
if(array_key_exists('_MP_PARAM', $data) && $data['_MP_PARAM']) {
|
||
$MP_array_sub[] = $data['_MP_PARAM'];
|
||
}
|
||
// Set "&MP=" var:
|
||
$MP_var = implode(',',$MP_array_sub);
|
||
$MP_params = $MP_var ? '&MP='.rawurlencode($MP_var) : '';
|
||
|
||
$spacer = (t3lib_div::inList($this->spacerIDList,$data['doktype'])?1:0); // if item is a spacer, $spacer is set
|
||
if ($this->mconf['SPC'] || !$spacer) { // If the spacer-function is not enabled, spacers will not enter the $menuArr
|
||
if (!t3lib_div::inList($this->doktypeExcludeList,$data['doktype']) && (!$data['nav_hide'] || $this->conf['includeNotInMenu']) && !t3lib_div::inArray($banUidArray,$uid)) { // Page may not be 'not_in_menu' or 'Backend User Section' + not in banned uid's
|
||
if ($count<$levels) {
|
||
$addLines = $this->generate_level($levels,$count+1,$data['uid'],'',$MP_array);
|
||
$addLines = $this->generate_level($levels,$count+1,$data['uid'],'',$MP_array_sub);
|
||
} else {
|
||
$addLines = '';
|
||
}
|