예제 #1
0
 /**
  * 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;
 }