[!!!][TASK] Removed deprecated image/filehandling functions 08/45608/3
authorJigal van Hemert <jigal.van.hemert@typo3.org>
Wed, 6 Jan 2016 19:39:29 +0000 (20:39 +0100)
committerWouter Wolters <typo3@wouterwolters.nl>
Thu, 7 Jan 2016 09:51:32 +0000 (10:51 +0100)
Resolves: #72426
Releases: master
Change-Id: Id398c9bfb1b4eba58e01d0be33e79eb6a826de3c
Reviewed-on: https://review.typo3.org/45608
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php
typo3/sysext/core/Classes/Resource/DuplicationBehavior.php
typo3/sysext/core/Classes/Resource/Processing/LocalImageProcessor.php
typo3/sysext/core/Classes/Resource/ResourceCompressor.php
typo3/sysext/core/Classes/Utility/File/ExtendedFileUtility.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-72426-RemovedDeprecatedCodeFromFileAndImageProcessingFunctions.rst [new file with mode: 0644]
typo3/sysext/filelist/Classes/Controller/FileListController.php
typo3/sysext/filelist/Classes/FileList.php

index 8603a7f..a2c1023 100644 (file)
@@ -2629,20 +2629,6 @@ class GraphicalFunctions
     }
 
     /**
-     * Converts a png file to gif.
-     * This converts a png file to gif IF the FLAG $GLOBALS['TYPO3_CONF_VARS']['FE']['png_to_gif'] is set TRUE.
-     *
-     * @param string $theFile The filename with path
-     * @return string New filename or the old file name if no conversion happened
-     * @deprecated since TYPO3 CMS 7, will be removed with TYPO3 CMS 8, as the png_to_gif option has been removed with TYPO3 CMS 7
-     */
-    public static function pngToGifByImagemagick($theFile)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        return $theFile;
-    }
-
-    /**
      * Returns filename of the png/gif version of the input file (which can be png or gif).
      * If input file type does not match the wanted output type a conversion is made and temp-filename returned.
      *
index be48fba..13ce9e6 100644 (file)
@@ -13,7 +13,6 @@ namespace TYPO3\CMS\Core\Resource;
  *
  * The TYPO3 project - inspiring people to share!
  */
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
  * Enumeration object for DuplicationBehavior
@@ -42,29 +41,4 @@ class DuplicationBehavior extends \TYPO3\CMS\Core\Type\Enumeration
      * aborted.
      */
     const CANCEL = 'cancel';
-
-    /**
-     * Mapping of some legacy values, to assure BC
-     *
-     * @var string[]
-     * @deprecated
-     */
-    protected static $legacyValueMap = array(
-        '1' => self::REPLACE,
-        'overrideExistingFile' => self::REPLACE,
-        'renameNewFile' => self::RENAME,
-        'changeName' => self::RENAME
-    );
-
-    /**
-     * @param mixed $value
-     */
-    public function __construct($value = null)
-    {
-        if (isset(static::$legacyValueMap[$value])) {
-            GeneralUtility::deprecationLog('Using ' . $value . ' for resolving conflicts in file names is deprecated. Make use of the enumeration "\TYPO3\CMS\Core\Resource\DuplicationBehavior" instead.');
-            $value = static::$legacyValueMap[$value];
-        }
-        parent::__construct($value);
-    }
 }
index fb2e7e7..4b6cbb1 100644 (file)
@@ -156,27 +156,6 @@ class LocalImageProcessor implements ProcessorInterface
     }
 
     /**
-     * Creates error image based on gfx/notfound_thumb.png
-     * Requires GD lib enabled, otherwise it will exit with the three
-     * textstrings outputted as text. Outputs the image stream to browser and exits!
-     *
-     * @param string $filename Name of the file
-     * @param string $textline1 Text line 1
-     * @param string $textline2 Text line 2
-     * @param string $textline3 Text line 3
-     * @return void
-     * @throws \RuntimeException
-     *
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8. Use \TYPO3\CMS\Core\Imaging\GraphicalFunctions::getTemporaryImageWithText() instead.
-     */
-    public function getTemporaryImageWithText($filename, $textline1, $textline2, $textline3)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $graphicalFunctions = $this->getGraphicalFunctionsObject();
-        $graphicalFunctions->getTemporaryImageWithText($filename, $textline1, $textline2, $textline3);
-    }
-
-    /**
      * @return \TYPO3\CMS\Core\Imaging\GraphicalFunctions
      */
     protected function getGraphicalFunctionsObject()
