You are here

function views_filters_populate_handler_filter::pre_query in Views filters populate 6

Same name and namespace in other branches
  1. 7 views/views_filters_populate_handler_filter.inc \views_filters_populate_handler_filter::pre_query()

File

views/views_filters_populate_handler_filter.inc, line 64
Filter classes.

Class

views_filters_populate_handler_filter
Generic views handler filter to add code to manipulate the query object.

Code

function pre_query() {

  // start with default value
  $value = $this->value;

  // If eexposed, take data from input, as this hasn't reached the views
  // object yet
  if ($this->options['exposed']) {
    $input = $this->view
      ->get_exposed_input();
    $identifier = $this->options['expose']['identifier'];
    if (isset($input[$identifier])) {
      $value = $input[$identifier];
    }
  }
  foreach ($this->options['filters'] as $filter) {
    if ($filter) {

      // attempt to support different types of values over different filters
      // i.e. cck integer value is an array of min, max and value
      if (is_string($this->view->filter[$filter]->value)) {
        $this->view->filter[$filter]->value = $value;
      }
      if (is_array($this->view->filter[$filter]->value) && is_string($this->view->filter[$filter]->value['value'])) {
        $this->view->filter[$filter]->value['value'] = $value;
      }
    }
  }
}