You are here

public function SearchApiViewsHandlerFilterLanguage::query in Search API 7

Add this filter to the query.

Overrides SearchApiViewsHandlerFilterOptions::query

File

contrib/search_api_views/includes/handler_filter_language.inc, line 33
Contains the SearchApiViewsHandlerFilterLanguage class.

Class

SearchApiViewsHandlerFilterLanguage
Views filter handler class for handling the special "Item language" field.

Code

public function query() {
  global $language_content;
  if (!is_array($this->value)) {
    $this->value = $this->value ? array(
      $this->value,
    ) : array();
  }
  foreach ($this->value as $i => $v) {
    if ($v == 'current') {
      $this->value[$i] = $language_content->language;
    }
    elseif ($v == 'default') {
      $this->value[$i] = language_default('language');
    }
    elseif ($v == 'fallback' && module_exists('language_hierarchy')) {
      $fallbacks = array(
        $language_content->language => $language_content->language,
      );
      $fallbacks += array_keys(language_hierarchy_get_ancestors($language_content->language));
      $this->value[$i] = drupal_map_assoc($fallbacks);
    }
  }
  parent::query();
}