$webUser = WebUser::getInstance(); if (isset($webUser->acl_role_id) && $webUser->acl_role_id > 0) { $acl = EDM_Acl::getInstance(); $db = Zend_Db_Table::getDefaultAdapter(); $navs = $db->fetchAll("SELECT acl_resource.acl_resource_name, acl_privilege.acl_privilege_name, navigation.navigation_name FROM navigation, acl_privilege, acl_resource WHERE navigation.acl_privilege_id = acl_privilege.acl_privilege_id AND acl_privilege.acl_resource_id = acl_resource.acl_resource_id ORDER BY navigation.navigation_order"); $this->view->nav_list = array(); foreach ($navs as $nav_item) { if ($acl->has($nav_item['acl_resource_name'])) { if ($acl->isAllowed($webUser->acl_role_id, $nav_item['acl_resource_name'], $nav_item['acl_privilege_name'])) { $this->view->nav_list[] = array('href'=>array('controller'=>$nav_item['acl_resource_name'], 'action'=>$nav_item['acl_privilege_name']), 'name'=>$nav_item['navigation_name']); } } } return $this->view->render('nav/list.phtml'); }