You are here

function hosting_site_autocomplete_sites in Hosting 7.4

Same name and namespace in other branches
  1. 7.3 site/hosting_site.module \hosting_site_autocomplete_sites()

Retrieve autocomplete suggestions for site names.

Parameters

$string: The typed string so far, as typed in by the user.

Return value

A list of matching sites in JSON format.

1 string reference to 'hosting_site_autocomplete_sites'
hosting_site_menu in site/hosting_site.module
Implements hook_menu().

File

site/hosting_site.module, line 138
Contains hook implementations for Hosting site module.

Code

function hosting_site_autocomplete_sites($string) {

  // Fetch the list of matching active sites. Don't use EntityFieldQuery here
  // as we'd have to load the nodes afterwards to get the field data. db_query()
  // is much faster as we can get away with only one DB query overall.
  $query = db_select('node', 'n');
  $query
    ->join('hosting_site', 's', 's.nid = n.nid');
  $results = $query
    ->fields('n', array(
    'nid',
    'title',
  ))
    ->condition('n.type', 'site')
    ->condition('n.title', '%' . db_like($string) . '%', 'LIKE')
    ->condition('s.status', HOSTING_SITE_DELETED, '!=')
    ->execute();

  // Save each result to the list.
  $matches = array();
  foreach ($results as $row) {
    $matches[$row->title] = check_plain($row->title);
  }

  // Return the results as a JSON list.
  drupal_json_output($matches);
}