You are here

public function availability_calendar_handler_filter_availability::accept_exposed_input in Availability Calendars 7.3

Same name and namespace in other branches
  1. 7.5 views/availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::accept_exposed_input()
  2. 7.4 views/availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::accept_exposed_input()

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

Overrides views_handler_filter::accept_exposed_input

File

./availability_calendar_handler_filter_availability.inc, line 332

Class

availability_calendar_handler_filter_availability
@class availability_calendar_handler_filter_availability Views handler to filter on availability.

Code

public function accept_exposed_input($input) {
  if (empty($this->options['exposed'])) {
    return TRUE;
  }
  if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator_id']) && isset($input[$this->options['expose']['operator_id']])) {

    // Fetch operator from form (instead of from $this object)
    $this->operator = $input[$this->options['expose']['operator_id']];
  }
  if (!empty($this->options['expose']['identifier'])) {

    // Fetch value from form (instead of from $this object)
    $this->value = $input[$this->options['expose']['identifier']];

    // Check if the values are filled in, if not, we don't want to change the
    // query.
    $operators = $this
      ->operators();
    $values = $operators[$this->operator]['values'];
    foreach ($values as $value_name) {
      if (empty($this->value[$value_name])) {
        return FALSE;
      }
    }
  }
  return TRUE;
}