function views_handler_filter::exposed_translate

Same name in other branches
  1. 7.x-3.x 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 425

Class

views_handler_filter
Base class for filters.

Code

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']['single'])) {
            $form['#type'] = 'select';
        }
        if (empty($this->options['expose']['single'])) {
            $form['#multiple'] = TRUE;
        }
    }
    if (!empty($this->options['expose']['single']) && isset($form['#multiple'])) {
        unset($form['#multiple']);
        $form['#size'] = NULL;
    }
    if ($type == 'value' && empty($this->no_optional) && !empty($this->options['expose']['optional']) && $form['#type'] == 'select' && empty($form['#multiple'])) {
        $any_label = variable_get('views_exposed_filter_any_label', 'old_any') == 'old_any' ? '<Any>' : t('- Any -');
        $form['#options'] = array(
            'All' => $any_label,
        ) + $form['#options'];
        $form['#default_value'] = 'All';
        if (empty($this->options['expose']['optional'])) {
            $form['#required'] = TRUE;
        }
    }
}