Determines whether this user is friends with another user
public isFriendsWith ( integer $user_guid ) : boolean | ||
$user_guid | integer | The GUID of the user to check against |
return | boolean |
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)); }
/** * Determines if $viewer has access to $user's friends list * * @param ElggUser $user User whose friends are to be displayed * @param ElggUser $viewer Viewer * @return bool */ function user_friends_can_view_friends(ElggUser $user, ElggUser $viewer = null) { if (!isset($viewer)) { $viewer = elgg_get_logged_in_user_entity(); } $permission = false; if ($viewer && elgg_check_access_overrides($viewer->guid)) { $permission = true; } $setting = elgg_get_plugin_user_setting('friend_list_visibility', $user->guid, 'user_friends'); if (!isset($setting)) { $setting = elgg_get_plugin_setting('friend_list_visibility', 'user_friends', ACCESS_PUBLIC); } switch ((int) $setting) { case ACCESS_PRIVATE: $permission = $viewer && $user->canEdit($viewer->guid); break; case ACCESS_FRIENDS: $permission = $viewer && $user->isFriendsWith($viewer->guid); break; case ACCESS_LOGGED_IN: $permission = $viewer; break; case ACCESS_PUBLIC: $permission = true; break; } $params = array('viewer' => $viewer, 'user' => $user); return elgg_trigger_plugin_hook('permissions_check:view_friends_list', 'user', $params, $permission); }