[TASK] Merge FormEngineUtility icon methods 70/43370/2
authorMathias Brodala <mbrodala@pagemachine.de>
Wed, 16 Sep 2015 09:18:14 +0000 (11:18 +0200)
committerFrank Nägler <frank.naegler@typo3.org>
Wed, 16 Sep 2015 20:18:57 +0000 (22:18 +0200)
Resolves: #69869
Releases: master
Change-Id: I93520350a69e145d5d5d6e77cc387d45ef4e9885
Reviewed-on: http://review.typo3.org/43370
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Nägler <frank.naegler@typo3.org>
Tested-by: Frank Nägler <frank.naegler@typo3.org>
typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php

index 9d5417f..1377dae 100644 (file)
@@ -153,56 +153,46 @@ class FormEngineUtility {
        }
 
        /**
-        * Get icon (for example for selector boxes)
+        * Renders the $icon, supports a filename for skinImg or sprite-icon-name
         *
-        * @param string $icon Icon reference
-        * @return array Array with two values; the icon file reference, the icon file information array (getimagesize())
+        * @param string $icon The icon passed, could be a file-reference or a sprite Icon name
+        * @param string $alt Alt attribute of the icon returned
+        * @param string $title Title attribute of the icon return
+        * @return string A tag representing to show the asked icon
         * @internal
         */
-       static public function getIcon($icon) {
-               $selIconFile = '';
-               $selIconInfo = FALSE;
+       static public function getIconHtml($icon, $alt = '', $title = '') {
                $icon = (string)$icon;
+               $iconFile = '';
+               $iconInfo = FALSE;
+
                if (StringUtility::beginsWith($icon, 'EXT:')) {
                        $absoluteFilePath = GeneralUtility::getFileAbsFileName($icon);
                        if (!empty($absoluteFilePath)) {
-                               $selIconFile = '../' . PathUtility::stripPathSitePrefix($absoluteFilePath);
-                               $selIconInfo = (StringUtility::endsWith($absoluteFilePath, '.svg'))
+                               $iconFile = '../' . PathUtility::stripPathSitePrefix($absoluteFilePath);
+                               $iconInfo = (StringUtility::endsWith($absoluteFilePath, '.svg'))
                                        ? TRUE
                                        : getimagesize($absoluteFilePath);
                        }
                } elseif (StringUtility::beginsWith($icon, '../')) {
                        // @TODO: this is special modList, files from folders and selicon
-                       $selIconFile = GeneralUtility::resolveBackPath($icon);
+                       $iconFile = GeneralUtility::resolveBackPath($icon);
                        if (is_file(PATH_site . GeneralUtility::resolveBackPath(substr($icon, 3)))) {
-                               $selIconInfo = (StringUtility::endsWith($icon, '.svg'))
+                               $iconInfo = (StringUtility::endsWith($icon, '.svg'))
                                        ? TRUE
                                        : getimagesize((PATH_site . GeneralUtility::resolveBackPath(substr($icon, 3))));
                        }
                }
-               if ($selIconInfo === FALSE) {
-                       // Unset to empty string if icon is not available
-                       $selIconFile = '';
-               }
-               return array($selIconFile, $selIconInfo);
-       }
 
-       /**
-        * Renders the $icon, supports a filename for skinImg or sprite-icon-name
-        *
-        * @param string $icon The icon passed, could be a file-reference or a sprite Icon name
-        * @param string $alt Alt attribute of the icon returned
-        * @param string $title Title attribute of the icon return
-        * @return string A tag representing to show the asked icon
-        * @internal
-        */
-       static public function getIconHtml($icon, $alt = '', $title = '') {
-               $iconArray = static::getIcon($icon);
-               if (!empty($iconArray[0]) && is_file(GeneralUtility::resolveBackPath(PATH_typo3 . $iconArray[0]))) {
-                       return '<img src="' . $iconArray[0] . '" alt="' . $alt . '" ' . ($title ? 'title="' . $title . '"' : '') . ' />';
-               } else {
-                       return IconUtility::getSpriteIcon($icon, array('alt' => $alt, 'title' => $title));
+               if ($iconInfo !== FALSE && is_file(GeneralUtility::resolveBackPath(PATH_typo3 . $iconFile))) {
+                       return '<img'
+                               . ' src="' . htmlspecialchars($iconFile) . '"'
+                               . ' alt="' . htmlspecialchars($alt) . '" '
+                               . ($title ? 'title="' . htmlspecialchars($title) . '"' : '')
+                       . ' />';
                }
+
+               return IconUtility::getSpriteIcon($icon, array('alt' => $alt, 'title' => $title));
        }
 
        /**