You are here

function countries_filter_query_alter in Countries 7.2

Same name and namespace in other branches
  1. 8 countries.module \countries_filter_query_alter()

Updates a Query object by adding country filters.

Parameters

SelectQuery $query: The SelectQuery object passed by reference.

array $filters: An array of country filters as defined in countries_filters().

string $alias: The {countries} table alias.

File

./countries.module, line 594
Defines the field and entity information for countries.

Code

function countries_filter_query_alter(&$query, $filters = array(), $alias = 'c') {
  if (!empty($filters)) {
    $filters += array(
      'countries' => array(),
      'continents' => array(),
    );
    $filters['countries'] = array_filter($filters['countries']);
    $filters['continents'] = array_filter($filters['continents']);
    if (isset($filters['enabled']) && !$filters['enabled'] == COUNTRIES_ALL) {
      $query
        ->condition($alias . '.enabled', $filters['enabled']);
    }
    if (!empty($filters['countries'])) {
      $query
        ->condition($alias . '.iso2', $filters['countries']);
    }
    if (!empty($filters['continents'])) {
      $query
        ->condition($alias . '.continent', $filters['continents']);
    }
  }
}