Пример #1
0
 /**
  * Find all users
  * @param array $criteria
  * @param array $orderBy
  * @param array $paging
  * @return array 
  */
 public function fetchAll($criteria = array(), $orderBy = array(), &$paging = null)
 {
     /* @var $select Zend_Db_Select*/
     $select = $this->_dbTable->select();
     $select->setIntegrityCheck(false)->from(array('r' => 'auth_role'), array('r.*'));
     if (isset($criteria['search_filter'])) {
         $searchString = '%' . $criteria['search_filter'] . '%';
         $select->where(' r.name LIKE ? ', $searchString);
     }
     if (isset($criteria['name'])) {
         $searchString = '%' . $criteria['name'] . '%';
         $select->where(' r.name LIKE ? ', $searchString);
     }
     if (is_array($orderBy) && count($orderBy) > 0) {
         $select->order($orderBy);
     }
     //echo $select->__toString();die();
     // init paginator
     if ($paging != null) {
         $resultSet = $this->_getPagingRows($paging, $select);
     } else {
         $resultSet = $this->_dbTable->fetchAll($select);
     }
     $roles = array();
     if (0 == count($resultSet)) {
         return $roles;
     }
     foreach ($resultSet as $row) {
         $rowArray = $row->toArray();
         $role = new Auth_Model_Role($rowArray);
         $roles[] = $role;
     }
     return $roles;
 }
Пример #2
0
Файл: Acl.php Проект: abdala/la
 protected function _getAcl()
 {
     $acl = false;
     if (Zend_Registry::isRegistered('cache')) {
         $cache = Zend_Registry::get('cache');
         $acl = $cache->load('acl');
     }
     if (!$acl) {
         $acl = new Zend_Acl();
         $role = new Auth_Model_DbTable_Role();
         $resource = new Auth_Model_DbTable_Resource();
         $roleResource = new Auth_Model_DbTable_RoleResource();
         $roles = $role->fetchAll("name <> 'Todos'");
         $resources = $resource->getDistinctModules();
         $relations = $roleResource->fetchAllRelations();
         $acl->addRole('Todos');
         foreach ($roles as $role) {
             $acl->addRole($role['name'], 'Todos');
         }
         foreach ($resources as $resource) {
             $acl->addResource($resource['module']);
         }
         foreach ($relations as $relation) {
             $acl->allow($relation['name'], $relation['module'], $relation['privilege']);
         }
         if (Zend_Registry::isRegistered('cache')) {
             $cache->save($acl, 'acl');
         }
     }
     Zend_Registry::set('acl', $acl);
     return $acl;
 }