Example #1
0
 public function find($id, Application_Model_Role $role)
 {
     $result = $this->getDbTable()->find($id);
     if (0 === count($result)) {
         return;
     }
     $role->setOptions($result->current()->toArray());
 }
Example #2
0
 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);
 }
Example #3
0
 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;
     }
 }
Example #4
0
 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
 }
Example #5
0
 /**
  * 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;*/
 }
Example #6
0
 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;
         }
     }
 }
Example #7
0
 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;
 }