* @param string $view job records view (basic, full)
* @return array object list
*/
- public function getObjects($criteria = [], $opts = [], $limit_val = null, $offset_val = 0, $sort_col = 'ObjectId', $sort_order = 'DESC', $group_by = null, $group_limit = 0, $group_offset = 0, $view = self::OBJ_RESULT_VIEW_FULL, $mode = self::OBJECT_RESULT_MODE_NORMAL) {
+ public function getObjects($criteria = [], $opts = [], $limit_val = null, $offset_val = 0, $sort_col = 'ObjectId', $sort_order = 'DESC', $group_by = null, $group_limit = 0, $group_offset = 0, $group_order_by = null, $group_order_direction = 'ASC', $view = self::OBJ_RESULT_VIEW_FULL, $mode = self::OBJECT_RESULT_MODE_NORMAL) {
$db_params = $this->getModule('api_config')->getConfig('db');
if ($db_params['type'] === Database::PGSQL_TYPE) {
$sort_col = strtolower($sort_col);
$result = array_values($result);
$result = array_map($func, $result);
}
- $overview = Database::groupBy($group_by, $result, $group_limit, $group_offset, 'objecttype');
+ $overview = Database::groupBy(
+ $group_by,
+ $result,
+ $group_limit,
+ $group_offset,
+ 'objecttype',
+ $group_order_by,
+ $group_order_direction
+ );
if ($mode == self::OBJECT_RESULT_MODE_OVERVIEW) {
// Overview mode.
$result = [
$group_by = $this->Request->contains('groupby') && $misc->isValidColumn($this->Request['groupby']) ? strtolower($this->Request['groupby']) : null;
$group_offset = $this->Request->contains('group_offset') ? intval($this->Request['group_offset']) : 0;
$group_limit = $this->Request->contains('group_limit') ? intval($this->Request['group_limit']) : 0;
+ $group_order_by = $this->Request->contains('group_order_by') && $misc->isValidColumn($this->Request['group_order_by']) ? $this->Request['group_order_by']: 'ObjectId';
+ $group_order_direction = $this->Request->contains('group_order_direction') && $misc->isValidOrderDirection($this->Request['group_order_direction']) ? $this->Request['group_order_direction']: 'ASC';
// UNIX timestamp values
$schedtime_from = $this->Request->contains('schedtime_from') && $misc->isValidInteger($this->Request['schedtime_from']) ? (int)$this->Request['schedtime_from'] : null;
$group_by,
$group_limit,
$group_offset,
+ $group_order_by,
+ $group_order_direction,
ObjectManager::OBJ_RESULT_VIEW_FULL,
$mode
);