diff options
Diffstat (limited to 'mod/friendrequest/actions/friends/remove.php')
-rw-r--r-- | mod/friendrequest/actions/friends/remove.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mod/friendrequest/actions/friends/remove.php b/mod/friendrequest/actions/friends/remove.php new file mode 100644 index 000000000..62bccb891 --- /dev/null +++ b/mod/friendrequest/actions/friends/remove.php @@ -0,0 +1,36 @@ +<?php +/** + * Elgg remove friend action + * + * @package Elgg.Core + * @subpackage Friends.Management + * @override actions/friends/remove.php + */ + +// Get the GUID of the user to friend +$friend_guid = get_input('friend'); +$friend = get_entity($friend_guid); +$errors = false; + +// Get the user +try{ + if ($friend instanceof ElggUser) { + elgg_get_logged_in_user_entity()->removeFriend($friend_guid); + $ia = elgg_set_ignore_access(true); + $friend->removeFriend(elgg_get_logged_in_user_guid()); + elgg_set_ignore_access($ia); + } else { + register_error(elgg_echo("friends:remove:failure", array($friend->name))); + $errors = true; + } +} catch (Exception $e) { + register_error(elgg_echo("friends:remove:failure", array($friend->name))); + $errors = true; +} + +if (!$errors) { + system_message(elgg_echo("friends:remove:successful", array($friend->name))); +} + +// Forward back to the page you made the friend on +forward(REFERER); |