[!!!][TASK] Remove $GLOBALS[FILEICONS] functionality 02/40502/3
authorBenjamin Mack <benni@typo3.org>
Sat, 20 Jun 2015 21:06:21 +0000 (23:06 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Mon, 22 Jun 2015 18:09:51 +0000 (20:09 +0200)
The global variable FILEICONS was used before there were
sprite icons for files prior to TYPO3 v4.4.

The $FILEICONS array is still filled on every request but
never used throughout the backend. The only usage
within BackendUtility::getFileIcon() is also never used
and thus is completely removed from the TYPO3 Core.

Resolves: #67654
Releases: master
Change-Id: Ia8a99b124352ed23cdab9b6bd83ecb6a27bab4a0
Reviewed-on: http://review.typo3.org/40502
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stephan GroƟberndt <stephan@grossberndt.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst [new file with mode: 0644]
typo3/sysext/core/ext_tables.php
typo3/sysext/install/Classes/Controller/Action/Ajax/ExtensionCompatibilityTester.php

index 7320088..6ff88b4 100644 (file)
@@ -2448,16 +2448,6 @@ class BackendUtility {
        }
 
        /**
-        * Returns file icon name (from $FILEICONS) for the fileextension $ext
-        *
-        * @param string $ext File extension, lowercase
-        * @return string File icon filename
-        */
-       static public function getFileIcon($ext) {
-               return $GLOBALS['FILEICONS'][$ext] ?: $GLOBALS['FILEICONS']['default'];
-       }
-
-       /**
         * Returns fields for a table, $table, which would typically be interesting to select
         * This includes uid, the fields defined for title, icon-field.
         * Returned as a list ready for query ($prefix can be set to eg. "pages." if you are selecting from the pages table and want the table name prefixed)
index ffb2e6c..b7ded39 100644 (file)
@@ -800,7 +800,6 @@ class Bootstrap {
                unset($GLOBALS['TCA']);
                unset($GLOBALS['TBE_MODULES']);
                unset($GLOBALS['TBE_STYLES']);
-               unset($GLOBALS['FILEICONS']);
                unset($GLOBALS['BE_USER']);
                // Those set otherwise:
                unset($GLOBALS['TBE_MODULES_EXT']);
@@ -1013,7 +1012,7 @@ class Bootstrap {
                // can not prohibit this without breaking backwards compatibility
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
                global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;
-               global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;
+               global $PAGES_TYPES, $TBE_STYLES;
                global $_EXTKEY;
                // Load additional ext tables script if the file exists
                $extTablesFile = PATH_typo3conf . TYPO3_extTableDef_script;
index bf2641b..520af6d 100644 (file)
@@ -1754,7 +1754,7 @@ tt_content.' . $key . $suffix . ' {
                // scope, but we can not prohibit this without breaking backwards compatibility
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
                global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;
-               global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;
+               global $PAGES_TYPES, $TBE_STYLES;
                global $_EXTKEY;
                // Load each ext_tables.php file of loaded extensions
                foreach ($GLOBALS['TYPO3_LOADED_EXT'] as $_EXTKEY => $extensionInformation) {
@@ -1783,7 +1783,7 @@ tt_content.' . $key . $suffix . ' {
                $phpCodeToCache[] = '';
                $phpCodeToCache[] = 'global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;';
                $phpCodeToCache[] = 'global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;';
-               $phpCodeToCache[] = 'global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;';
+               $phpCodeToCache[] = 'global $PAGES_TYPES, $TBE_STYLES;';
                $phpCodeToCache[] = 'global $_EXTKEY;';
                $phpCodeToCache[] = '';
                // Iterate through loaded extensions and add ext_tables content
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst
new file mode 100644 (file)
index 0000000..bafa28d
--- /dev/null
@@ -0,0 +1,30 @@
+===========================================================
+Breaking: #67654 - Remove $GLOBALS[FILEICONS] functionality
+===========================================================
+
+Description
+===========
+
+The global variable $GLOBALS['FILEICONS'] was in use for displaying icons before the sprite icons for files were introduced in TYPO3 v4.4.
+
+The $FILEICONS has been removed completely as well as the function call ``BackendUtility::getFileIcon()``.
+
+
+Impact
+======
+
+Any usage on $GLOBALS['FILEICONS'] will have no effect anymore.
+
+Any calls on ``BackendUtility::getFileIcon()`` will result in a fatal error.
+
+
+Affected Installations
+======================
+
+Instances that populate or make use of $GLOBALS['FILEICONS'] or installations with extensions calling ``BackendUtility::getFileIcon()`` directly.
+
+
+Migration
+=========
+
+Use sprite icons via ``IconUtility::getSpriteIconForFile()``.
index cecc04f..230d93d 100644 (file)
@@ -173,78 +173,6 @@ $GLOBALS['TBE_STYLES'] = array(
 $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:lang/locallang_csh_pages.xlf'][] = 'EXT:lang/4.5/locallang_csh_pages.xlf';
 $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:lang/locallang_csh_corebe.xlf'][] = 'EXT:lang/4.5/locallang_csh_corebe.xlf';
 
-
-/**
- * $FILEICONS defines icons for the various file-formats
- */
-$GLOBALS['FILEICONS'] = array(
-       'txt' => 'txt.gif',
-       'pdf' => 'pdf.gif',
-       'doc' => 'doc.gif',
-       'ai' => 'ai.gif',
-       'bmp' => 'bmp.gif',
-       'tif' => 'tif.gif',
-       'htm' => 'htm.gif',
-       'html' => 'html.gif',
-       'pcd' => 'pcd.gif',
-       'gif' => 'gif.gif',
-       'jpg' => 'jpg.gif',
-       'jpeg' => 'jpg.gif',
-       'mpg' => 'mpg.gif',
-       'mpeg' => 'mpeg.gif',
-       'exe' => 'exe.gif',
-       'com' => 'exe.gif',
-       'zip' => 'zip.gif',
-       'tgz' => 'zip.gif',
-       'gz' => 'zip.gif',
-       'php3' => 'php3.gif',
-       'php4' => 'php3.gif',
-       'php5' => 'php3.gif',
-       'php6' => 'php3.gif',
-       'php' => 'php3.gif',
-       'ppt' => 'ppt.gif',
-       'ttf' => 'ttf.gif',
-       'pcx' => 'pcx.gif',
-       'png' => 'png.gif',
-       'tga' => 'tga.gif',
-       'class' => 'java.gif',
-       'sxc' => 'sxc.gif',
-       'sxw' => 'sxw.gif',
-       'xls' => 'xls.gif',
-       'swf' => 'swf.gif',
-       'swa' => 'flash.gif',
-       'dcr' => 'flash.gif',
-       'wav' => 'wav.gif',
-       'mp3' => 'mp3.gif',
-       'avi' => 'avi.gif',
-       'au' => 'au.gif',
-       'mov' => 'mov.gif',
-       '3ds' => '3ds.gif',
-       'csv' => 'csv.gif',
-       'ico' => 'ico.gif',
-       'max' => 'max.gif',
-       'ps' => 'ps.gif',
-       'tmpl' => 'tmpl.gif',
-       'fh3' => 'fh3.gif',
-       'inc' => 'inc.gif',
-       'mid' => 'mid.gif',
-       'psd' => 'psd.gif',
-       'xml' => 'xml.gif',
-       'rtf' => 'rtf.gif',
-       't3x' => 't3x.gif',
-       't3d' => 't3d.gif',
-       'cdr' => 'cdr.gif',
-       'dtd' => 'dtd.gif',
-       'sgml' => 'sgml.gif',
-       'ani' => 'ani.gif',
-       'css' => 'css.gif',
-       'eps' => 'eps.gif',
-       'js' => 'js.gif',
-       'wrl' => 'wrl.gif',
-       'default' => 'default.gif'
-);
-
-
 /**
  * Backend sprite icon-names
  */
index 9cdee30..0395acb 100644 (file)
@@ -152,7 +152,7 @@ class ExtensionCompatibilityTester extends AbstractAjaxAction {
                // scope, but we can not prohibit this without breaking backwards compatibility
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
                global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;
-               global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;
+               global $PAGES_TYPES, $TBE_STYLES;
                global $_EXTKEY;
                // Load each ext_tables.php file of loaded extensions
                $_EXTKEY = $extensionKey;