aboutsummaryrefslogtreecommitdiff
path: root/actions/friends/remove.php
blob: 62bccb8912e1409d917dcddca546e1d59b71a1e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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);