From 1bda697fe1e9fb1d668091379f659c25cf823982 Mon Sep 17 00:00:00 2001 From: Benni Mack <benni@typo3.org> Date: Fri, 27 May 2016 13:16:09 +0200 Subject: [PATCH] [TASK] IconViewHelper should generate absolute URLs This change allows the IconViewHelper in the reports module to be used not just from typo3/ (e.g. if a person puts typo3/index.php to a different place or wants to show the reports in the install tool). Resolves: #76322 Releases: master Change-Id: I7067654b3fff5ac75fb9883b708ddb28a9ddc7d1 Reviewed-on: https://review.typo3.org/48321 Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de> Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Frank Naegler <frank.naegler@typo3.org> Tested-by: Frank Naegler <frank.naegler@typo3.org> --- .../reports/Classes/ViewHelpers/IconViewHelper.php | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/typo3/sysext/reports/Classes/ViewHelpers/IconViewHelper.php b/typo3/sysext/reports/Classes/ViewHelpers/IconViewHelper.php index 2e467f5688ae..f9b90dd321e9 100644 --- a/typo3/sysext/reports/Classes/ViewHelpers/IconViewHelper.php +++ b/typo3/sysext/reports/Classes/ViewHelpers/IconViewHelper.php @@ -14,8 +14,8 @@ namespace TYPO3\CMS\Reports\ViewHelpers; * The TYPO3 project - inspiring people to share! */ -use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Core\Utility\PathUtility; use TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBackendViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; @@ -64,14 +64,7 @@ class IconViewHelper extends AbstractBackendViewHelper $icon = $arguments['icon']; $title = $arguments['title']; - if (!empty($icon)) { - $absIconPath = GeneralUtility::getFileAbsFileName($icon); - if (file_exists($absIconPath)) { - $icon = '../' . str_replace(PATH_site, '', $absIconPath); - } - } else { - $icon = ExtensionManagementUtility::extRelPath('reports') . 'ext_icon.png'; - } - return '<img src="' . htmlspecialchars($icon) . '" width="16" height="16" title="' . htmlspecialchars($title) . '" alt="' . htmlspecialchars($title) . '" />'; + $icon = GeneralUtility::getFileAbsFileName($icon ?: 'EXT:reports/ext_icon.png'); + return '<img src="' . htmlspecialchars(PathUtility::getAbsoluteWebPath($icon)) . '" width="16" height="16" title="' . htmlspecialchars($title) . '" alt="' . htmlspecialchars($title) . '" />'; } } -- GitLab