aboutsummaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
Diffstat (limited to 'actions')
-rwxr-xr-xactions/friendrequest/decline.php12
-rw-r--r--actions/friends/add.php3
-rw-r--r--actions/friends/remove.php24
3 files changed, 38 insertions, 1 deletions
diff --git a/actions/friendrequest/decline.php b/actions/friendrequest/decline.php
new file mode 100755
index 000000000..5b48acfb4
--- /dev/null
+++ b/actions/friendrequest/decline.php
@@ -0,0 +1,12 @@
+<?php
+
+$user = elgg_get_logged_in_user_entity();
+$friend = get_entity(sanitize_int(get_input("guid")));
+
+if(remove_entity_relationship($friend->guid, 'friendrequest', $user->guid)) {
+ system_message(elgg_echo("friendrequest:remove:success"));
+} else {
+ system_message(elgg_echo("friendrequest:remove:fail"));
+}
+
+forward(REFERER);
diff --git a/actions/friends/add.php b/actions/friends/add.php
index 702a384d3..5d4ecc078 100644
--- a/actions/friends/add.php
+++ b/actions/friends/add.php
@@ -9,7 +9,8 @@ if(!elgg_instanceof($friend, 'user')){
}
if(check_entity_relationship($friend->guid, "friendrequest", $user->guid)
- || check_entity_relationship($friend->guid, "friend", $user->guid)) {
+ || check_entity_relationship($friend->guid, "friend", $user->guid)) {
+
$user->addFriend($friend->guid);
remove_entity_relationship($friend->guid, "friendrequest", $user->guid);
diff --git a/actions/friends/remove.php b/actions/friends/remove.php
new file mode 100644
index 000000000..4ba7bc572
--- /dev/null
+++ b/actions/friends/remove.php
@@ -0,0 +1,24 @@
+<?php
+
+$friend = get_entity(sanitize_int(get_input('friend')));
+$user = elgg_get_logged_in_user_entity();
+
+if(!elgg_instanceof($friend, 'user')){
+ register_error(elgg_echo('friendrequest:remove:failure', array($friend->name)));
+ forward(REFERER);
+}
+
+if(check_entity_relationship($user->guid, "friend", $friend->guid)) {
+ try {
+ $user->removeFriend($friend->guid);
+ if(check_entity_relationship($friend->guid, "friend", $user->guid)){
+ $friend->removeFriend($user->guid);
+ }
+ } catch (Exception $e) {
+ register_error(elgg_echo('friendrequest:remove:failure', array($friend->name)));
+ forward(REFERER);
+ }
+}
+
+system_message(elgg_echo('friendrequest:remove:successful', array($friend->name)));
+forward(REFERER);