[!!!][TASK] Remove deprecated TSFE code superseded by AssetCollector 04/64604/4
authorBenni Mack <benni@typo3.org>
Fri, 29 May 2020 20:10:59 +0000 (22:10 +0200)
committerBenni Mack <benni@typo3.org>
Fri, 29 May 2020 22:16:07 +0000 (00:16 +0200)
AssetCollector takes over logic that was previously built in TSFE, to decouple
more functionality from TSFE going more into the direction of SRP.

* TSFE->lastImageInfo
* TSFE->imagesOnPage

Resolves: #91536
Related: #91473
Releases: master
Change-Id: I3701e475ceed8d81173a4182417797fe04aaed84
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64604
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/extbase/Classes/Service/ImageService.php
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/ContentObject/ImageContentObject.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php

index 8622941..e62e3a2 100644 (file)
@@ -180,18 +180,6 @@ class ImageService implements SingletonInterface
     protected function setCompatibilityValues(ProcessedFile $processedImage): void
     {
         $imageInfoValues = $this->getCompatibilityImageResourceValues($processedImage);
-        if (
-            $this->environmentService->isEnvironmentInFrontendMode()
-            && is_object($GLOBALS['TSFE'])
-        ) {
-            // This is needed by \TYPO3\CMS\Frontend\Imaging\GifBuilder,
-            // but was never needed to be set in lastImageInfo.
-            // We set it for BC here anyway, as this TSFE property is deprecated anyway.
-            $imageInfoValues['originalFile'] = $processedImage->getOriginalFile();
-            $imageInfoValues['processedFile'] = $processedImage;
-            $GLOBALS['TSFE']->lastImageInfo = $imageInfoValues;
-            $GLOBALS['TSFE']->imagesOnPage[] = $processedImage->getPublicUrl();
-        }
         GeneralUtility::makeInstance(AssetCollector::class)->addMedia(
             $processedImage->getPublicUrl(),
             $imageInfoValues
index a4b421a..c18feb0 100644 (file)
@@ -1055,7 +1055,6 @@ class ContentObjectRenderer implements LoggerAwareInterface
         trigger_error('cObj->cImage() will be removed in TYPO3 v11.0. This functionality is integrated into ImageContentObject now.', E_USER_DEPRECATED);
         $tsfe = $this->getTypoScriptFrontendController();
         $info = $this->getImgResource($file, $conf['file.']);
-        $tsfe->lastImageInfo = $info;
         if (!is_array($info)) {
             return '';
         }
@@ -1075,8 +1074,6 @@ class ContentObjectRenderer implements LoggerAwareInterface
         $imageTagTemplate = $this->getImageTagTemplate($layoutKey, $conf);
         $sourceCollection = $this->getImageSourceCollection($layoutKey, $conf, $file);
 
-        // This array is used to collect the image-refs on the page...
-        $tsfe->imagesOnPage[] = $source;
         $altParam = $this->getAltParam($conf);
         $params = $this->stdWrapValue('params', $conf);
         if ($params !== '' && $params[0] !== ' ') {
index a88d951..4765fe9 100644 (file)
@@ -58,7 +58,6 @@ class ImageContentObject extends AbstractContentObject
     {
         $tsfe = $this->getTypoScriptFrontendController();
         $info = $this->cObj->getImgResource($file, $conf['file.']);
-        $tsfe->lastImageInfo = $info;
         if (!is_array($info)) {
             return '';
         }
@@ -78,8 +77,6 @@ class ImageContentObject extends AbstractContentObject
         $imageTagTemplate = $this->getImageTagTemplate($layoutKey, $conf);
         $sourceCollection = $this->getImageSourceCollection($layoutKey, $conf, $file);
 
-        // This array is used to collect the image-refs on the page...
-        $tsfe->imagesOnPage[] = $source;
         $altParam = $this->getAltParam($conf);
         $params = $this->cObj->stdWrapValue('params', $conf);
         if ($params !== '' && $params[0] !== ' ') {
index d835dc6..2992d55 100644 (file)
@@ -23,7 +23,6 @@ use TYPO3\CMS\Backend\FrontendBackendUserAuthentication;
 use TYPO3\CMS\Core\Cache\CacheManager;
 use TYPO3\CMS\Core\Charset\CharsetConverter;
 use TYPO3\CMS\Core\Charset\UnknownCharsetException;
-use TYPO3\CMS\Core\Compatibility\PublicPropertyDeprecationTrait;
 use TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader;
 use TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser;
 use TYPO3\CMS\Core\Context\Context;
@@ -94,15 +93,6 @@ use TYPO3\CMS\Frontend\Resource\FilePathSanitizer;
 class TypoScriptFrontendController implements LoggerAwareInterface
 {
     use LoggerAwareTrait;
-    use PublicPropertyDeprecationTrait;
-
-    /**
-     * @var string[]
-     */
-    private $deprecatedPublicProperties = [
-        'imagesOnPage' => 'Using TSFE->imagesOnPage is deprecated and will no longer work with TYPO3 v11.0. Use AssetCollector()->getMedia() instead.',
-        'lastImageInfo' => 'Using TSFE->lastImageInfo is deprecated and will no longer work with TYPO3 v11.0.'
-    ];
 
     /**
      * The page id (int)
@@ -531,22 +521,6 @@ class TypoScriptFrontendController implements LoggerAwareInterface
     public $accessKey = [];
 
     /**
-     * Numerical array where image filenames are added if they are referenced in the
-     * rendered document. This includes only TYPO3 generated/inserted images.
-     * @var array
-     * @deprecated
-     */
-    private $imagesOnPage = [];
-
-    /**
-     * Is set in ContentObjectRenderer->cImage() function to the info-array of the
-     * most recent rendered image. The information is used in ImageTextContentObject
-     * @var array
-     * @deprecated
-     */
-    private $lastImageInfo = [];
-
-    /**
      * Used to generate page-unique keys. Point is that uniqid() functions is very
      * slow, so a unikey key is made based on this, see function uniqueHash()
      * @var int