1 view.inc | view::_build($key) |
Internal method to build an individual set of handlers.
Parameters
string $key: The type of handlers (filter etc.) which should be iterated over to build the relationship and query information.
File
- core/
modules/ views/ includes/ view.inc, line 1115 - Provides the view object type and associated methods.
Class
Code
function _build($key) {
$handlers = &$this->$key;
foreach ($handlers as $id => $data) {
if (!empty($handlers[$id]) && is_object($handlers[$id])) {
$multiple_exposed_input = array(0 => NULL);
if ($handlers[$id]->multiple_exposed_input()) {
$multiple_exposed_input = $handlers[$id]->group_multiple_exposed_input($this->exposed_data);
}
foreach ($multiple_exposed_input as $group_id) {
// Give this handler access to the exposed filter input.
if (!empty($this->exposed_data)) {
$converted = FALSE;
if ($handlers[$id]->is_a_group()) {
$converted = $handlers[$id]->convert_exposed_input($this->exposed_data, $group_id);
$handlers[$id]->store_group_input($this->exposed_data, $converted);
if (!$converted) {
continue;
}
}
$rc = $handlers[$id]->accept_exposed_input($this->exposed_data);
$handlers[$id]->store_exposed_input($this->exposed_data, $rc);
if (!$rc) {
continue;
}
}
$handlers[$id]->set_relationship();
$handlers[$id]->query($this->display_handler->use_group_by());
}
}
}
}