You are here

function search_service_nodes in Services 6

Same name and namespace in other branches
  1. 6.2 services/search_service/search_service.inc \search_service_nodes()
  2. 7 services/search_service/search_service.inc \search_service_nodes()

Callback for search.nodes service.

1 string reference to 'search_service_nodes'
search_service_service in services/search_service/search_service.module
Implementation of hook_service().

File

services/search_service/search_service.inc, line 11
@author Services Dev Team

Code

function search_service_nodes($keys, $simple = FALSE) {

  // define standard keys for simple set
  $stdkeys = array(
    'link',
    'type',
    'title',
    'user',
    'date',
    'snippet',
  );

  // invoke the search hook to generate results
  $results = module_invoke('node', 'search', 'search', $keys);
  if ($results and is_array($results) and count($results)) {

    // if simple results requested, remove extra data
    if ($simple) {
      $num = count($results);
      for ($i = 0; $i < $num; $i++) {
        $keys = array_keys($results[$i]);
        foreach ($keys as $key) {
          if (!in_array($key, $stdkeys)) {
            unset($results[$i][$key]);
          }
        }
      }
    }
    return $results;
  }
  return services_error(t('Search returned no results.'));
}