function views_handler_filter_in_operator::admin_summary

Same name in other branches
  1. 7.x-3.x handlers/views_handler_filter_in_operator.inc \views_handler_filter_in_operator::admin_summary()

Overrides views_handler_filter::admin_summary

2 calls to views_handler_filter_in_operator::admin_summary()
views_handler_filter_term_node_tid::admin_summary in modules/taxonomy/views_handler_filter_term_node_tid.inc
Display the filter on the administrative summary
views_handler_filter_user_name::admin_summary in modules/user/views_handler_filter_user_name.inc
Display the filter on the administrative summary
2 methods override views_handler_filter_in_operator::admin_summary()
views_handler_filter_term_node_tid::admin_summary in modules/taxonomy/views_handler_filter_term_node_tid.inc
Display the filter on the administrative summary
views_handler_filter_user_name::admin_summary in modules/user/views_handler_filter_user_name.inc
Display the filter on the administrative summary

File

handlers/views_handler_filter_in_operator.inc, line 296

Class

views_handler_filter_in_operator
Simple filter to handle matching of multiple options selectable via checkboxes

Code

function admin_summary() {
    if (!empty($this->options['exposed'])) {
        return t('exposed');
    }
    $info = $this->operators();
    $this->get_value_options();
    if (!is_array($this->value)) {
        return;
    }
    $operator = check_plain($info[$this->operator]['short']);
    $values = '';
    if (in_array($this->operator, $this->operator_values(1))) {
        // Remove every element which is not known.
        foreach ($this->value as $value) {
            if (!isset($this->value_options[$value])) {
                unset($this->value[$value]);
            }
        }
        // Choose different kind of ouput for 0, a single and multiple values.
        if (count($this->value) == 0) {
            $values = t('Unknown');
        }
        else {
            if (count($this->value) == 1) {
                // If any, use the 'single' short name of the operator instead.
                if (isset($info[$this->operator]['short_single'])) {
                    $operator = check_plain($info[$this->operator]['short_single']);
                }
                $keys = $this->value;
                $value = array_shift($keys);
                if (isset($this->value_options[$value])) {
                    $values = check_plain($this->value_options[$value]);
                }
                else {
                    $values = '';
                }
            }
            else {
                foreach ($this->value as $value) {
                    if ($values !== '') {
                        $values .= ', ';
                    }
                    if (strlen($values) > 8) {
                        $values .= '...';
                        break;
                    }
                    if (isset($this->value_options[$value])) {
                        $values .= check_plain($this->value_options[$value]);
                    }
                }
            }
        }
    }
    return $operator . ($values !== '' ? ' ' . $values : '');
}