X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/40ca50e44f3ca0f648d915dc73ff205309730f07..refs/pull/3406/head:/app/Uploads/UserAvatars.php diff --git a/app/Uploads/UserAvatars.php b/app/Uploads/UserAvatars.php index e98c1cfca..f5b085a35 100644 --- a/app/Uploads/UserAvatars.php +++ b/app/Uploads/UserAvatars.php @@ -1,4 +1,6 @@ -email)); $replacements = [ - '${hash}' => md5($email), - '${size}' => $size, + '${hash}' => md5($email), + '${size}' => $size, '${email}' => urlencode($email), ]; $userAvatarUrl = strtr($avatarUrl, $replacements); $imageData = $this->getAvatarImageData($userAvatarUrl); + return $this->createAvatarImageFromData($user, $imageData, 'png'); } @@ -101,6 +105,7 @@ class UserAvatars /** * Gets an image from url and returns it as a string of image data. + * * @throws Exception */ protected function getAvatarImageData(string $url): string @@ -110,6 +115,7 @@ class UserAvatars } catch (HttpFetchException $exception) { throw new Exception(trans('errors.cannot_get_image_from_url', ['url' => $url])); } + return $imageData; } @@ -119,6 +125,7 @@ class UserAvatars protected function avatarFetchEnabled(): bool { $fetchUrl = $this->getAvatarUrl(); + return is_string($fetchUrl) && strpos($fetchUrl, 'http') === 0; }