aboutsummaryrefslogtreecommitdiff
path: root/lib/models/User.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/User.php')
-rw-r--r--lib/models/User.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/models/User.php b/lib/models/User.php
index 6f7cddb..87629ae 100644
--- a/lib/models/User.php
+++ b/lib/models/User.php
@@ -1750,4 +1750,30 @@ class User extends AuthUserMd5 implements Range, PrivacyObject, Studip\Calendar\
return $GLOBALS['perm']->have_studip_perm($permission, $for_range->id, $this->id);
}
+
+ public function getAvatarDropdownHTML(bool $with_name = false): string
+ {
+ $attributes = [
+ ':user' => json_encode([
+ 'id' => $this->id,
+ 'name' => $this->getFullName(),
+ 'username' => $this->username,
+ 'avatar_url' => Avatar::getAvatar($this->id)->getURL(Avatar::SMALL),
+ ])
+ ];
+
+ $user_profile_link = '';
+ if ($with_name) {
+ $user_profile_link = '<a href="' . URLHelper::getLink('dispatch.php/profile', ['username' => $this->username]) . '">' . htmlReady($this->getFullName()) . '</a>';
+ }
+
+ return '
+ <div class="user-avatar-container">
+ <div class="use-vue-components">
+ <user-avatar-dropdown ' . HTMLAttributes::from($attributes) . '/>
+ </div>
+ '. $user_profile_link .'
+ </div>
+ ';
+ }
}