public static function hasPrivilige($request, $action = null) { $controller = str_replace('-', '', $request->getControllerName()); if ($action == null) { $action = self::mapActionToAccessAction($request); } $privileges = new \Zend_Config_Xml(APPLICATION_PATH . "/configs/privileges.xml"); $modules = self::findAllModules($privileges, $controller); $hasPrivilege = false; foreach ($modules as $module) { $module = self::mapModuleToAcceesModule($module); $hasPrivilege = $hasPrivilege || Manager::hasAccess($action, $module); } return $hasPrivilege; }
protected function _checkPrivileges(Zend_Config_Xml $navConfig) { $action = \Application\Access\Manager::ACTION_READ; $module = \Application\Access\Manager::MODULE_CUSTOMERS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Customers); } $module = \Application\Access\Manager::MODULE_APPLICATIONS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Applications); } $module = \Application\Access\Manager::MODULE_EMPLOYEES; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Employees); } $module = \Application\Access\Manager::MODULE_SETTLEMENTS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->settlements); } $module = \Application\Access\Manager::MODULE_RECRUITMENTS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->recruitment); } $module = \Application\Access\Manager::MODULE_PARTNERS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Partners); } $module = \Application\Access\Manager::MODULE_PRODUCTS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Products); } $module = \Application\Access\Manager::MODULE_NEWS; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->News); } $module = \Application\Access\Manager::MODULE_CONFIGURATION; if (\Application\Access\Manager::hasAccess($action, $module) == false) { unset($navConfig->Configuration); } return $navConfig; }