function tripal_views_handler_filter_textarea::query

2.x tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea::query()
3.x tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea::query()
1.x tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea::query()

Add this filter to the query.

Due to the nature of fapi, the value and the operator have an unintended level of indirection. You will find them in $this->operator and $this->value respectively.

Overrides views_handler_filter::query

File

tripal_views/views/handlers/tripal_views_handler_filter_textarea.inc, line 60
Contants tripal_views_handler_filter_textarea Filter Handler

Class

tripal_views_handler_filter_textarea
This Handler provides a file upload field by extending the views_handler_filter object.

Code

function query() {

  // make optional
  // if it is not set or empty then don't restrict the query
  if (!$this->value) {
    return;
  }

  $this->ensure_my_table();
  $field = "$this->table.$this->real_field";

  // get the form element value
  if (is_array($this->value)) {
    $value = $this->value[0];
  }
  else {
    $value = $this->value;
  }

  // remove extra spaces and new lines
  $value = preg_replace("/\s+,/", ",", $value);
  $value = preg_replace("/\s+\n/", "\n", $value);
  $value = preg_replace("/,\n/", "\n", $value);
  $values = preg_split("/[\n,]+/", $value);
  $values = array_filter($values);

  if (sizeof($values)) {
    $operator = 'IN';
  }
  else {
    $operator = '=';
  }

  if (!empty($values)) {
    $this->query->add_where($this->options['group'], $field, $values, $operator);
  }
}