Esempio n. 1
0
 /**
  * @param  array  $component  The parent menu node
  * @param  array  $items      The menu items to output
  * @param  bool   $disabled   If the menu item should be disabled (grayed)
  * @param  int    $depth      The depth of the menu items
  * @return null|string
  */
 private static function getMenuItems($component, $items = array(), $disabled = false, $depth = 0)
 {
     $parentTitleCleanHtml = isset($component['title']) ? $component['title'] : null;
     $parentAccess = isset($component['access']) ? $component['access'] : null;
     $return = null;
     if ($parentTitleCleanHtml && modCBAdminHelper::checkAccess($parentAccess)) {
         if (!$disabled) {
             if (!$depth) {
                 $return .= '<li class="' . (checkJversion('3.0+') ? 'dropdown' : 'node') . '">' . '<a' . (checkJversion('3.0+') ? ' class="dropdown-toggle" data-toggle="dropdown"' : null) . ' href="#">' . $parentTitleCleanHtml . (checkJversion('3.0+') ? ' <span class="caret"></span>' : null) . '</a>';
             }
             if ($items) {
                 $menu = null;
                 foreach ($items as $item) {
                     $title = isset($item['title']) ? $item['title'] : null;
                     $link = isset($item['link']) ? $item['link'] : null;
                     $access = isset($item['access']) ? $item['access'] : null;
                     $icon = isset($item['icon']) ? $item['icon'] : null;
                     $target = isset($item['target']) ? $item['target'] : null;
                     $subMenu = isset($item['submenu']) ? $item['submenu'] : array();
                     if ($title && $link && modCBAdminHelper::checkAccess($access)) {
                         $subMenu = $subMenu ? modCBAdminHelper::getMenuItems($item, $subMenu, false, $depth + 1) : null;
                         $menu .= '<li' . ($subMenu ? ' class="' . (checkJversion('3.0+') ? 'dropdown-submenu' : 'node') . '"' : null) . '>' . '<a' . ($icon ? ' class="' . (checkJversion('3.0+') ? 'menu-' : 'icon-16-') . htmlspecialchars($icon) . '"' : null) . ' href="' . htmlspecialchars($link) . '"' . ($target ? ' target="' . htmlspecialchars($target) . '"' : null) . '>' . '<span>' . $title . '</span>' . '</a>' . $subMenu . '</li>';
                     } elseif ($title == 'spacer') {
                         $menu .= '<li class="' . (checkJversion('3.0+') ? 'divider' : 'separator') . '"><span></span></li>';
                     }
                 }
                 if ($menu) {
                     $return .= '<ul' . (checkJversion('3.0+') ? ' class="dropdown-menu"' : null) . '>' . $menu . '</ul>';
                 }
             }
             if (!$depth) {
                 $return .= '</li>';
             }
         } elseif (!$depth) {
             $return .= '<li class="disabled">' . '<a href="#">' . $parentTitleCleanHtml . '</a>' . '</li>';
         }
     }
     return $return;
 }