/** * Updates the View sorting criteria * * @since 1.7 * * @param $args View settings. Required to have `sort_field` and `sort_direction` keys * @param int $form_id The ID of the form used to sort * @return array $sorting Array with `key`, `direction` and `is_numeric` keys */ public static function updateViewSorting($args, $form_id) { $sorting = array(); $sort_field_id = isset($_GET['sort']) ? $_GET['sort'] : rgar($args, 'sort_field'); $sort_direction = isset($_GET['dir']) ? $_GET['dir'] : rgar($args, 'sort_direction'); $sort_field_id = self::_override_sorting_id_by_field_type($sort_field_id, $form_id); if (!empty($sort_field_id)) { $sorting = array('key' => $sort_field_id, 'direction' => strtolower($sort_direction), 'is_numeric' => GVCommon::is_field_numeric($form_id, $sort_field_id)); } GravityView_View::getInstance()->setSorting($sorting); do_action('gravityview_log_debug', '[updateViewSorting] Sort Criteria : ', $sorting); return $sorting; }