[BUGFIX] Invalid back path of ImageViewHelper in TYPO3 backend 07/37407/2
authorOliver Hader <oliver@typo3.org>
Sun, 1 Mar 2015 13:36:27 +0000 (14:36 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Mon, 2 Mar 2015 14:40:13 +0000 (15:40 +0100)
If rendering an image in the TYPO3 backend, the regular case is
to prepend "../" to an URI with the assumption that the original
HTTP request was handled by typo3/backend.php.

For the page module for instance, the request points to
typo3/sysext/cms/layout/db_layout.php, thus the back path way
does not work anymore.

To overcome that behavior the absolute path shall be used
instead by determining TYPO3_SITE_PATH. For the case that
some custom processing relies on "../" this change might
be breaking.

Resolves: #65433
Releases: master, 6.2
Change-Id: I969f6a3bdd000b7efb7607e533d1117c8d363959
Reviewed-on: http://review.typo3.org/37407
Reviewed-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
typo3/sysext/extbase/Classes/Service/ImageService.php

index d608614..8858342 100644 (file)
@@ -18,6 +18,7 @@ use TYPO3\CMS\Core\Resource\FileInterface;
 use TYPO3\CMS\Core\Resource\File;
 use TYPO3\CMS\Core\Resource\FileReference;
 use TYPO3\CMS\Core\Resource\ProcessedFile;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 
 /**
@@ -73,7 +74,7 @@ class ImageService implements \TYPO3\CMS\Core\SingletonInterface {
                } elseif ($this->environmentService->isEnvironmentInFrontendMode()) {
                        $uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
                } else {
-                       $uriPrefix = '../';
+                       $uriPrefix = GeneralUtility::getIndpEnv('TYPO3_SITE_PATH');
                }
 
                return $uriPrefix . $imageUrl;