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'); }