Esempio n. 1
0
/**
 * Approve friendship request between two users
 *
 * @param ElggUser $user   User being requested
 * @param ElggUser $friend User requesting
 * @return bool
 */
function user_friends_approve_friend_request(ElggUser $user, ElggUser $friend)
{
    if (!remove_entity_relationship($friend->guid, 'friendrequest', $user->guid)) {
        return false;
    }
    $user->addFriend($friend->guid);
    $friend->addFriend($user->guid);
    $subject = elgg_echo('friend_request:approve:subject', [$user->name]);
    $message = elgg_echo('friend_request:approve:message', [$friend->name, $user->name]);
    notify_user($friend->guid, $user->guid, $subject, $message, ['template' => 'friend_request_approved', 'action' => 'add_friend', 'object' => $friend]);
    friend_request_create_river_events($user->guid, $friend->guid);
    return true;
}
Esempio n. 2
0
<?php

$friend_guid = (int) get_input('friend_guid');
$user_guid = (int) get_input('user_guid');
$friend = get_user($friend_guid);
if (empty($friend)) {
    register_error(elgg_echo('error:missing_data'));
    forward(REFERER);
}
$user = get_user($user_guid);
if (!$user instanceof \ElggUser || !$user->canEdit()) {
    register_error(elgg_echo('action:unauthorized'));
    forward(REFERER);
}
if (!remove_entity_relationship($friend->getGUID(), 'friendrequest', $user->getGUID())) {
    register_error(elgg_echo('friend_request:approve:fail', [$friend->name]));
    forward(REFERER);
}
$user->addFriend($friend->getGUID());
$friend->addFriend($user->getGUID());
//Friends mean reciprocal...
// notify the user about the acceptance
$subject = elgg_echo('friend_request:approve:subject', [$user->name], $friend->language);
$message = elgg_echo('friend_request:approve:message', [$friend->name, $user->name], $friend->language);
$params = ['action' => 'add_friend', 'object' => $user];
notify_user($friend->getGUID(), $user->getGUID(), $subject, $message, $params);
// add to river
friend_request_create_river_events($user->getGUID(), $friend->getGUID());
system_message(elgg_echo('friend_request:approve:successful', [$friend->name]));
forward(REFERER);