private function _load(Administer_Model_Modules $m) { try { $load_data = $m->get_load(); if ($load_data) { foreach ($load_data as $class => $options) { switch ($class) { case 'resource': case 'resources': Model_Resources::getInstance()->add_resources($options, $m->folder, $m->is_active()); break; case 'route': case 'routes': Model_Zupalroutes::getInstance()->add_routes($options, $m->folder, $m->is_active()); break; default: throw new Exception("can't load resource {$class}"); } } } $m->resource_loaded = TRUE; $m->save(); } catch (Exception $e) { error_log(__METHOD__ . ': error loading ' . $m->folder); throw $e; } }
public function load_resources() { $res_selects = array(); foreach (Model_Resources::getInstance()->find_all(Model_Resources::getInstance()->table()->idField()) as $res) { error_log(__METHOD__ . ': loading resource ' . $res->identity()); $spec = array('label' => $res->title); $res_name = 'resource_' . $res->identity(); $res_selects[] = $res_name; $spec['name'] = $res_name; $spec['multiOptions'] = self::$res_options; $select = new Zend_Form_Element_Select($spec); $domain = $this->get_domain(); if ($domain && $domain->isSaved()) { if ($value = Model_Acl::find_acl($res, $domain)) { error_log(__METHOD__ . ': value = ' . $value); $select->setValue($value); } else { error_log(__METHOD__ . ': no value for res = ' . $res->identity() . ', role = ' . $domain->identity()); } } else { error_log(__METHOD__ . ': domain not saved'); } $this->addElement($select); } }
/** * * @return <type> */ protected function _init_resources_menu() { foreach (Model_Resources::getInstance()->findAll('resource_id') as $resource) { $this->resource->addMultiOption($resource->identity(), $resource->title); } }
/** * * @param boolean $pReload * @return Zend_Acl */ public static function acl($pReload = FALSE) { if ($pReload || is_null(self::$_acl)) { $acl = new Zend_Acl(); foreach (Model_Resources::getInstance()->find_all() as $res) { $acl->add($res); } foreach (Model_Roles::getInstance()->find_all() as $role) { $acl->addRole($role); } foreach (self::getInstance()->find_all() as $grant) { if ($grant->allow) { $acl->allow($grant->role, $grant->resource); } else { $acl->deny($grant->role, $grant->resource); } } self::$_acl = $acl; } return self::$_acl; }
/** * * * @return void */ public function load_resources() { $options = array(0 => '(none)'); foreach (Model_Resources::getInstance()->find_all() as $res) { $options[$res->identity()] = $res->title; } $this->resource->setMultiOptions($options); }
/** * */ public function roleseditexecuteAction() { $id = $this->_getParam('role_id'); $params = array('role_id' => $id); $form = new Administer_Form_Zupalroles($id); if ($form->isValid($this->_getAllParams())) { $form->save(); foreach (Model_Resources::getInstance()->findAll() as $res) { $resid = $res->identity(); if ($resvalue = $this->_getParam("resource_{$resid}")) { Model_Acl::getInstance()->set_acl($resid, $id, $resvalue); } } $params['message'] = 'Role Saved'; } else { $params['error'] = 'Cannot save form'; $params['reload'] = TRUE; $params = array_merge($this->_getAllParams(), $params); } $this->_forward('rolesedit', 'users', 'administer', $params); }
/** * * @return <type> */ protected function _init_resources_menu() { $options = Model_Resources::getInstance()->as_list('(none)'); $this->resource->set_data_source($options); }