function views_filters_populate_handler_filter::pre_query in Views filters populate 7
Same name and namespace in other branches
- 6 views/views_filters_populate_handler_filter.inc \views_filters_populate_handler_filter::pre_query()
Run before the view is built.
This gives all the handlers some time to set up before any handler has been fully run.
Overrides views_handler::pre_query
File
- views/
views_filters_populate_handler_filter.inc, line 62 - Filter classes.
Class
- views_filters_populate_handler_filter
- Generic views handler filter to add code to manipulate the query object.
Code
function pre_query() {
// start with default value
$value = $this->value;
// If eexposed, take data from input, as this hasn't reached the views
// object yet
if ($this->options['exposed']) {
$input = $this->view
->get_exposed_input();
$identifier = $this->options['expose']['identifier'];
if (isset($input[$identifier])) {
$value = $input[$identifier];
}
}
foreach ($this->options['filters'] as $filter) {
if ($filter) {
// attempt to support different types of values over different filters
// i.e. cck integer value is an array of min, max and value
if (is_string($this->view->filter[$filter]->value)) {
$this->view->filter[$filter]->value = $value;
}
if (is_array($this->view->filter[$filter]->value) && is_string($this->view->filter[$filter]->value['value'])) {
$this->view->filter[$filter]->value['value'] = $value;
}
}
}
}