This is the friends system from Feuerfuchs, I only adapted it to Woltlab Suite 5.1, 5.2, 5.3 and fixed bugs.
After a few inquiries about the Woltlab Cloud, I am making it available to cloud users here.
This friends system is independent of the follower system and offers the following features:
A drop-down menu will appear in the panel showing your last active friends.
Friendships only come about with the consent of both parties: one sends a request, the other accepts or rejects it.
Users get a notification when one or more of their friends have a birthday.
A list of all friends is displayed in the profile, as is the list of followers or visitors.
Made friends can be published as an activity.
Privacy concerns? All of the above are under the complete control of your users. If you want to hide from your friends that it's your birthday, you can do this simply by deselecting a checkbox. The publication of friendships as an activity is also deactivated by default and the corresponding option must be activated for both users in order for an activity entry to be generated. Etc…
All incoming requests can also be blocked if a user is not interested in friendships.
Some features can be disabled globally. (ACP → modules → friends system)
The follower system can be suppressed. (ACP → modules → friends system)
But why do you need a friends system at all?
The main reason is that the follower system is simply unsuitable for signaling friendship. For example, many people are not interested in everything their friends write on the forum. So, to keep the dashboard nicely tidy, don't follow them while some basically strangers stay on the list as they write interesting posts. Friends may feel offended by this.
The friends system remedies this by introducing features that are useful to friends and that the follower system does not have. Thus, the follower system can simply be viewed as a “list of interesting people”, while the friends system is actually there for friends.