public function RenderAdminMainMenu()
 {
     $this->userModel = new Model_User();
     $this->currentUser = $this->userModel->getCurrentUser();
     $cache = Digitalus_Cache_Manager::getInstance();
     $key = 'admin_main_menu_' . $this->currentUser->role;
     // Lay du lieu tu cache ra
     if (($html = $cache->loadCache($key)) != false) {
         return $html;
     }
     $objMenus = new Model_Menus();
     $rsRootLevel = $objMenus->fetchAll('parent = 0 AND active = 1', 'order ASC');
     $html = null;
     foreach ($rsRootLevel as $rowRootLevel) {
         $sub_menu_html = null;
         $rsNextLevel = $rowRootLevel->findDependentRowset($rowRootLevel->getTableClass(), null, $rowRootLevel->select()->where('active = 1')->order('order ASC'));
         if (count($rsNextLevel) > 0) {
             $sub_menu_html = self::RenderAdminMenu($rsNextLevel, 0);
         }
         if (is_null($sub_menu_html) && empty($rowRootLevel->admin_menu_link)) {
             continue;
         }
         $href = 'javascript:void(0);';
         if (!empty($rowRootLevel->admin_menu_link)) {
             $href = $rowRootLevel->admin_menu_link;
         }
         $html .= "<li><a href='{$href}' class='menulink'>{$rowRootLevel->name}</a>{$sub_menu_html}</li>";
     }
     if (!is_null($html)) {
         $html = "<div id='main_menu'><ul class='menu' id='menu'>{$html}</ul></div>";
     }
     // Luu du lieu vao cache
     $cache->saveCache($html, $key);
     return $html;
 }
Example #2
0
 /**
  * The default action
  *
  * Display the main menu admin page
  *
  * @return void
  */
 public function indexAction()
 {
     $id = (int) $this->_request->getParam('cat', 0);
     $conditions = "parent = 0";
     if (!is_null($id)) {
         $conditions = "parent = {$id}";
     }
     $objMenus = new Model_Menus();
     $this->view->menuLevelOnes = $objMenus->fetchAll($conditions, "order ASC");
     $this->view->menuRoot = $objMenus->fetchAll("parent = 0", "order ASC");
     $this->view->currentMenu = $id;
 }
 function _loadMenuTree($argMenuList, &$argArrMenu, $argLevel, $subtractId)
 {
     $objMenus = new Model_Menus();
     foreach ($argMenuList as $objMenu) {
         $len = strlen($objMenu->name);
         $str = str_pad("|__ " . $objMenu->name, $len + $argLevel * 6, "-", STR_PAD_LEFT);
         $argArrMenu[$objMenu->menu_id] = $str;
         if ($objMenu->menu_id == $subtractId) {
             return;
         }
         $objMenuNextLevel = $objMenus->fetchAll("parent = {$objMenu->menu_id}", "order ASC");
         $this->_loadMenuTree($objMenuNextLevel, $argArrMenu, $argLevel + 1, $subtractId);
     }
 }
 public function RenderAdminMainMenu()
 {
     $userModel = new Model_User();
     $currentUser = $userModel->getCurrentUser();
     $objMenus = new Model_Menus();
     $rsRootLevel = $objMenus->fetchAll('parent = 0', 'order ASC');
     $html = "<div id='main_menu'><ul class='menu' id='menu'>";
     foreach ($rsRootLevel as $rowRootLevel) {
         $html .= "<li>";
         if (empty($rowRootLevel->admin_menu_link)) {
             $html .= "<a href='javascript:void(0)' class='menulink'>{$rowRootLevel->name}</a>";
         } else {
             $html .= "<a href='{$rowRootLevel->admin_menu_link}' class='menulink'>{$rowRootLevel->name}</a>";
         }
         $rsNextLevel = $rowRootLevel->findDependentRowset($rowRootLevel->getTableClass(), null, $rowRootLevel->select()->order('order ASC'));
         if (count($rsNextLevel) > 0) {
             $html .= self::RenderAdminMenu($rsNextLevel, 0);
         }
         $html .= "</li>";
     }
     $html .= "</ul></div>";
     return $html;
 }