public function views_handler_filter::exposed_form in Views (for Drupal 7) 7.3
Same name and namespace in other branches
- 6.3 handlers/views_handler_filter.inc \views_handler_filter::exposed_form()
- 6.2 handlers/views_handler_filter.inc \views_handler_filter::exposed_form()
Render our chunk of the exposed filter form when selecting.
You can override this if it doesn't do what you expect.
Overrides views_handler::exposed_form
File
- handlers/
views_handler_filter.inc, line 851 - Definitions of views_handler_filter and views_handler_filter_broken.
Class
- views_handler_filter
- Base class for filters.
Code
public function exposed_form(&$form, &$form_state) {
if (empty($this->options['exposed'])) {
return;
}
// Build the exposed form, when its based on an operator.
if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator_id'])) {
$operator = $this->options['expose']['operator_id'];
$this
->operator_form($form, $form_state);
$form[$operator] = $form['operator'];
$form[$operator]['#title'] = $this->options['expose']['operator_label'];
$form[$operator]['#title_display'] = 'invisible';
$this
->exposed_translate($form[$operator], 'operator');
unset($form['operator']);
}
// Build the form and set the value based on the identifier.
if (!empty($this->options['expose']['identifier'])) {
$value = $this->options['expose']['identifier'];
if ($this->operator == 'empty' || $this->operator == 'not empty') {
$boolean = new views_handler_filter_boolean_operator();
$boolean->value = $this->value = 'All';
$boolean->value_value = $this->value_value = '';
$boolean->value_options = $this->value_options = array(
1 => t('Yes'),
0 => t('No'),
);
$boolean
->value_form($form, $form_state);
}
else {
$this
->value_form($form, $form_state);
}
$form[$value] = $form['value'];
if (isset($form[$value]['#title']) && !empty($form[$value]['#type']) && $form[$value]['#type'] != 'checkbox') {
unset($form[$value]['#title']);
}
$this
->exposed_translate($form[$value], 'value');
if (!empty($form['#type']) && ($form['#type'] == 'checkboxes' || $form['#type'] == 'select' && !empty($form['#multiple']))) {
unset($form[$value]['#default_value']);
}
if (!empty($form['#type']) && $form['#type'] == 'select' && empty($form['#multiple'])) {
$form[$value]['#default_value'] = 'All';
}
if ($value != 'value') {
unset($form['value']);
}
}
}