From fda855523ee0ebaf3552713dd250e9773916cdf2 Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Fri, 22 Dec 2017 11:20:25 +0100 Subject: [PATCH] Support for 3rd party avatars --- .../files/lib/data/user/UserProfile.class.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/wcfsetup/install/files/lib/data/user/UserProfile.class.php b/wcfsetup/install/files/lib/data/user/UserProfile.class.php index a56ea4fb97..a4724595de 100644 --- a/wcfsetup/install/files/lib/data/user/UserProfile.class.php +++ b/wcfsetup/install/files/lib/data/user/UserProfile.class.php @@ -270,6 +270,18 @@ class UserProfile extends DatabaseObjectDecorator implements ITitledLinkObject { else if (MODULE_GRAVATAR && $this->enableGravatar) { $this->avatar = new Gravatar($this->userID, $this->email, ($this->gravatarFileExtension ?: 'png')); } + else { + $parameters = ['avatar' => null]; + EventHandler::getInstance()->fireAction($this, 'getAvatar', $parameters); + + if ($parameters['avatar'] !== null) { + if (!($parameters['avatar'] instanceof IUserAvatar)) { + throw new \RuntimeException("Object '".get_class($parameters['avatar'])."' does not implement '".IUserAvatar::class."'."); + } + + $this->avatar = $parameters['avatar']; + } + } } } -- 2.20.1