function composite_views_filter_views_pre_build in Composite Views Filter 7
Implements hook_views_pre_build().
File
- ./
composite_views_filter.module, line 166
Code
function composite_views_filter_views_pre_build(&$view) {
$view
->init_handlers();
if ($composite_views_filters = _composite_views_filter_view_has_composite_filters($view)) {
foreach ($composite_views_filters as $filter_handler) {
$identifier = $filter_handler->options['expose']['identifier'];
$classification = $filter_handler
->get_classification();
$default_group = $filter_handler->options['composite_views_filter']['default_group'];
$exposed_input = $view
->get_exposed_input();
if (!isset($exposed_input[$identifier])) {
$exposed_input[$identifier] = $default_group ?: 'All';
$view
->set_exposed_input($exposed_input);
}
$selected_group = isset($exposed_input[$identifier]) ? $exposed_input[$identifier] : FALSE;
$selected_groups = $selected_group != 'All' ? (array) $selected_group : array();
foreach ($view->filter as $field_name => $filter) {
if (isset($classification[$field_name]) && !in_array($classification[$field_name], $selected_groups)) {
unset($view->filter[$field_name]);
}
}
}
}
}