From 586c6e88802c3ffa267c51cbef8a354e756b585d Mon Sep 17 00:00:00 2001 From: brettp Date: Thu, 25 Mar 2010 21:39:17 +0000 Subject: Cleaned up the likes interface a bit. git-svn-id: http://code.elgg.org/elgg/trunk@5508 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/annotations.php | 35 +++++++++++++++++++++-------------- engine/lib/elgglib.php | 4 ++-- 2 files changed, 23 insertions(+), 16 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index f1cec6cc9..c545682d5 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -1178,7 +1178,7 @@ function clear_annotations($guid, $name = "") { return delete_data($query); } } - + return FALSE; } @@ -1253,25 +1253,32 @@ function get_annotation_url($id) { /** * Check to see if a user has already created an annotation on an object * - * @param ElggEntity $entity + * @param int $entity_guid + * @param string $annotation_type + * @param int $owner_guid Defaults to logged in user. + * * @return true | false */ -function elgg_already_created_annotation($entity_guid, $annotation_type) { +function elgg_annotation_exists($entity_guid, $annotation_type, $owner_guid = NULL) { global $CONFIG; + + if (!$owner_guid && !($owner_guid = get_loggedin_userid())) { + return FALSE; + } + $entity_guid = (int)$entity_guid; $annotation_type = sanitise_string($annotation_type); - $owner_guid = get_loggedin_userid(); + $sql = "select a.id" . - " FROM {$CONFIG->dbprefix}annotations a, {$CONFIG->dbprefix}metastrings m " . - " WHERE a.owner_guid={$owner_guid} AND a.entity_guid={$entity_guid} " . - " AND a.name_id=m.id AND m.string='{$annotation_type}'"; - //get the annotation type id - $check_annotation = get_data_row($sql); - //check to see if the user has already liked - if($check_annotation) - return true; - else - return false; + " FROM {$CONFIG->dbprefix}annotations a, {$CONFIG->dbprefix}metastrings m " . + " WHERE a.owner_guid={$owner_guid} AND a.entity_guid={$entity_guid} " . + " AND a.name_id=m.id AND m.string='{$annotation_type}'"; + + if ($check_annotation = get_data_row($sql)) { + return TRUE; + } + + return FALSE; } /** diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index e33fdab6f..04e04fbbc 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -1012,11 +1012,11 @@ function elgg_view_likes($entity){ if (!($entity instanceof ElggEntity)) { return false; } - if ($likes = trigger_plugin_hook('likes',$entity->getType(),array('entity' => $entity),false)) { + if ($likes = trigger_plugin_hook('likes', $entity->getType(), array('entity' => $entity), false)) { return $likes; } else { //display the form - $likes = elgg_view('likes/forms/edit',array('entity' => $entity)); + $likes = elgg_view('likes/forms/edit', array('entity' => $entity)); return $likes; } } -- cgit v1.2.3