public function find($id, Application_Model_Role $role) { $result = $this->getDbTable()->find($id); if (0 === count($result)) { return; } $role->setOptions($result->current()->toArray()); }
public function createAction() { $roleCreateForm = new Application_Form_RoleCreate(); /** @var $request Zend_Controller_Request_Http */ $request = $this->getRequest(); if ($request->isPost() && $roleCreateForm->isValid($request->getPost())) { $model = new Application_Model_Role(); $model->setFromArray($roleCreateForm->getValues()); $this->_getRoleMapper()->save($model); $this->getFlashMessenger()->addSuccessMessage(sprintf('successfully created role with id %d', $model->getId())); $this->_redirect($this->url('index'), array('exit' => true)); } $this->view->assign('form', $roleCreateForm); }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $auth = Zend_Auth::getInstance(); $roles = array(Core_Acl::GUEST); if ($auth->hasIdentity()) { $admin = 'admin'; if ($admin == 'admin') { $modelRol = new Application_Model_Role(); $roles = $modelRol->getRolesByUser($auth->getIdentity()->iduser); if (count($roles) == 0) { $roles = array(Core_Acl::GUEST); } } } $this->setAcl(Zend_Registry::get('Zend_Acl')); $request = $this->getRequest(); //Check if the request is valid and controller an action exists. If not redirects to an error page. if (!$this->isValidResource($request)) { if (!$auth->hasIdentity()) { $this->getResponse()->setRedirect('/'); return; } $request->setControllerName('error'); $request->setActionName('error'); throw new Exception("La ruta solicitada no existe."); return; } $continue = false; foreach ($roles as $rol) { $this->setRole($rol); //Check if user is allowed to acces the url and redirect if needed if ($this->hasAccessUrl($request)) { $continue = true; } } if (!$continue) { if (!$auth->hasIdentity()) { $this->getResponse()->setRedirect('/'); return; } $request->setControllerName('error'); $request->setActionName('error'); header("Location: /admin/error/error-privilegio"); exit; // $this->_redirect('/admin/error/error-privilegio'); // throw new Exception("Acceso denegado para el usuario."); // return; } }
public function __construct() { $this->addRole(new Zend_Acl_Role(self::GUEST)); $this->add(new Zend_Acl_Resource('admin::error::error')); $this->add(new Zend_Acl_Resource('admin::index::error404')); $this->add(new Zend_Acl_Resource('admin::index::index')); $this->add(new Zend_Acl_Resource('admin::index::login')); $this->add(new Zend_Acl_Resource('admin::index::logout')); $this->add(new Zend_Acl_Resource('landing::*')); $this->add(new Zend_Acl_Resource('office::*')); $this->add(new Zend_Acl_Resource('service::*')); $this->add(new Zend_Acl_Resource('challenge::*')); $this->add(new Zend_Acl_Resource('admin-challenge::*')); $this->allow(self::GUEST, 'admin::error::error'); $this->allow(self::GUEST, 'admin::index::error404'); $this->allow(self::GUEST, 'admin::index::index'); $this->allow(self::GUEST, 'admin::index::login'); $this->allow(self::GUEST, 'admin::index::logout'); $this->allow(self::GUEST, 'landing::*'); $this->allow(self::GUEST, 'office::*'); $this->allow(self::GUEST, 'service::*'); $this->allow(self::GUEST, 'challenge::*'); $this->allow(self::GUEST, 'admin-challenge::*'); $modelAcl = new Application_Model_Acl(); $listAcl = $modelAcl->getListResources(); foreach ($listAcl as $resource) { try { if (!$this->has($resource)) { $this->add(new Zend_Acl_Resource($resource)); } } catch (Exception $ex) { } } $modelRole = new Application_Model_Role(); $roles = $modelRole->getAllRoles(); foreach ($roles as $item) { try { $this->addRole(new Zend_Acl_Role($item['desrol']), self::GUEST); $aclsRole = $modelAcl->getAclByRole($item['idrol']); foreach ($aclsRole as $permission) { $this->allow($item['desrol'], $permission); } } catch (Exception $ex) { } } // $this->add(new Zend_Acl_Resource('admin::tipo-antecedentes')); //PERMISOS }
/** * La table Membres comporte une colonne "role" */ public function _getRoleKey() { $dba = Zend_Registry::get('dba'); $droit_table = new Application_Model_Droit($dba); $where[] = $dba->quoteInto("ID_MEMBRE = ?", $this->ID_MEMBRE); $mydroits = $droit_table->fetchAll($where)->toArray(); $role_table = new Application_Model_Role($dba); $result = array(); foreach ($mydroits as $droit) { $role_row = $role_table->find($droit["ID_ROLE"]); $role = $role_row->current(); $result[] = $role["NOM_ROLE"]; } return $result; /* return $this->ROLE;*/ }
public function __construct() { $this->addRole(new Zend_Acl_Role(self::GUEST)); $this->add(new Zend_Acl_Resource('admin::error::error-privilegio')); $this->add(new Zend_Acl_Resource('admin::index::error404')); $this->add(new Zend_Acl_Resource('admin::index::index')); $this->add(new Zend_Acl_Resource('admin::index::login')); $this->add(new Zend_Acl_Resource('admin::index::logout')); $this->add(new Zend_Acl_Resource('admin::dashboard::index')); $this->add(new Zend_Acl_Resource('admin::index::*')); $this->add(new Zend_Acl_Resource('preview::*')); $this->add(new Zend_Acl_Resource('service::server::soap')); $this->allow(self::GUEST, 'admin::error::error-privilegio'); $this->allow(self::GUEST, 'admin::index::error404'); $this->allow(self::GUEST, 'admin::index::index'); $this->allow(self::GUEST, 'admin::index::login'); $this->allow(self::GUEST, 'admin::index::logout'); $this->allow(self::GUEST, 'admin::dashboard::index'); $this->allow(self::GUEST, 'admin::index::*'); $this->allow(self::GUEST, 'preview::*'); $this->allow(self::GUEST, 'service::server::soap'); $modelAcl = new Application_Model_Acl(); $listAcl = $modelAcl->getListResources(); foreach ($listAcl as $resource) { try { if (!$this->has($resource)) { $this->add(new Zend_Acl_Resource($resource)); } } catch (Exception $ex) { } } $modelRole = new Application_Model_Role(); $roles = $modelRole->getAllRoles(); foreach ($roles as $item) { try { $this->addRole(new Zend_Acl_Role($item['name']), self::GUEST); $aclsRole = $modelAcl->getAclByRole($item['idrol']); foreach ($aclsRole as $permission) { $this->allow($item['name'], $permission); } } catch (Exception $ex) { echo $ex->getMessage(); exit; } } }
public function getRolesByCompany($request) { try { $roleObj = new Application_Model_Role(); $roleObj->setCompanyId($request->companyid); $roleObj->setStatus('TRUE'); $mapper = new Application_Model_RoleDataMapper(); $status = $mapper->getRolesByCompany($roleObj); return $status; } catch (Exception $ex) { Rdine_Logger_FileLogger::info($ex->getMessage()); throw new Exception($ex->getMessage()); } }
public function ajouterdroitAction() { $dba = Zend_Registry::get('dba'); $this->_helper->layout->disableLayout(true); $this->_helper->viewRenderer->setNoRender(true); $id_role = $_POST["id_role"]; $id_membre = $_POST["id_membre"]; $result = array(); if ($id_role != null && $id_membre != null) { $datas = array('ID_ROLE' => $id_role, 'ID_MEMBRE' => $id_membre); $result["STATUS"] = "OK"; $droit_table = new Application_Model_Droit($dba); $where = $dba->quoteInto("ID_MEMBRE = ?", $id_membre); $droit_rows = $droit_table->fetchAll($where); foreach ($droit_rows as $role_row) { if ($role_row["ID_ROLE"] == $id_role) { $result["STATUS"] = "Ce membre possede deja ce role"; break; } } if ($result["STATUS"] == "OK") { $role_table = new Application_Model_Role($dba); $role_row = $role_table->find($id_role); $role = $role_row->current(); $result["NOM_ROLE"] = $role["NOM_ROLE"]; $result["ID_ROLE"] = $id_role; $dba->beginTransaction(); try { $dba->insert('DROIT', $datas); $dba->commit(); } catch (Exception $e) { $dba->rollBack(); echo $e->getMessage(); } } } else { $result["STATUS"] = "FAIL"; } $json = json_encode($result); echo $json; }