You are here

function biblio_autocomplete_json in Biblio Autocomplete 7

Same name and namespace in other branches
  1. 6 biblio_autocomplete.module \biblio_autocomplete_json()
1 string reference to 'biblio_autocomplete_json'
biblio_autocomplete_menu in ./biblio_autocomplete.module
Implements hook_menu().

File

./biblio_autocomplete.module, line 41
Allows autocompletion of Biblio fields.

Code

function biblio_autocomplete_json($biblio_field, $string) {
  $autocompletes = module_invoke_all('biblio_autocomplete_info');
  $matches = array();
  foreach ($autocompletes as $field => $data) {
    if ($field == $biblio_field) {
      if (!is_array($data['function'])) {
        $data['function'] = array(
          $data['function'],
        );
      }
      foreach ($data['function'] as $function) {
        $matches = array_merge($matches, $function($string));
      }
    }
  }
  asort($matches);
  $return_matches = array();
  $i = 0;
  foreach ($matches as $key => $data) {
    if ($data['key'] != '' && $data['description'] != '') {
      $i++;
      $return_matches[$data['key']] = $data['provider'] . ': ' . $data['description'];
      if ($i >= 10) {
        break;
      }
    }
  }
  print drupal_json_output($return_matches);
}