diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-11-07 20:57:32 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-11-07 20:57:32 +0000 |
commit | 24e3ff747614364d0d44fc1a7644f164146c66e1 (patch) | |
tree | cab9495aa3a6daf5c1aa3bac6de61e3436e77380 /engine/lib/tags.php | |
parent | 413ea817c78a2cd7cbe3bebad1623daaaeea6394 (diff) | |
download | elgg-24e3ff747614364d0d44fc1a7644f164146c66e1.tar.gz elgg-24e3ff747614364d0d44fc1a7644f164146c66e1.tar.bz2 |
Moved default search hooks into search mod.
Using MySQL's MATCH ... AGAINST instead of likes for most searches.
Changed 'tag' to 'q' while maintaining backward compatibility.
git-svn-id: http://code.elgg.org/elgg/trunk@3633 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/tags.php')
-rw-r--r-- | engine/lib/tags.php | 60 |
1 files changed, 1 insertions, 59 deletions
diff --git a/engine/lib/tags.php b/engine/lib/tags.php index cdcf213c0..3c65c2a7a 100644 --- a/engine/lib/tags.php +++ b/engine/lib/tags.php @@ -174,62 +174,4 @@ function get_tags($threshold = 1, $limit = 10, $metadata_name = "", $entity_type function display_tagcloud($threshold = 1, $limit = 10, $metadata_name = "", $entity_type = "object", $entity_subtype = "", $owner_guid = "", $site_guid = -1) { return elgg_view("output/tagcloud",array('value' => get_tags($threshold, $limit, $metadata_name, $entity_type, $entity_subtype, $owner_guid, $site_guid),'object' => $entity_type, 'subtype' => $entity_subtype)); -} - - - -/** - * Return default results for searches on groups. - * - * @param unknown_type $hook - * @param unknown_type $type - * @param unknown_type $value - * @param unknown_type $params - * @return unknown_type - */ -function tags_search_hook($hook, $type, $value, $params) { - global $CONFIG; - - $query = $params['query']; - - $params['metadata_name_value_pair'] = array ('name' => 'tags', 'value' => $query, 'case_sensitive' => FALSE); - - $entities = elgg_get_entities_from_metadata($params); - $params['count'] = TRUE; - $count = elgg_get_entities_from_metadata($params); - - // no need to continue if nothing here. - if (!$count) { - return array('entities' => array(), 'count' => $count); - } - - // add the volatile data for why these entities have been returned. - foreach ($entities as $entity) { - $tags = implode(',', $entity->tags); - $tags_str = search_get_relevant_substring($tags, $query, '<strong class="searchMatch">', '</strong>'); - $entity->setVolatileData('search_matched_tags', $tags_str); - } - - return array( - 'entities' => $entities, - 'count' => $count, - ); -} - -/** - * Register tags as a custom search type. - * - * @param unknown_type $hook - * @param unknown_type $type - * @param unknown_type $value - * @param unknown_type $params - * @return unknown_type - */ -function tags_search_custom_types_hook($hook, $type, $value, $params) { - $value[] = 'tags'; - return $value; -} - - -register_plugin_hook('search', 'tags', 'tags_search_hook'); -register_plugin_hook('search_types', 'get_types', 'tags_search_custom_types_hook');
\ No newline at end of file +}
\ No newline at end of file |