You are here

function views_handler_filter_in_operator::admin_summary in Views (for Drupal 7) 6.3

Same name and namespace in other branches
  1. 6.2 handlers/views_handler_filter_in_operator.inc \views_handler_filter_in_operator::admin_summary()
  2. 7.3 handlers/views_handler_filter_in_operator.inc \views_handler_filter_in_operator::admin_summary()

Display the filter on the administrative 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 : '');
}