Commit 9751a451 authored by Christian Kuhn's avatar Christian Kuhn Committed by Benni Mack
Browse files

[!!!][TASK] Remove deprecated GeneralUtility functionality

Resolves: #87234
Releases: master
Change-Id: I07eb0387b8ad1921f715637a5a48581f3eaf9c42
Reviewed-on: https://review.typo3.org/59230


Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
parent 00b1f864
......@@ -194,6 +194,20 @@ The following PHP class methods that have been previously deprecated for v9 have
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->initMPmap_create()`
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->linkData()`
* :php:`TYPO3\CMS\Core\TypoScript\TemplateService->printTitle()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->_GETset()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->arrayToLogString()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->clientInfo()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->deprecationLog()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->devLog()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->getDeprecationLogFileName()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->getHostname()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->getUserObj()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->initSysLog()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->llXmlAutoFileName()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->logDeprecatedFunction()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->logDeprecatedViewHelperAttribute()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->sysLog()`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->unQuoteFilenames()`
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->addParams()`
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->calcIntExplode()`
* :php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->currentPageUrl()`
......@@ -245,6 +259,9 @@ The following methods changed signature according to previous deprecations in v9
* :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash->getHashedPassword()` - Second argument dropped
* :php:`TYPO3\CMS\Core\Http\Dispatcher->dispatch()` - Second argument dropped
* :php:`TYPO3\CMS\Core\Package\PackageManager->__construct()` - First argument mandatory
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->explodeUrl2Array()` - Second argument dropped
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->getUrl()` - Third argument must be an array of arrays if given
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility->mkdir_deep()` - Second argument dropped
* :php:`TYPO3\CMS\Frontend\Page\PageRepository->getRawRecord()` - Fourth argument dropped
......@@ -339,11 +356,17 @@ The following constants have been dropped:
* :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash::HASH_COUNT`
* :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash::MAX_HASH_COUNT`
* :php:`TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash::MIN_HASH_COUNT`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_ERROR`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_FATAL`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_INFO`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_NOTICE`
* :php:`TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_WARNING`
The following global options are ignored:
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/saltedpasswords']['saltMethods']`
* :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['enableDeprecationLog']`
The following language files and aliases have been removed:
......
......@@ -135,14 +135,13 @@ class XliffParserTest extends UnitTestCase
}
/**
* This test will make sure method \TYPO3\CMS\Core\Utility\GeneralUtility::llXmlAutoFileName() will not prefix twice the
* This test will make sure method does not prefix twice the
* language key to the localization file.
*
* @test
*/
public function canOverrideXliffWithFrenchOnly()
{
/** @var $factory LocalizationFactory */
$factory = new LocalizationFactory;
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['fr'][$this->xliffFileNames['locallang']][] = $this->xliffFileNames['locallang_override_fr'];
......
......@@ -3000,17 +3000,6 @@ class GeneralUtilityTest extends UnitTestCase
GeneralUtility::mkdir_deep([]);
}
/**
* @test
*/
public function mkdirDeepThrowsExceptionIfDeepDirectoryIsNotOfTypeString()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionCode(1303662956);
GeneralUtility::mkdir_deep(Environment::getPublicPath() . '/typo3temp/foo', []);
}
///////////////////////////////
// Tests concerning rmdir
///////////////////////////////
......
<?php
declare(strict_types = 1);
namespace TYPO3\CMS\Core\Tests\UnitDeprecated\Utility;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
use Prophecy\Argument;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
use TYPO3\CMS\Core\Http\RequestFactory;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
/**
* Test case
*/
class GeneralUtilityTest extends UnitTestCase
{
public function splitHeaderLinesDataProvider(): array
{
return [
'one-line, single header' => [
['Content-Security-Policy:default-src \'self\'; img-src https://*; child-src \'none\';'],
['Content-Security-Policy' => 'default-src \'self\'; img-src https://*; child-src \'none\';']
],
'one-line, multiple headers' => [
[
'Content-Security-Policy:default-src \'self\'; img-src https://*; child-src \'none\';',
'Content-Security-Policy-Report-Only:default-src https:; report-uri /csp-violation-report-endpoint/'
],
[
'Content-Security-Policy' => 'default-src \'self\'; img-src https://*; child-src \'none\';',
'Content-Security-Policy-Report-Only' => 'default-src https:; report-uri /csp-violation-report-endpoint/'
]
]
];
}
/**
* @test
* @dataProvider splitHeaderLinesDataProvider
* @param array $headers
* @param array $expectedHeaders
*/
public function splitHeaderLines(array $headers, array $expectedHeaders): void
{
$stream = $this->prophesize(StreamInterface::class);
$response = $this->prophesize(ResponseInterface::class);
$response->getBody()->willReturn($stream);
$requestFactory = $this->prophesize(RequestFactory::class);
$requestFactory->request(Argument::cetera())->willReturn($response);
GeneralUtility::addInstance(RequestFactory::class, $requestFactory->reveal());
GeneralUtility::getUrl('http://example.com', 0, $headers);
$requestFactory->request(Argument::any(), Argument::any(), ['headers' => $expectedHeaders])
->shouldHaveBeenCalled();
}
///////////////////////////////
// Tests concerning unQuoteFilenames
///////////////////////////////
/**
* Data provider for unQuoteFilenamesUnquotesFileNames
*/
public function unQuoteFilenamesUnquotesFileNamesDataProvider()
{
return [
// Some theoretical tests first
[
'',
[],
[]
],
[
'aa bb "cc" "dd"',
['aa', 'bb', '"cc"', '"dd"'],
['aa', 'bb', 'cc', 'dd']
],
[
'aa bb "cc dd"',
['aa', 'bb', '"cc dd"'],
['aa', 'bb', 'cc dd']
],
[
'\'aa bb\' "cc dd"',
['\'aa bb\'', '"cc dd"'],
['aa bb', 'cc dd']
],
[
'\'aa bb\' cc "dd"',
['\'aa bb\'', 'cc', '"dd"'],
['aa bb', 'cc', 'dd']
],
// Now test against some real world examples
[
'/opt/local/bin/gm.exe convert +profile \'*\' -geometry 170x136! -negate "C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]" "C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"',
[
'/opt/local/bin/gm.exe',
'convert',
'+profile',
'\'*\'',
'-geometry',
'170x136!',
'-negate',
'"C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]"',
'"C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"'
],
[
'/opt/local/bin/gm.exe',
'convert',
'+profile',
'*',
'-geometry',
'170x136!',
'-negate',
'C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]',
'C:/Users/Someuser.Domain/Documents/Htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif'
]
],
[
'C:/opt/local/bin/gm.exe convert +profile \'*\' -geometry 170x136! -negate "C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]" "C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"',
[
'C:/opt/local/bin/gm.exe',
'convert',
'+profile',
'\'*\'',
'-geometry',
'170x136!',
'-negate',
'"C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]"',
'"C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"'
],
[
'C:/opt/local/bin/gm.exe',
'convert',
'+profile',
'*',
'-geometry',
'170x136!',
'-negate',
'C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]',
'C:/Program Files/Apache2/htdocs/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif'
]
],
[
'/usr/bin/gm convert +profile \'*\' -geometry 170x136! -negate "/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]" "/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"',
[
'/usr/bin/gm',
'convert',
'+profile',
'\'*\'',
'-geometry',
'170x136!',
'-negate',
'"/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]"',
'"/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"'
],
[
'/usr/bin/gm',
'convert',
'+profile',
'*',
'-geometry',
'170x136!',
'-negate',
'/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]',
'/Shared Items/Data/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif'
]
],
[
'/usr/bin/gm convert +profile \'*\' -geometry 170x136! -negate "/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]" "/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"',
[
'/usr/bin/gm',
'convert',
'+profile',
'\'*\'',
'-geometry',
'170x136!',
'-negate',
'"/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]"',
'"/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif"'
],
[
'/usr/bin/gm',
'convert',
'+profile',
'*',
'-geometry',
'170x136!',
'-negate',
'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]',
'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif'
]
],
[
'/usr/bin/gm convert +profile \'*\' -geometry 170x136! -negate \'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]\' \'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif\'',
[
'/usr/bin/gm',
'convert',
'+profile',
'\'*\'',
'-geometry',
'170x136!',
'-negate',
'\'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]\'',
'\'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif\''
],
[
'/usr/bin/gm',
'convert',
'+profile',
'*',
'-geometry',
'170x136!',
'-negate',
'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif[0]',
'/Network/Servers/server01.internal/Projects/typo3temp/var/transient/61401f5c16c63d58e1d92e8a2449f2fe_maskNT.gif'
]
]
];
}
/**
* Tests if the commands are exploded and unquoted correctly
*
* @dataProvider unQuoteFilenamesUnquotesFileNamesDataProvider
* @test
*/
public function unQuoteFilenamesUnquotesFileNames($source, $expectedQuoted, $expectedUnquoted)
{
$actualQuoted = GeneralUtility::unQuoteFilenames($source);
$actualUnquoted = GeneralUtility::unQuoteFilenames($source, true);
$this->assertEquals($expectedQuoted, $actualQuoted, 'The exploded command does not match the expected');
$this->assertEquals($expectedUnquoted, $actualUnquoted, 'The exploded and unquoted command does not match the expected');
}
/**
* Data provider for explodeUrl2ArrayTransformsParameterStringToNestedArray
*
* @return array
*/
public function explodeUrl2ArrayDataProvider()
{
return [
'Empty input' => [[], ''],
'String parameters' => [['foo' => ['one' => '√', 'two' => 2]], '&foo[one]=%E2%88%9A&foo[two]=2'],
'Nested array parameters' => [['foo' => [['one' => '√', 'two' => 2]]], '&foo[0][one]=%E2%88%9A&foo[0][two]=2'],
'Keep blank parameters' => [['foo' => ['one' => '√', '']], '&foo[one]=%E2%88%9A&foo[0]=']
];
}
/**
* @test
* @dataProvider explodeUrl2ArrayDataProvider
*/
public function explodeUrl2ArrayTransformsParameterStringToNestedArray($expected, $input)
{
$this->assertEquals($expected, GeneralUtility::explodeUrl2Array($input, true));
}
///////////////////////////////
// Tests concerning _GETset()
///////////////////////////////
/**
* @test
*/
public function getSetWritesArrayToGetSystemVariable()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
$getParameters = ['foo' => 'bar'];
GeneralUtility::_GETset($getParameters);
$this->assertSame($getParameters, $_GET);
}
/**
* @test
*/
public function getSetWritesArrayToGlobalsHttpGetVars()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
$getParameters = ['foo' => 'bar'];
GeneralUtility::_GETset($getParameters);
$this->assertSame($getParameters, $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
*/
public function getSetForArrayDropsExistingValues()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset(['foo' => 'bar']);
GeneralUtility::_GETset(['oneKey' => 'oneValue']);
$this->assertEquals(['oneKey' => 'oneValue'], $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
*/
public function getSetAssignsOneValueToOneKey()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset('oneValue', 'oneKey');
$this->assertEquals('oneValue', $GLOBALS['HTTP_GET_VARS']['oneKey']);
}
/**
* @test
*/
public function getSetForOneValueDoesNotDropUnrelatedValues()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset(['foo' => 'bar']);
GeneralUtility::_GETset('oneValue', 'oneKey');
$this->assertEquals(['foo' => 'bar', 'oneKey' => 'oneValue'], $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
*/
public function getSetCanAssignsAnArrayToASpecificArrayElement()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset(['childKey' => 'oneValue'], 'parentKey');
$this->assertEquals(['parentKey' => ['childKey' => 'oneValue']], $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
*/
public function getSetCanAssignAStringValueToASpecificArrayChildElement()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset('oneValue', 'parentKey|childKey');
$this->assertEquals(['parentKey' => ['childKey' => 'oneValue']], $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
*/
public function getSetCanAssignAnArrayToASpecificArrayChildElement()
{
$_GET = [];
$GLOBALS['HTTP_GET_VARS'] = [];
GeneralUtility::_GETset(['key1' => 'value1', 'key2' => 'value2'], 'parentKey|childKey');
$this->assertEquals([
'parentKey' => [
'childKey' => ['key1' => 'value1', 'key2' => 'value2']
]
], $GLOBALS['HTTP_GET_VARS']);
}
/**
* @test
* @dataProvider getSetDataProvider
*/
public function canSetNewGetInputValues($input, $key, $expected, $getPreset = [])
{
$_GET = $getPreset;
GeneralUtility::_GETset($input, $key);
$this->assertSame($expected, $_GET);
}
/**
* Data provider for canSetNewGetInputValues
*
* @return array
*/
public function getSetDataProvider()
{
return [
'No input data used without target key' => [null, null, []],
'No input data used with target key' => ['', 'cake', ['cake' => '']],
'No target key used with string input data' => ['data', null, []],
'No target key used with array input data' => [['cake' => 'lie'], null, ['cake' => 'lie']],
'Target key and string input data' => ['lie', 'cake', ['cake' => 'lie']],
'Replace existing GET data' => ['lie', 'cake', ['cake' => 'lie'], ['cake' => 'is a lie']],
'Target key pointing to sublevels and string input data' => ['lie', 'cake|is', ['cake' => ['is' => 'lie']]],
'Target key pointing to sublevels and array input data' => [['a' => 'lie'], 'cake|is', ['cake' => ['is' => ['a' => 'lie']]]]
];
}
}
......@@ -122,11 +122,13 @@ return [
'$GLOBALS[\'TYPO3_CONF_VARS\'][\'SC_OPTIONS\'][\'t3lib/class.t3lib_div.php\'][\'devLog\']' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'$GLOBALS[\'TYPO3_CONF_VARS\'][\'SYS\'][\'enableDeprecationLog\']' => [
'restFiles' => [
'Deprecation-82438-DeprecationMethods.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'$GLOBALS[\'TYPO3_CONF_VARS\'][\'BE\'][\'fileExtensions\'][\'webspace\'][\'allow\']' => [
......
......@@ -33,26 +33,31 @@ return [
'TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_INFO' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_NOTICE' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_WARNING' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_ERROR' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_FATAL' => [
'restFiles' => [
'Deprecation-52694-DeprecatedGeneralUtilitydevLog.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Saltedpasswords\Salt\BlowfishSalt::ITOA64' => [
......
......@@ -405,6 +405,7 @@ return [
'maximumNumberOfArguments' => 3,
'restFiles' => [
'Deprecation-80993-GeneralUtilitygetUserObj.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Frontend\Utility\EidUtility::initTCA' => [
......@@ -441,6 +442,7 @@ return [
'maximumNumberOfArguments' => 1,
'restFiles' => [
'Deprecation-82438-DeprecationMethods.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedViewHelperAttribute' => [
......@@ -448,6 +450,7 @@ return [
'maximumNumberOfArguments' => 3,
'restFiles' => [
'Deprecation-82438-DeprecationMethods.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::getDeprecationLogFileName' => [
......@@ -455,6 +458,7 @@ return [
'maximumNumberOfArguments' => 0,
'restFiles' => [
'Deprecation-82438-DeprecationMethods.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction' => [
......@@ -462,6 +466,7 @@ return [
'maximumNumberOfArguments' => 0,
'restFiles' => [
'Deprecation-82438-DeprecationMethods.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath' => [
......@@ -505,6 +510,7 @@ return [
'maximumNumberOfArguments' => 3,
'restFiles' => [
'Deprecation-83083-GeneralUtilityllXmlAutoFileName.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',
],
],
'TYPO3\CMS\Backend\Utility\BackendUtility::getHash' => [
......@@ -589,6 +595,7 @@ return [
'maximumNumberOfArguments' => 3,
'restFiles' => [
'Deprecation-85086-GeneralUtilityArrayToLogString.rst',
'Breaking-87193-DeprecatedFunctionalityRemoved.rst',