static function prepareMenu(&$menu, $exclude_menu_ids, $params) { $MobileJoomla = MobileJoomla::getInstance(); $is_joomla15 = JMobileMenuHelper::_isJoomla15(); $user = JFactory::getUser(); $aid = $user->get('aid', 0); $app = JFactory::getApplication(); $sitemenu = $app->getMenu(); $router = $app->getRouter(); foreach ($menu as $i => $item) { $menu[$i] = clone $item; } foreach ($menu as $i => $item) { $allow = $is_joomla15 ? $sitemenu->authorize($item->id, $aid) : $sitemenu->authorise($item->id); if (!$allow || in_array($item->id, $exclude_menu_ids)) { unset($menu[$i]); continue; } $item->title = htmlspecialchars($is_joomla15 ? $item->name : $item->title); if (!$is_joomla15) { $item->anchor_css = htmlspecialchars($item->params->get('menu-anchor_css', '')); $item->menu_image = htmlspecialchars($item->params->get('menu_image', '')); } else { if ($item->type == 'menulink' && ($refItem = $sitemenu->getItem($item->query['Itemid']))) { $item->id = $refItem->id; $item->link = $refItem->link; $item->type = $refItem->type; $item->params = $refItem->params; } $item->anchor_css = ''; if (!is_object($item->params)) { $item->params = new JParameter($item->params); } $menu_image = $item->params->get('menu_image'); $item->menu_image = $menu_image && $menu_image != -1 ? JUri::base(true) . '/images/stories/' . $menu_image : ''; } $item->flink = $item->link; switch ($item->type) { case 'separator': case 'heading': continue; case 'url': if (strpos($item->link, 'index.php?') === 0 && strpos($item->link, 'Itemid=') === false) { $item->flink .= '&Itemid=' . $item->id; } break; case 'alias': $item->flink = 'index.php?Itemid=' . $item->params->get('aliasoptions'); break; default: if ($router->getMode() == JROUTER_MODE_SEF) { $item->flink = 'index.php?Itemid=' . $item->id; } else { $item->flink .= '&Itemid=' . $item->id; } } if (strcasecmp(substr($item->flink, 0, 4), 'http') && strpos($item->flink, 'index.php?') !== false) { $item->flink = JRoute::_($item->flink, true, $item->params->get('secure')); } else { $item->flink = JRoute::_($item->flink); } $item->accesskey = ''; if ($params->get('accesskey')) { $key = $MobileJoomla->getAccessKey(); if ($key !== false) { $item->accesskey = ' accesskey="' . $key . '"'; } } } }