You are here

function search_api_live_results_json in Search API live results 7

Page callback for getting live results.

1 string reference to 'search_api_live_results_json'
search_api_live_results_menu in ./search_api_live_results.module
Implements hook_menu().

File

includes/search_api_live_results.pages.inc, line 11
Contains page callbacks and theme functions for the frontend UI.

Code

function search_api_live_results_json(SearchApiLiveResultsSearch $search, $keys = '') {
  $ret = array();
  $keys = explode(' ', $keys);
  $query = $search
    ->getQuery($keys);
  if ($query) {
    $max_items = !empty($search->options['num_results']) ? $search->options['num_results'] : 5;
    $query
      ->range(0, $max_items);
    $results = $query
      ->execute();
    foreach ((array) $results['results'] as $result) {
      if ($search->options['display'] == 'view_mode') {
        $ret[] = drupal_render(node_view(node_load($result['id']), 'live_results_search'));
      }
      else {
        $ret[] = l(node_load($result['id'])->title, 'node/' . $result['id']);
      }
    }
  }
  $context = array(
    'search' => $search,
    'keys' => $keys,
    'query' => $query,
    'results' => isset($results) ? $results : NULL,
  );
  drupal_alter('search_api_live_results_json', $ret, $context);
  drupal_json_output($ret);
}