]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #4750: Supporting both id and guid arguments for likes/delete
authorEvan Winslow <evan@elgg.org>
Sat, 21 Jul 2012 22:49:31 +0000 (15:49 -0700)
committerEvan Winslow <evan@elgg.org>
Sat, 21 Jul 2012 22:49:31 +0000 (15:49 -0700)
mod/likes/actions/likes/delete.php
mod/likes/languages/en.php
mod/likes/views/default/annotation/likes.php

index db3036bb46ce7377b9f349baf838caeeae3e82dd..322d512e880cd2c926b7cb92eff35b5f4cb188e7 100644 (file)
@@ -4,17 +4,27 @@
  *
  */
 
-$likes = elgg_get_annotations(array(
-       'guid' => (int) get_input('guid'),
-       'annotation_owner_guid' => elgg_get_logged_in_user_guid(),
-       'annotation_name' => 'likes',
-));
-if ($likes) {
-       if ($likes[0]->canEdit()) {
-               $likes[0]->delete();
-               system_message(elgg_echo("likes:deleted"));
-               forward(REFERER);
-       }
+// Support deleting by id in case we're deleting another user's likes
+$id = (int) get_input('id');
+
+$like = NULL;
+if ($id) {
+       $like = elgg_get_annotation_from_id($id);
+}
+
+if (!$like) {
+       $likes = elgg_get_annotations(array(
+               'guid' => (int) get_input('guid'),
+               'annotation_owner_guid' => elgg_get_logged_in_user_guid(),
+               'annotation_name' => 'likes',
+       ));
+       $like = $likes[0];
+}
+
+if ($like && $like->canEdit()) {
+       $like->delete();
+       system_message(elgg_echo("likes:deleted"));
+       forward(REFERER);
 }
 
 register_error(elgg_echo("likes:notdeleted"));
index 4a98d7cfe6aa4317d4bb16185980bdfd151002ec..bdbd2a96342c32fc0e5d1e4a7efa173af3e2edcb 100644 (file)
@@ -17,6 +17,7 @@ $english = array(
        'likes:userlikedthis' => '%s like',
        'likes:userslikedthis' => '%s likes',
        'likes:river:annotate' => 'likes',
+       'likes:delete:confirm' => 'Are you sure you want to delete this like?',
 
        'river:likes' => 'likes %s %s',
 
index d41522fc4b4f1836808d7323fbaa45ecafc0ddf9..2b5acc5206ef68eaef79e9b238efc0e1a7a42659 100644 (file)
@@ -29,11 +29,11 @@ $friendlytime = elgg_view_friendly_time($like->time_created);
 
 if ($like->canEdit()) {
        $delete_button = elgg_view("output/confirmlink",array(
-                                               'href' => "action/likes/delete?annotation_id={$like->id}",
-                                               'text' => "<span class=\"elgg-icon elgg-icon-delete float-alt\"></span>",
-                                               'confirm' => elgg_echo('deleteconfirm'),
-                                               'encode_text' => false,
-                                       ));
+       'href' => "action/likes/delete?id={$like->id}",
+       'text' => "<span class=\"elgg-icon elgg-icon-delete float-alt\"></span>",
+       'confirm' => elgg_echo('likes:delete:confirm'),
+       'encode_text' => false,
+    ));
 }
 
 $body = <<<HTML