From 27df27d1df55c72ac70db555615300ff3ccaa07a Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Fri, 27 Apr 2018 16:17:52 -0600 Subject: [PATCH] resolve streams earlier --- system/src/Grav/Common/Page/Medium/ImageMedium.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/system/src/Grav/Common/Page/Medium/ImageMedium.php b/system/src/Grav/Common/Page/Medium/ImageMedium.php index 05bc4c486..a1a544a3c 100644 --- a/system/src/Grav/Common/Page/Medium/ImageMedium.php +++ b/system/src/Grav/Common/Page/Medium/ImageMedium.php @@ -11,6 +11,7 @@ namespace Grav\Common\Page\Medium; use Grav\Common\Data\Blueprint; use Grav\Common\Grav; use Grav\Common\Utils; +use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; class ImageMedium extends Medium { @@ -152,12 +153,18 @@ class ImageMedium extends Medium */ public function url($reset = true) { - $image_path = Grav::instance()['locator']->findResource('cache://images', true); - $image_dir = Grav::instance()['locator']->findResource('cache://images', false); + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + $image_path = $locator->findResource('cache://images', true); + $image_dir = $locator->findResource('cache://images', false); $saved_image_path = $this->saveImage(); $output = preg_replace('|^' . preg_quote(GRAV_ROOT) . '|', '', $saved_image_path); + if ($locator->isStream($output)) { + $output = $locator->findResource($output, false); + } + if (Utils::startsWith($output, $image_path)) { $output = '/' . $image_dir . preg_replace('|^' . preg_quote($image_path) . '|', '', $output); }