Esempio n. 1
0
 public function getResources($role_name)
 {
     if ($role_name == 'superadmin' || is_array($role_name) && in_array('superadmin', $role_name)) {
         return $this->fetchAll();
     }
     $modelRules = new Modules_Access_Model_Rules();
     $select = $this->select()->setIntegrityCheck(false)->from(array('resources' => $this->info('name')))->join(array('rules' => $modelRules->info('name')), 'resources.resource_name = rules.resource_name', false)->where('is_allowed = 1')->group('resources.resource_name');
     $select = is_string($role_name) ? $select->where('rules.role_name = ?', $role_name) : $select->where('rules.role_name IN (?)', $role_name);
     return $this->fetchAll($select);
 }
 public function up($params = false)
 {
     $modelResources = new Modules_Access_Model_Resources();
     $modelRules = new Modules_Access_Model_Rules();
     foreach ($this->_resources as $resource) {
         $modelResources->insert($resource);
         $modelRules->addRule($resource['resource_name'], 'admin', 'allow');
         $modelRules->addRule($resource['resource_name'], 'user', 'deny');
     }
     $modelRules->addRule('admin_module_dbmigrations', 'admin', 'deny');
     $modelRules->addRule('admin_module_guitestcase', 'admin', 'deny');
     $modelRules->addRule('admin_module_logger', 'admin', 'deny');
     $modelRules->addRule('admin_module_zfdebuginit', 'admin', 'deny');
     $modelRules->addRule('admin_module_search', 'admin', 'deny');
 }