protected function applyDefaultFilters($query)
    {
        $sng = SiteTree::singleton();
        foreach ($this->params as $name => $val) {
            if (empty($val)) {
                continue;
            }

            switch ($name) {
                case 'Term':
                    $query = $query->filterAny(array(
                        'URLSegment:PartialMatch' => $val,
                        'Title:PartialMatch' => $val,
                        'MenuTitle:PartialMatch' => $val,
                        'Content:PartialMatch' => $val
                    ));
                    break;

                case 'LastEditedFrom':
                    $fromDate = new DateField(null, null, $val);
                    $query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00');
                    break;

                case 'LastEditedTo':
                    $toDate = new DateField(null, null, $val);
                    $query = $query->filter("LastEdited:LessThanOrEqual", $toDate->dataValue().' 23:59:59');
                    break;

                case 'ClassName':
                    if ($val != 'All') {
                        $query = $query->filter('ClassName', $val);
                    }
                    break;

                default:
                    $field = $sng->dbObject($name);
                    if ($field) {
                        $filter = $field->defaultSearchFilter();
                        $filter->setValue($val);
                        $query = $query->alterDataQuery(array($filter, 'apply'));
                    }
            }
        }
        return $query;
    }
protected function applyDefaultFilters($query)
    {
        $sng = SiteTree::singleton();
        foreach ($this->params as $name => $val) {
            if (empty($val)) {
                continue;
            }

            switch ($name) {
                case 'Term':
                    $query = $query->filterAny(array(
                        'URLSegment:PartialMatch' => $val,
                        'Title:PartialMatch' => $val,
                        'MenuTitle:PartialMatch' => $val,
                        'Content:PartialMatch' => $val
                    ));
                    break;

                case 'LastEditedFrom':
                    $fromDate = new DateField(null, null, $val);
                    $query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00');
                    break;

                case 'LastEditedTo':
                    $toDate = new DateField(null, null, $val);
                    $query = $query->filter("LastEdited:LessThanOrEqual", $toDate->dataValue().' 23:59:59');
                    break;

                case 'ClassName':
                    if ($val != 'All') {
                        $query = $query->filter('ClassName', $val);
                    }
                    break;

                default:
                    $field = $sng->dbObject($name);
                    if ($field) {
                        $filter = $field->defaultSearchFilter();
                        $filter->setValue($val);
                        $query = $query->alterDataQuery(array($filter, 'apply'));
                    }
            }
        }
        return $query;
    }
protected function applyDefaultFilters ( $ query ) { $ sng = SiteTree :: singleton ( ) ; foreach ( $ this -> params as $ name => $ val ) { if ( empty ( $ val ) ) { continue ; } switch ( $ name ) { case 'Term' : $ query = $ query -> filterAny ( array ( 'URLSegment:PartialMatch' => $ val , 'Title:PartialMatch' => $ val , 'MenuTitle:PartialMatch' => $ val , 'Content:PartialMatch' => $ val ) ) ; break ; case 'LastEditedFrom' : $ fromDate = new DateField ( null , null , $ val ) ; $ query = $ query -> filter ( "LastEdited:GreaterThanOrEqual" , $ fromDate -> dataValue ( ) . ' 00:00:00' ) ; break ; case 'LastEditedTo' : $ toDate = new DateField ( null , null , $ val ) ; $ query = $ query -> filter ( "LastEdited:LessThanOrEqual" , $ toDate -> dataValue ( ) . ' 23:59:59' ) ; break ; case 'ClassName' : if ( $ val != 'All' ) { $ query = $ query -> filter ( 'ClassName' , $ val ) ; } break ; default : $ field = $ sng -> dbObject ( $ name ) ; if ( $ field ) { $ filter = $ field -> defaultSearchFilter ( ) ; $ filter -> setValue ( $ val ) ; $ query = $ query -> alterDataQuery ( array ( $ filter , 'apply' ) ) ; } } } return $ query ; }
Applies the default filters to a specified DataList of pages

@param DataList $query Unfiltered query
@return DataList Filtered query
Applies the default filters to a specified DataList of pages