index 6c7c50a..609ec79 100644 (file)
@@ -428,70 +428,6 @@ class ResourceCompressor
     }
 
     /**
-     * Callback function for preg_replace
-     *
-     * @see compressCssFile
-     * @param array $matches
-     * @return string the compressed string
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, not in use anymore
-     */
-    public static function compressCssPregCallback($matches)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        if ($matches[1]) {
-            // Group 1: Double quoted string.
-            return $matches[1];
-        } elseif ($matches[2]) {
-            // Group 2: Single quoted string.
-            return $matches[2];
-        } elseif ($matches[3]) {
-            // Group 3: Regular non-MacIE5-hack comment.
-            return '
-';
-        } elseif ($matches[4]) {
-            // Group 4: MacIE5-hack-type-1 comment.
-            return '
-/*\\T1*/
-';
-        } elseif ($matches[5]) {
-            // Group 5,6,7: MacIE5-hack-type-2 comment
-            $matches[6] = preg_replace('/\\s++([+>{};,)])/S', '$1', $matches[6]);
-            // Clean pre-punctuation.
-            $matches[6] = preg_replace('/([+>{}:;,(])\\s++/S', '$1', $matches[6]);
-            // Clean post-punctuation.
-            $matches[6] = preg_replace('/;?\\}/S', '}
-', $matches[6]);
-            // Add a touch of formatting.
-            return '
-/*T2\\*/' . $matches[6] . '
-/*T2E*/
-';
-        } elseif ($matches[8]) {
-            // Group 8: calc function (see http://www.w3.org/TR/2006/WD-css3-values-20060919/#calc)
-            return 'calc' . $matches[8];
-        } elseif (isset($matches[9])) {
-            // Group 9: Non-string, non-comment. Safe to clean whitespace here.
-            $matches[9] = preg_replace('/^\\s++/', '', $matches[9]);
-            // Strip all leading whitespace.
-            $matches[9] = preg_replace('/\\s++$/', '', $matches[9]);
-            // Strip all trailing whitespace.
-            $matches[9] = preg_replace('/\\s{2,}+/', ' ', $matches[9]);
-            // Consolidate multiple whitespace.
-            $matches[9] = preg_replace('/\\s++([+>{};,)])/S', '$1', $matches[9]);
-            // Clean pre-punctuation.
-            $matches[9] = preg_replace('/([+>{}:;,(])\\s++/S', '$1', $matches[9]);
-            // Clean post-punctuation.
-            $matches[9] = preg_replace('/;?\\}/S', '}
-', $matches[9]);
-            // Add a touch of formatting.
-            return $matches[9];
-        }
-        return $matches[0] . '
-/* ERROR! Unexpected _proccess_css_minify() parameter */
-';
-    }
-
-    /**
      * Compress multiple javascript files
      *
      * @param array $jsFiles The files to compress (array key = filename), relative to requested page
index 5375fb8..73ea420 100644 (file)
@@ -78,14 +78,6 @@ class ExtendedFileUtility extends BasicFileUtility
     public $unzipPath = '';
 
     /**
-     * If set, the uploaded files will overwrite existing files.
-     *
-     * @var bool
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8
-     */
-    public $dontCheckForUnique = 0;
-
-    /**
      * Defines behaviour when uploading files with names that already exist; possible values are
      * the values of the \TYPO3\CMS\Core\Resource\DuplicationBehavior enumeration
      *
@@ -1113,11 +1105,6 @@ class ExtendedFileUtility extends BasicFileUtility
                 'size' => $uploadedFileData['size'][$i]
             );
             try {
-                if ((int)$this->dontCheckForUnique === 1) {
-                    GeneralUtility::deprecationLog('dontCheckForUnique = 1 is deprecated. Use setExistingFilesConflictMode(DuplicationBehavior::REPLACE);. Support for dontCheckForUnique will be removed in TYPO3 CMS 8.');
-                    $this->existingFilesConflictMode = DuplicationBehavior::cast(DuplicationBehavior::REPLACE);
-                }
-
                 /** @var $fileObject File */
                 $fileObject = $targetFolderObject->addUploadedFile($fileInfo, (string)$this->existingFilesConflictMode);
                 $fileObject = ResourceFactory::getInstance()->getFileObjectByStorageAndIdentifier($targetFolderObject->getStorage()->getUid(), $fileObject->getIdentifier());
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-72426-RemovedDeprecatedCodeFromFileAndImageProcessingFunctions.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-72426-RemovedDeprecatedCodeFromFileAndImageProcessingFunctions.rst
new file mode 100644 (file)
index 0000000..6d4c51f
--- /dev/null
@@ -0,0 +1,42 @@
+===================================================================================
+Breaking: #72426 - Removed deprecated code from file and image processing functions
+===================================================================================
+
+Description
+===========
+
+The following deprecated methods have been removed:
+
+* ``LocalImageProcessor::getTemporaryImageWithText``
+* ``ResourceCompressor::compressCssPregCallback``
+* ``FileList::getButtonsAndOtherMarkers``
+* ``GraphicalFunctions::pngToGifByImagemagick``
+
+The following deprecated data members have been removed:
+
+* ``DuplicationBehavior::$legacyValueMap``
+* ``ExtendeFileUtillity::$dontCheckForUnique``
+* ``FileListController::$MCONF``
+
+
+Impact
+======
+
+Using the methods or variables above directly in any third party extension will result in a fatal error.
+
+
+Affected Installations
+======================
+
+Instances which use custom calls to LocalImageProcessor, ResourceCompressor, FileList, GraphicalFunctions via the methods above, or use one of the variables mentioned above.
+
+
+Migration
+=========
+
+``LocalImageProcessor::getTemporaryImageWithText`` use ``\TYPO3\CMS\Core\Imaging\GraphicalFunctions::getTemporaryImageWithText()`` instead
+``ResourceCompressor::compressCssPregCallback`` no replacement, functionality is implemented in a different way
+``ExtendeFileUtillity::$dontCheckForUnique`` use ``setExistingFilesConflictMode(DuplicationBehavior::REPLACE)`` instead
+``FileListController::$MCONF`` no replacement, configuration is done when registering the module in ext_tables.php
+``FileList::getButtonsAndOtherMarkers`` buttons are now defined in FileListController
+``GraphicalFunctions::pngToGifByImagemagick`` no replacement, the png_to_gif option has been removed
\ No newline at end of file
index b428d52..fd689aa 100644 (file)
@@ -43,14 +43,6 @@ use TYPO3\CMS\Filelist\FileList;
 class FileListController extends ActionController
 {
     /**
-     * Module configuration
-     *
-     * @var array
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8. The Module gets configured by ExtensionManagementUtility::addModule() in ext_tables.php
-     */
-    public $MCONF = array();
-
-    /**
      * @var array
      */
     public $MOD_MENU = array();
index c74d011..bfecd1c 100644 (file)
@@ -236,67 +236,6 @@ class FileList extends AbstractRecordList
     }
 
     /**
-     * Return the buttons used by the filelist to include in the top header
-     *
-     * @param Folder $folderObject
-     * @return array
-     * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, buttons are now defined in FileListController
-     */
-    public function getButtonsAndOtherMarkers(Folder $folderObject)
-    {
-        GeneralUtility::logDeprecatedFunction();
-        $otherMarkers = array(
-            'PAGE_ICON' => '',
-            'TITLE' => ''
-        );
-        $buttons = array(
-            'level_up' => $this->getLinkToParentFolder($folderObject),
-            'refresh' => '',
-            'title' => '',
-            'page_icon' => '',
-            'PASTE' => ''
-        );
-        // Makes the code for the folder icon in the top
-        if ($folderObject) {
-            $title = $folderObject->getReadablePath();
-            // Start compiling the HTML
-            // If this is some subFolder under the mount root....
-            if ($folderObject->getStorage()->isWithinFileMountBoundaries($folderObject)) {
-                // The icon with link
-                $otherMarkers['PAGE_ICON'] = '<span title="' . htmlspecialchars($title) . '">' . $this->iconFactory->getIconForResource($folderObject, Icon::SIZE_SMALL)->render() . '</span>';
-            } else {
-                // This is the root folder
-                $otherMarkers['PAGE_ICON'] = '<span title="' . htmlspecialchars($title) . '">' . $this->iconFactory->getIconForResource($folderObject, Icon::SIZE_SMALL, null, array('mount-root' => true))->render() . '</span>';
-            }
-            $otherMarkers['TITLE'] .= htmlspecialchars(GeneralUtility::fixed_lgd_cs($title, -($this->fixedL + 20)));
-
-            if ($this->clickMenus) {
-                $otherMarkers['PAGE_ICON'] = BackendUtility::wrapClickMenuOnIcon($otherMarkers['PAGE_ICON'], $folderObject->getCombinedIdentifier());
-            }
-            // Add paste button if clipboard is initialized
-            if ($this->clipObj instanceof Clipboard && $folderObject->checkActionPermission('write')) {
-                $elFromTable = $this->clipObj->elFromTable('_FILE');
-                if (!empty($elFromTable)) {
-                    $addPasteButton = true;
-                    $elToConfirm = array();
-                    foreach ($elFromTable as $key => $element) {
-                        $clipBoardElement = $this->resourceFactory->retrieveFileOrFolderObject($element);
-                        if ($clipBoardElement instanceof Folder && $clipBoardElement->getStorage()->isWithinFolder($clipBoardElement, $folderObject)) {
-                            $addPasteButton = false;
-                        }
-                        $elToConfirm[$key] = $clipBoardElement->getName();
-                    }
-                    if ($addPasteButton) {
-                        $buttons['PASTE'] = '<a href="' . htmlspecialchars($this->clipObj->pasteUrl('_FILE', $folderObject->getCombinedIdentifier())) . '" onclick="return ' . htmlspecialchars($this->clipObj->confirmMsg('_FILE', $this->path, 'into', $elToConfirm)) . '" title="' . $this->getLanguageService()->getLL('clip_paste', true) . '">' . $this->iconFactory->getIcon('actions-document-paste-after', Icon::SIZE_SMALL)->render() . '</a>';
-                    }
-                }
-            }
-        }
-        $buttons['refresh'] = '<a href="' . htmlspecialchars($this->listURL()) . '" title="' . $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.reload', true) . '">' . $this->iconFactory->getIcon('actions-refresh', Icon::SIZE_SMALL)->render() . '</a>';
-        return array($buttons, $otherMarkers);
-    }
-
-    /**
      * Wrapping input string in a link with clipboard command.
      *
      * @param string $string String to be linked - must be htmlspecialchar'ed / prepared before.