public function views_handler_filter::exposed_translate 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_translate()
- 6.2 handlers/views_handler_filter.inc \views_handler_filter::exposed_translate()
Make some translations to a form item to make it more suitable to exposing.
1 call to views_handler_filter::exposed_translate()
- views_handler_filter::exposed_form in handlers/
views_handler_filter.inc - Render our chunk of the exposed filter form when selecting.
File
- handlers/
views_handler_filter.inc, line 1163 - Definitions of views_handler_filter and views_handler_filter_broken.
Class
- views_handler_filter
- Base class for filters.
Code
public function exposed_translate(&$form, $type) {
if (!isset($form['#type'])) {
return;
}
if ($form['#type'] == 'radios') {
$form['#type'] = 'select';
}
// Checkboxes don't work so well in exposed forms due to GET conversions.
if ($form['#type'] == 'checkboxes') {
if (empty($form['#no_convert']) || empty($this->options['expose']['multiple'])) {
$form['#type'] = 'select';
}
if (!empty($this->options['expose']['multiple'])) {
$form['#multiple'] = TRUE;
}
}
if (empty($this->options['expose']['multiple']) && isset($form['#multiple'])) {
unset($form['#multiple']);
$form['#size'] = NULL;
}
// Cleanup in case the translated element's (radios or checkboxes) display
// value contains html.
if ($form['#type'] == 'select') {
$this
->prepare_filter_select_options($form['#options']);
}
if ($type == 'value' && empty($this->always_required) && empty($this->options['expose']['required']) && $form['#type'] == 'select' && empty($form['#multiple'])) {
$any_label = variable_get('views_exposed_filter_any_label', 'new_any') == 'old_any' ? t('<Any>') : t('- Any -');
$form['#options'] = array(
'All' => $any_label,
) + $form['#options'];
if (empty($form['#default_value'])) {
$form['#default_value'] = 'All';
}
}
if (!empty($this->options['expose']['required'])) {
$form['#required'] = TRUE;
}
}