function views_toggle_filter_handler::value_form in Views Toggle Filter 7
Add a type selector to the value form
Overrides views_handler_filter::value_form
File
- views/
views_toggle_filter_handler.inc, line 108 - Definition of views_toggle_filter_handler.
Class
- views_toggle_filter_handler
- Views Toggle Filter handler.
Code
function value_form(&$form, &$form_state) {
parent::value_form($form, $form_state);
if (!empty($form_state['exposed'])) {
$options = array(
0 => $this->options['first_name'],
1 => $this->options['second_name'],
);
$form['value'] = array(
'#type' => 'radios',
'#title' => '',
'#options' => $options,
'#default_value' => !empty($this->value) ? $this->value : 0,
);
$first_filters = array();
$second_filters = array();
foreach ($this->view->display_handler
->get_handlers('filter') as $filter_id => $handler) {
if ($handler
->is_exposed() && $filter_id !== $this->options['id']) {
$identifier = $handler->options['expose']['identifier'];
if (empty($identifier)) {
continue;
}
if (!empty($this->options['first_filters'][$filter_id])) {
$first_filters[$identifier] = TRUE;
}
if (!empty($this->options['second_filters'][$filter_id])) {
$second_filters[$identifier] = TRUE;
}
if (!empty($first_filters[$identifier]) && !empty($second_filters[$identifier])) {
unset($first_filters[$identifier], $second_filters[$identifier]);
}
}
}
$form_state['views_toggle_filter'][$this->options['expose']['identifier']] = array(
0 => $first_filters,
1 => $second_filters,
);
if (!isset($form['#after_build'])) {
$form['#after_build'] = array();
}
if (!in_array('views_toggle_filter_exposed_form_after_build', $form['#after_build'])) {
$form['#after_build'][] = 'views_toggle_filter_exposed_form_after_build';
}
}
}