Ejemplo n.º 1
0
 /**
  * Converts query result array into BASE_MenuItem items array.
  *
  * @param array $items
  */
 public function getMenuItems(array $menuItems)
 {
     $resultArray = array();
     foreach ($menuItems as $value) {
         $visible = (int) $value['visibleFor'];
         $auth = OW::getUser()->isAuthenticated();
         if ($visible === 0 || $visible === 1 && $auth || $visible === 2 && !$auth) {
             continue;
         }
         if (!empty($value['externalUrl'])) {
             $url = $value['externalUrl'];
         } else {
             if (!empty($value['uri'])) {
                 $url = OW::getRouter()->getBaseUrl() . $value['uri'];
             } else {
                 if (!empty($value['routePath'])) {
                     $url = OW::getRouter()->urlForRoute($value['routePath']);
                 } else {
                     if (!empty($value['class']) && !empty($value['action'])) {
                         $url = OW::getRouter()->urlFor($value['class'], $value['action']);
                     } else {
                         $url = '_INVALID_URL_';
                     }
                 }
             }
         }
         $menuItem = new BASE_MenuItem();
         $menuItem->setKey($value['menu_key']);
         $menuItem->setLabel(OW::getLanguage()->text($value['prefix'], $value['menu_key']));
         $menuItem->setOrder($value['order']);
         $menuItem->setUrl($url);
         $menuItem->setNewWindow($value['newWindow']);
         $menuItem->setPrefix($value['prefix']);
         $resultArray[] = $menuItem;
     }
     return $resultArray;
 }