Support StaticImageMedium formats for avatars

This commit is contained in:
Andy Miller
2019-08-31 23:26:08 -06:00
parent e2ed3098a3
commit 41e51cd86d
3 changed files with 10 additions and 6 deletions

View File

@@ -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()

View File

@@ -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.

View File

@@ -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;
}
}