/** * Return the current filters as an array of strings ['field:filter'] * * @return array $filterQuery */ public function getFilterSettings() { $result = parent::getFilterSettings(); // Special processing for date range filters $dateRangeField = $this->getDateRangeSearchField(); if ($dateRangeField) { foreach ($result as &$filter) { $dateRange = strncmp($filter, "{$dateRangeField}:", strlen($dateRangeField) + 1) == 0; if ($dateRange) { list($field, $value) = $this->parseFilter($filter); list($op, $range) = explode('|', $value); $op = $op == 'within' ? 'Within' : 'Intersects'; $filter = "{!field f={$dateRangeField} op={$op}}{$range}"; } } } return $result; }