Honor cms.linkPolicy config in ImageResizer (#5401)
This commit is contained in:
parent
59de6e1d25
commit
00f65ca725
|
|
@ -499,7 +499,13 @@ class ImageResizer
|
|||
// Store the current configuration
|
||||
$this->storeConfig();
|
||||
|
||||
return Url::to("/resizer/$identifier/$resizedUrl");
|
||||
$url = "/resizer/$identifier/$resizedUrl";
|
||||
|
||||
if (Config::get('cms.linkPolicy', 'detect') === 'force') {
|
||||
$url = Url::to($url);
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -523,7 +529,13 @@ class ImageResizer
|
|||
// Ensure that a properly encoded URL is returned
|
||||
$segments = explode('/', $url);
|
||||
$lastSegment = array_pop($segments);
|
||||
return implode('/', $segments) . '/' . rawurlencode(rawurldecode($lastSegment));
|
||||
$url = implode('/', $segments) . '/' . rawurlencode(rawurldecode($lastSegment));
|
||||
|
||||
if (Config::get('cms.linkPolicy', 'detect') === 'force') {
|
||||
$url = Url::to($url);
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -335,6 +335,32 @@ class ImageResizerTest extends PluginTestCase
|
|||
$this->assertStringContainsString('october%20space', $imageResizer->getResizedUrl(), 'Resized URLs are not properly URL encoded');
|
||||
}
|
||||
|
||||
public function testGetResizedUrl()
|
||||
{
|
||||
$imageResizer = new ImageResizer((new CmsController())->themeUrl('assets/images/october.png'));
|
||||
|
||||
Config::set('cms.linkPolicy', 'force');
|
||||
$url = $imageResizer->getResizedUrl();
|
||||
$this->assertTrue(starts_with($url, 'http'));
|
||||
|
||||
Config::set('cms.linkPolicy', 'detect');
|
||||
$url = $imageResizer->getResizedUrl();
|
||||
$this->assertTrue(starts_with($url, Config::get('cms.storage.resized.path', '/storage/app/resized')));
|
||||
}
|
||||
|
||||
public function testGetResizerUrl()
|
||||
{
|
||||
$imageResizer = new ImageResizer((new CmsController())->themeUrl('assets/images/october.png'));
|
||||
|
||||
Config::set('cms.linkPolicy', 'force');
|
||||
$url = $imageResizer->getResizerUrl();
|
||||
$this->assertTrue(starts_with($url, 'http'));
|
||||
|
||||
Config::set('cms.linkPolicy', 'detect');
|
||||
$url = $imageResizer->getResizerUrl();
|
||||
$this->assertTrue(starts_with($url, '/resizer/'));
|
||||
}
|
||||
|
||||
protected function setUpStorage()
|
||||
{
|
||||
$this->app->useStoragePath(base_path('storage/temp'));
|
||||
|
|
|
|||
Loading…
Reference in New Issue