1 call to _views_view_build_filters()
File
- ./
views_query.inc, line 76
Code
function _views_view_build_filters(&$query, &$view, $exposed_filter_values) {
$filters = _views_get_filters();
$view->used_filters = array();
foreach ($view->filter as $i => $filter) {
$filterinfo = $filters[$filter['field']];
// shortcut
if (!$filterinfo['field']) {
$fieldbits = explode('.', $filter['field']);
$filterinfo['field'] = $fieldbits[1];
}
foreach ($view->exposed_filter as $count => $expose) {
if ($filter['id'] == $expose['id']) {
$id = $expose['id'];
if (isset($view->exposed_filter_offset)) {
$count += $view->exposed_filter_offset;
}
if (!$expose['operator'] && $exposed_filter_values[$count]['op']) {
$filter['operator'] = check_plain($exposed_filter_values[$count]['op']);
$view->used_filters["op{$count}"] = $exposed_filter_values[$count]['op'];
}
if ($expose['optional']) {
if ((!isset($exposed_filter_values[$count]['filter']) || $exposed_filter_values[$count]['filter'] == '') && !$expose['is_default']) {
continue 2;
// skip
}
if ($exposed_filter_values[$count]['filter'] == '**ALL**' || is_array($exposed_filter_values[$count]['filter']) && in_array('**ALL**', $exposed_filter_values[$count]['filter'])) {
$view->used_filters["filter{$count}"] = $exposed_filter_values[$count]['filter'];
continue 2;
// skip this filter entirely.
}
}
if (isset($exposed_filter_values[$count]['filter']) && $exposed_filter_values[$count]['filter'] != '') {
$value = $exposed_filter_values[$count]['filter'];
if ($filterinfo['value-type'] == 'array' && !is_array($value)) {
$value = array(
$value,
);
}
$filter['value'] = $value;
$view->used_filters["filter{$count}"] = $exposed_filter_values[$count]['filter'];
}
break;
}
}
$replace = array(
'>' => '>',
'<' => '<',
);
$filter['operator'] = strtr($filter['operator'], $replace);
if (!function_exists($filterinfo['handler'])) {
$filterinfo['handler'] = 'views_handler_filter_default';
}
$filterinfo['handler']('handler', $filter, $filterinfo, $query);
}
}