Ejemplo n.º 1
0
 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 . '"';
             }
         }
     }
 }