Пример #1
0
 /**
  *	Creates request for files
  *
  *	@param		query		RM_Db_Query			Optional query
  *	@param		aliases 	hash				Optional aliases
  *	@param		factory		RM_Store_iFactory	Optional factory
  *	@return		RM_Store_iRequest<RM_ObjectFs_Entity>
  */
 public function requestFiles(RM_Db_Query $query = NULL, array $extraAliases = array(), RM_Store_iFactory $factory = NULL)
 {
     if ($query) {
         return $this->_fileStorage->request($query, $extraAliases, $factory);
     }
     list($query, $binds) = $this->createFilesQuery('file', $extraAliases, array('permissions' => array('ri' => 'OFS-READ-INFO')));
     $request = $this->_fileStorage->request($query, $extraAliases, $factory);
     return call_user_func_array(array($request, 'filter'), array_merge(array('file_access_ri = ?'), $binds, array(PERM_ALLOW)));
 }
Пример #2
0
 public function getDecoratedColumsList(RM_List_Object $object, RM_Account_iUser $user)
 {
     $query = M('Db')->createQuery($this->_tables['column'] . ' as c')->what('c.*, uc.user_id, uc.visible as d_visible, uc.ord_id as d_ord_id')->join('c', 'LEFT JOIN ' . $this->_tables['user_column'] . ' uc ON uc.user_id = ? AND uc.column_id=c.id', $user->id())->where('c.list_id = ? ', $object->id());
     $extraAliases = array('user_id' => 'uc.user_id', 'ord_id' => 'if(uc.ord_id is null, c.ord_id, uc.ord_id)', 'visible' => 'if(ifnull(c.visible,0)=0,0,if(uc.visible is null, c.visible, uc.visible))');
     return $this->_column->request($query, $extraAliases, M('List')->getDecoratorFactory());
 }
Пример #3
0
 /**
  * Retrievs a list of objects which depends on the given object.
  *
  * @param RM_Memento_Object $object
  * @return RM_Store_iRequest<RM_Memento_Object>
  */
 public function getDependedList(RM_Memento_Object $object)
 {
     $query = M('Db')->createQuery($this->_tables['dep'] . ' dep')->what('s.*')->join('dep', 'LEFT JOIN ' . $this->_tables['store'] . ' s on dep.slave_id=s.id')->where('dep.master_id=?', $object->id());
     return $this->_storage->request($query, qw2('cdate>dep.cdate pos>dep.pos'));
 }