public function testFriendSubscriptionRemovedWhenFriendRelationshipDeleted() { $this->user1->addFriend($this->user2->guid); $this->assertTrue($this->user1->isFriendsWith($this->user2->guid)); elgg_add_subscription($this->user1->guid, 'test', $this->user2->guid); $this->assertIsA(check_entity_relationship($this->user1->guid, 'notifytest', $this->user2->guid), ElggRelationship::class); $this->user1->removeFriend($this->user2->guid); $this->assertFalse($this->user1->isFriendsWith($this->user2->guid)); $this->assertFalse(check_entity_relationship($this->user1->guid, 'notifytest', $this->user2->guid)); }
/** * 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; }