function _uniqueness_content_drupalsearch in Uniqueness 7
Same name and namespace in other branches
- 6 uniqueness.module \_uniqueness_content_drupalsearch()
Searches for related content using the drupal core search module.
1 call to _uniqueness_content_drupalsearch()
- uniqueness_content in ./
uniqueness.module - Perform lookup of related or similar content.
File
- ./
uniqueness.module, line 437 - uniqueness.module
Code
function _uniqueness_content_drupalsearch($values) {
// Check that the core search module is available
if (!module_exists('search')) {
drupal_set_message(t('Search module not found. Please enable the search module or select a different search mode on the uniqueness configuration page.'), 'warning');
return array();
}
// build search string
$searchstring = array_key_exists('type', $values) ? ' type:' . $values['type'] . ' ' : '';
$searchstring .= join(' OR ', explode(' ', $values['title']));
$search_results = node_search_execute($searchstring);
// node_search is automatically limited to max. 10 results, but in case we
// want even less we need to further reduce the number of results.
$limit = variable_get('uniqueness_results_max', 10);
if (count($search_results) > $limit + 1) {
// +1 for "... and more"
array_slice($search_results, 0, $limit + 1, TRUE);
}
$related_content = array();
$nid = array_key_exists('nid', $values) ? $values['nid'] : 0;
foreach ($search_results as $result) {
$item = array();
// Title has already been filtered.
$item['html'] = TRUE;
$item['nid'] = $result['node']->nid;
$item['title'] = $result['title'];
if ($nid != $item['nid']) {
$related_content["{$result['node']->nid}"] = $item;
}
}
return $related_content;
}