You are here

function i18nviews_plugin_argument_validate_i18n_taxonomy_term::validate_argument_i18n_tid in Internationalization Views 7.3

Validate taxonomy terms - case i18n_tid

File

includes/i18nviews_plugin_argument_validate_i18n_taxonomy_term.inc, line 101
Contains the 'Taxonomy term (i18n)' argument validator plugin.

Class

i18nviews_plugin_argument_validate_i18n_taxonomy_term
Validate whether an argument is a localized term.

Code

function validate_argument_i18n_tid($argument, $vocabularies) {
  if (!is_numeric($argument)) {
    return FALSE;
  }
  $query = db_select('taxonomy_term_data', 'td');
  $query
    ->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
  $query
    ->fields('td');
  $query
    ->fields('tv', array(
    'machine_name',
  ));
  $query
    ->condition('td.tid', $argument);
  $query
    ->addTag('term_access');
  $term = $query
    ->execute()
    ->fetchObject();
  if (!$term) {
    return FALSE;
  }
  $this->argument->validated_title = check_plain(i18n_taxonomy_term_name($term));
  return empty($vocabularies) || !empty($vocabularies[$term->machine_name]);
}