diff options
Diffstat (limited to 'actions/friends/add.php')
| -rw-r--r-- | actions/friends/add.php | 65 |
1 files changed, 30 insertions, 35 deletions
diff --git a/actions/friends/add.php b/actions/friends/add.php index 63f1e2d94..d1800ee14 100644 --- a/actions/friends/add.php +++ b/actions/friends/add.php @@ -1,40 +1,35 @@ <?php +/** + * Elgg add friend action + * + * @package Elgg.Core + * @subpackage Friends.Management + */ - /** - * Elgg add friend action - * - * @package Elgg - * @subpackage Core +// Get the GUID of the user to friend +$friend_guid = get_input('friend'); +$friend = get_entity($friend_guid); +if (!$friend) { + register_error(elgg_echo('error:missing_data')); + forward(REFERER); +} - * @author Curverider Ltd +$errors = false; - * @link http://elgg.org/ - */ +// Get the user +try { + if (!elgg_get_logged_in_user_entity()->addFriend($friend_guid)) { + $errors = true; + } +} catch (Exception $e) { + register_error(elgg_echo("friends:add:failure", array($friend->name))); + $errors = true; +} +if (!$errors) { + // add to river + add_to_river('river/relationship/friend/create', 'friend', elgg_get_logged_in_user_guid(), $friend_guid); + system_message(elgg_echo("friends:add:successful", array($friend->name))); +} - // Ensure we are logged in - gatekeeper(); - action_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 (!$_SESSION['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',$_SESSION['user']->guid,$friend_guid); - system_message(sprintf(elgg_echo("friends:add:successful"),$friend->name)); - } - - // Forward to the user friends page - forward("pg/friends/" . $_SESSION['user']->username . "/"); - -?>
\ No newline at end of file +// Forward back to the page you friended the user on +forward(REFERER); |
