Пример #1
0
 /**
  *	Creates query for entities
  *
  *	@param		alias		string			Aliase  for file table
  *	@param		permConf	hash			Permission configuration. @see RM_Permission_Mapper::addPermissionToQuery
  *           								Fields: 'access-id-field', 'owner-id-field', 'join-table' are filled automatically
  *	@return		void
  */
 public function createFilesQuery($alias, array &$aliases, $permConf)
 {
     $binds = array();
     $query = $this->_fileStorage->createQuery($alias);
     if ($permConf) {
         $permConf['join-table'] = $alias;
         if (!isset($permConf['self-alias'])) {
             $permConf['self-alias'] = 'file_perm';
         }
         if (!isset($permConf['self-prefix'])) {
             $permConf['self-prefix'] = 'file_access_';
         }
         if ($this->_usePermissions) {
             $binds = M('Permission')->addPermissionToQuery($query, $aliases, $permConf);
         } else {
             $perms = is_array($permConf['permissions']) ? $permConf['permissions'] : array('result' => $permConf['permissions']);
             foreach ($perms as $key => $value) {
                 $aliases[$permConf['self-prefix'] . $key] = PERM_ALLOW;
             }
         }
     }
     return array($query, $binds);
 }