You are here

function webform_references_term_autocomplete in Webform References 7

Menu callback for the autocomplete results.

1 string reference to 'webform_references_term_autocomplete'
webform_references_menu in ./webform_references.module
Implements hook_menu().

File

./webform_references.term.inc, line 542
Webform module term reference component.

Code

function webform_references_term_autocomplete($vid, $string = '') {
  $options = array(
    'string' => $string,
    'limit' => 10,
  );
  $query = db_select('taxonomy_term_data', 't');
  $query
    ->addField('t', 'tid');
  $term_title_alias = $query
    ->addField('t', 'name', 'term_name');
  $query
    ->addTag('translatable')
    ->addTag('term_access');
  $query
    ->condition('t.vid', $vid);
  if ($options['string'] !== '') {
    $query
      ->condition('t.name', '%' . $options['string'] . '%', 'LIKE');
  }
  if ($options['limit']) {
    $query
      ->range(0, $options['limit']);
  }
  $query
    ->orderBy($term_title_alias);
  $result = $query
    ->execute()
    ->fetchAll();
  $references = array();
  foreach ($result as $term) {
    $references[] = array(
      'id' => $term->tid,
      'name' => $term->term_name,
    );
  }
  $matches = array();
  foreach ($references as $row) {
    $matches[$row['name'] . " [id:" . $row['id'] . "]"] = check_plain($row['name']);
  }
  drupal_json_output($matches);
}