function views_handler_filter_term_node_tid::accept_exposed_input

3.x views_handler_filter_term_node_tid.inc views_handler_filter_term_node_tid::accept_exposed_input($input)
2.x views_handler_filter_term_node_tid.inc views_handler_filter_term_node_tid::accept_exposed_input($input)

Check to see if input from the exposed filters should change the behavior of this filter.

Overrides views_handler_filter_in_operator::accept_exposed_input

File

modules/taxonomy/views_handler_filter_term_node_tid.inc, line 226
Definition of views_handler_filter_term_node_tid.

Class

views_handler_filter_term_node_tid
Filter by term id.

Code

function accept_exposed_input($input) {
  if (empty($this->options['exposed'])) {
    return TRUE;
  }

  // If view is an attachment and is inheriting exposed filters, then assume
  // exposed input has already been validated
  if (!empty($this->view->is_attachment) && $this->view->display_handler->uses_exposed()) {
    $this->validated_exposed_input = (array) $this->view->exposed_raw_input[$this->options['expose']['identifier']];
  }

  // If it's non-required and there's no value don't bother filtering.
  if (!$this->options['expose']['required'] && empty($this->validated_exposed_input)) {
    return FALSE;
  }

  $rc = parent::accept_exposed_input($input);
  if ($rc) {
    // If we have previously validated input, override.
    if (!$this->is_a_group() && isset($this->validated_exposed_input)) {
      $this->value = $this->validated_exposed_input;
    }
  }

  return $rc;
}