/** * returns columns to fetch in first query and if an id/value pair is requested * * @param array|string $_cols * @param Tinebase_Model_Filter_FilterGroup $_filter * @param Tinebase_Model_Pagination $_pagination * @return array */ protected function _getColumnsToFetch($_cols, Tinebase_Model_Filter_FilterGroup $_filter = NULL, Tinebase_Model_Pagination $_pagination = NULL) { $result = parent::_getColumnsToFetch($_cols, $_filter, $_pagination); // sanitize sorting fields $foreignTableSortFields = array('size' => 'tree_filerevisions', 'creation_time' => 'tree_fileobjects', 'created_by' => 'tree_fileobjects', 'last_modified_time' => 'tree_fileobjects', 'last_modified_by' => 'tree_fileobjects', 'type' => 'tree_fileobjects', 'contenttype' => 'tree_fileobjects', 'revision' => 'tree_fileobjects'); foreach ($foreignTableSortFields as $field => $table) { if (isset($result[0][$field])) { $result[0][$field] = $table . '.' . $field; } } return $result; }