From 41e51cd86d792e7f0953aba7d3c54e2ca1785a93 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Sat, 31 Aug 2019 23:26:08 -0600 Subject: [PATCH] Support StaticImageMedium formats for avatars --- system/src/Grav/Common/User/DataUser/User.php | 2 +- system/src/Grav/Common/User/Interfaces/UserInterface.php | 5 +++-- system/src/Grav/Common/User/Traits/UserTrait.php | 9 ++++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/system/src/Grav/Common/User/DataUser/User.php b/system/src/Grav/Common/User/DataUser/User.php index 9a06aee20..696ad87a3 100644 --- a/system/src/Grav/Common/User/DataUser/User.php +++ b/system/src/Grav/Common/User/DataUser/User.php @@ -207,7 +207,7 @@ class User extends Data implements UserInterface /** * Return media object for the User's avatar. * - * @return ImageMedium|null + * @return Medium|null * @deprecated 1.6 Use ->getAvatarImage() method instead. */ public function getAvatarMedia() diff --git a/system/src/Grav/Common/User/Interfaces/UserInterface.php b/system/src/Grav/Common/User/Interfaces/UserInterface.php index 0fba6768a..08291fcf6 100644 --- a/system/src/Grav/Common/User/Interfaces/UserInterface.php +++ b/system/src/Grav/Common/User/Interfaces/UserInterface.php @@ -13,6 +13,7 @@ use Grav\Common\Data\Blueprint; use Grav\Common\Data\DataInterface; use Grav\Common\Media\Interfaces\MediaInterface; use Grav\Common\Page\Medium\ImageMedium; +use Grav\Common\Page\Medium\Medium; use RocketTheme\Toolbox\ArrayTraits\ExportInterface; /** @@ -185,9 +186,9 @@ interface UserInterface extends DataInterface, MediaInterface, \ArrayAccess, \Js * * Note: if there's no local avatar image for the user, you should call getAvatarUrl() to get the external avatar URL. * - * @return ImageMedium|null + * @return Medium|null */ - public function getAvatarImage(): ?ImageMedium; + public function getAvatarImage(): ?Medium; /** * Return the User's avatar URL. diff --git a/system/src/Grav/Common/User/Traits/UserTrait.php b/system/src/Grav/Common/User/Traits/UserTrait.php index f711cc92b..3de8fe280 100644 --- a/system/src/Grav/Common/User/Traits/UserTrait.php +++ b/system/src/Grav/Common/User/Traits/UserTrait.php @@ -11,6 +11,8 @@ namespace Grav\Common\User\Traits; use Grav\Common\Grav; use Grav\Common\Page\Medium\ImageMedium; +use Grav\Common\Page\Medium\Medium; +use Grav\Common\Page\Medium\StaticImageMedium; use Grav\Common\User\Authentication; use Grav\Common\Utils; @@ -107,9 +109,9 @@ trait UserTrait * * Note: if there's no local avatar image for the user, you should call getAvatarUrl() to get the external avatar URL. * - * @return ImageMedium|null + * @return Medium|null */ - public function getAvatarImage(): ?ImageMedium + public function getAvatarImage(): ?Medium { $avatars = $this->get('avatar'); if (\is_array($avatars) && $avatars) { @@ -119,7 +121,8 @@ trait UserTrait $name = $avatar['name'] ?? null; $image = $name ? $media[$name] : null; - if ($image instanceof ImageMedium) { + if ($image instanceof ImageMedium || + $image instanceof StaticImageMedium) { return $image; } }