123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
-
- $friend_guid = (int) get_input('friend');
- $friend = get_user($friend_guid);
- $user = elgg_get_logged_in_user_entity();
- if (empty($user) || empty($friend)) {
- register_error(elgg_echo('friend_request:add:failure'));
- forward(REFERER);
- }
- if (check_entity_relationship($friend->getGUID(), 'friend', $user->getGUID())) {
- try {
-
- $user->addFriend($friend->getGUID());
-
- system_message(elgg_echo('friends:add:successful', [$friend->name]));
- forward(REFERER);
- } catch (Exception $e) {
- register_error(elgg_echo('friends:add:failure', [$friend->name]));
- forward(REFERER);
- }
- } elseif (check_entity_relationship($friend->getGUID(), 'friendrequest', $user->getGUID())) {
-
- if (remove_entity_relationship($friend->getGUID(), 'friendrequest', $user->getGUID())) {
-
-
- $user->addFriend($friend->getGUID());
- $friend->addFriend($user->getGUID());
-
- system_message(elgg_echo('friend_request:approve:successful', [$friend->name]));
-
-
- friend_request_create_river_events($user->getGUID(), $friend->getGUID());
-
- forward(REFERER);
- } else {
- register_error(elgg_echo('friend_request:approve:fail', [$friend->name]));
- forward(REFERER);
- }
- } else {
- try {
- if (!add_entity_relationship($user->getGUID(), 'friendrequest', $friend->getGUID())) {
- register_error(elgg_echo('friend_request:add:exists', [$friend->name]));
- forward(REFERER);
- }
- } catch (Exception $e) {
-
- register_error(elgg_echo('friend_request:add:exists', [$friend->name]));
- forward(REFERER);
- }
- }
- system_message(elgg_echo('friend_request:add:successful', array($friend->name)));
- forward(REFERER);
|