Beispiel #1
0
 public static function hasAccessbyId($roleId, $resourceId)
 {
     $result = false;
     if ($roleId == 'guest') {
         return false;
     }
     //find resource and role connection, if there is any
     if (self::isAdmin($roleId)) {
         return true;
     }
     $resourceRole = new Default_Model_ResourceRole();
     $select3 = $resourceRole->getMapper()->getDbTable()->select()->where('idResource = ?', $resourceId)->where('idRole = ?', $roleId);
     $resourceRole->fetchRow($select3);
     if ($resourceRole->getId() != NULL) {
         $result = true;
     }
     return $result;
 }
Beispiel #2
0
 public function saveResourceAction()
 {
     //check if the auth user has acces to this modul
     //		if(!Needs_Tools::hasAccess($myUser = Zend_Registry::get('user')->getRoleId(),'setare_drept_rol')){
     //			die('No access!');
     //		}
     $resourceId = $this->getRequest()->getParam('resourceId');
     $roleId = $this->getRequest()->getParam('roleId');
     $actions = $this->getRequest()->getParam('actions');
     $return = 'Error occured';
     //BEGIN:save or delete
     if ($actions == 'add') {
         $modelRR = new Default_Model_ResourceRole();
         $select3 = $modelRR->getMapper()->getDbTable()->select()->where('idResource = ?', $resourceId)->where('idRole = ?', $roleId);
         $modelRR->fetchRow($select3);
         if ($modelRR->getId() == NULL) {
             $model = new Default_Model_ResourceRole();
             $model->setIdResource($resourceId);
             $model->setIdRole($roleId);
             if ($model->save()) {
                 $return = 'Successfully added';
             }
         } else {
             $return = 'Already in database';
         }
     } elseif ($actions == 'remove') {
         $model = new Default_Model_ResourceRole();
         $select3 = $model->getMapper()->getDbTable()->select()->where('idResource = ?', $resourceId)->where('idRole = ?', $roleId);
         $model->fetchRow($select3);
         if ($model->getId() != NULL) {
             if ($model->delete()) {
                 //remove the resource from all child elements
                 $role = new Default_Model_Role();
                 $role->find($roleId);
                 $graph = new Needs_Graph($role, false, array('idParent', 'id'), 'array');
                 $childRoles = $graph->getTree();
                 foreach ($childRoles as $value) {
                     $condition = array('idRole = ?' => $value['id'], 'idResource = ?' => $resourceId);
                     $this->db->delete('resource_role', $condition);
                 }
                 $return = 'Successfully deleted';
             }
         }
     }
     echo Zend_Json_Encoder::encode($return);
     //END:save or delete
 }
Beispiel #3
0
 public static function hasAccess($roleId, $resourceConst, $displayNone = NULL)
 {
     //if isAdmin no need for futher verification
     if (self::isAdmin($roleId)) {
         if ($displayNone) {
             return '';
         }
         return true;
     }
     //find resource
     $result = false;
     $resourceModel = new Default_Model_Resource();
     $select2 = $resourceModel->getMapper()->getDbTable()->select()->from(array('resource'), array('id'))->where('resource = ?', $resourceConst);
     $resourceModel->fetchRow($select2);
     if ($resourceModel->getId() != null) {
         //find resource and role connection, if there is any
         $resourceRole = new Default_Model_ResourceRole();
         $select3 = $resourceRole->getMapper()->getDbTable()->select()->where('idResource = ?', $resourceModel->getId())->where('idRole = ?', $roleId);
         $resourceRole->fetchRow($select3);
         if ($resourceRole->getId() != NULL) {
             $result = true;
         }
     }
     if ($displayNone && !$result) {
         $result = ' style="display:none"';
     } elseif ($displayNone) {
         return '';
     }
     return $result;
 }
Beispiel #4
0
 public function save(Default_Model_ResourceRole $value)
 {
     $data = array('id' => $value->getId(), 'idRole' => $value->getIdRole(), 'idResource' => $value->getIdResource(), 'created' => $value->getCreated());
     if (null === ($id = $value->getId())) {
         $data['created'] = new Zend_Db_Expr('NOW()');
         $id = $this->getDbTable()->insert($data);
     }
     return $id;
 }