function getEmptyMenuNode() { $menuNode = new MenuNode(); $menuNode->id = FALSE; $menuNode->type = 'separator'; $menuNode->link = ''; $menuNode->setAlias(''); $menuNode->setCaption(''); $menuNode->browserNav = ''; return $menuNode; }
public function GetHyperlink($aExtraParams) { $sContext = $this->oShortcut->Get('context'); $aContext = unserialize($sContext); if (isset($aContext['menu'])) { unset($aContext['menu']); } foreach ($aContext as $sArgName => $sArgValue) { $aExtraParams[$sArgName] = $sArgValue; } return parent::GetHyperlink($aExtraParams); }
function addMenuItemMenuNodes($parentMenuNode, $menuItemList, $minExpand, $openActiveOnly, $level = 0) { $parseAccessKeys = $this->parseAccessKey; foreach (array_keys($menuItemList) as $key) { $menuItem = $menuItemList[$key]; $menuNode = new MenuNode(); foreach (get_object_vars($menuItem) as $k => $field) { if (!is_object($field) && !is_array($field) && substr($k, 0, 1) != '_') { $menuNode->{$k} = $field; } } if ($menuNode->active || !$openActiveOnly || $level < $minExpand - 1) { $menuNode->expanded = TRUE; // active menu items are expanded } $name = $menuNode->getCaption(); if ($parseAccessKeys > 0) { $menuNode->accessKey = $this->parseAccessKey($name, $parseAccessKeys); if ($menuNode->accessKey != '') { // the name will now have the access key stripped off $menuNode->setCaption($name); } } $this->menuNodeByIdMap[$menuNode->id] = $menuNode; $this->menuNodeByNameMap[$name] = $menuNode; if ($menuNode->id != $name) { $this->menuNodeByNameMap[$name] = $menuNode; } if (isset($menuItem->_children)) { $children = $menuItem->_children; $this->addMenuItemMenuNodes($menuNode, $children, $minExpand, $openActiveOnly, $level + 1); } $parentMenuNode->addChildNode($menuNode); } }