aboutsummaryrefslogtreecommitdiff
path: root/actions/friends/add.php
blob: d26539a54be1392285d5e0f46fe1d3cc93d78b94 (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
<?php
/**
 * Elgg add friend action
 *
 * @package Elgg.Core
 * @subpackage Friends.Management
 */

// Ensure we are logged in
gatekeeper();

// 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 (!get_loggedin_user()->addFriend($friend_guid)) {
		$errors = true;
	}
} catch (Exception $e) {
	register_error(sprintf(elgg_echo("friends:add:failure"), $friend->name));
	$errors = true;
}
if (!$errors) {
	// add to river
	add_to_river('friends/river/create', 'friend', get_loggedin_userid(), $friend_guid);
	system_message(sprintf(elgg_echo("friends:add:successful"), $friend->name));
}

// Forward back to the page you friended the user on
forward($_SERVER['HTTP_REFERER']);