FEATURE: Add removed functions for TYPO3 7.x.
* Adjust structure of deprecated functions yaml. * Add version of removal to message for removed functions. Relates: #33
This commit is contained in:
parent
4c162af3d4
commit
21b7c09416
7 changed files with 395 additions and 230 deletions
|
@ -1,4 +1,5 @@
|
|||
# Deprecated in 7.0: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Index.html#breaking-changes
|
||||
# Breaking changes in 7.0: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Index.html#breaking-changes
|
||||
'7.0':
|
||||
\TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA:
|
||||
newFunctionCall: null
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.html'
|
||||
|
@ -107,7 +108,7 @@
|
|||
\TYPO3\CMS\Core\Utility\GeneralUtility::htmlspecialchars_decode:
|
||||
newFunctionCall: 'Use native PHP htmlspecialchars_decode() function'
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
# TODO: This is useless, adding a warning to all "get" methods is crazy.
|
||||
# NOTE: This is useless, adding a warning to all "get" methods is crazy.
|
||||
# Also this is already handeled by: Typo3Update_Sniffs_LegacyClassnames_InstantiationWithObjectManagerSniff
|
||||
# \TYPO3\CMS\Core\Category\CategoryRegistry->get:
|
||||
# newFunctionCall: 'Use isRegistered() instead'
|
||||
|
@ -115,9 +116,11 @@
|
|||
\TYPO3\CMS\Core\Category\CategoryRegistry->applyTca:
|
||||
newFunctionCall: null
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
\TYPO3\CMS\Core\Resource\FileRepository->findByUid:
|
||||
newFunctionCall: null
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
# NOTE: This is useless, adding a warning to all "findByUid" methods is crazy.
|
||||
# Many calls to repositories will be marked as warning
|
||||
# \TYPO3\CMS\Core\Resource\FileRepository->findByUid:
|
||||
# newFunctionCall: null
|
||||
# docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
\TYPO3\CMS\Core\Resource\FileRepository->addToIndex:
|
||||
newFunctionCall: null
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
|
@ -130,9 +133,11 @@
|
|||
\TYPO3\CMS\Core\Resource\FileRepository->findBySha1Hash:
|
||||
newFunctionCall: 'Use FileIndexRepository::findByContentHash() instead'
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
\TYPO3\CMS\Core\Resource\FileRepository->update:
|
||||
newFunctionCall: 'Use FileIndexRepository::update() instead'
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
# NOTE: This is useless, adding a warning to all "update" methods is crazy.
|
||||
# All repository updates will be marked as warning
|
||||
# \TYPO3\CMS\Core\Resource\FileRepository->update:
|
||||
# newFunctionCall: 'Use FileIndexRepository::update() instead'
|
||||
# docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
\TYPO3\CMS\Core\Resource\ResourceStorage->getFolderByIdentifier:
|
||||
newFunctionCall: 'Use getFolder() instead'
|
||||
docsUrl: 'https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.html'
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# Breaking changes in 7.1: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.1/Index.html
|
||||
# Nothing in here? Right, there were no breaking changes to functions in this version.
|
||||
# We keep this file to let you know we didn't forget anything.
|
||||
'7.1': []
|
|
@ -0,0 +1,36 @@
|
|||
# Breaking changes in 7.2: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Index.html
|
||||
'7.2':
|
||||
\TYPO3\CMS\Core\Page\PageRenderer->setSvgPath:
|
||||
newFunctionCall: 'Use 3rd party library instead, which is already loaded by TYPO3'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer->loadSvg:
|
||||
newFunctionCall: 'Use 3rd party library instead, which is already loaded by TYPO3'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer->enableSvgDebug:
|
||||
newFunctionCall: 'Use 3rd party library instead, which is already loaded by TYPO3'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer->svgForceFlash:
|
||||
newFunctionCall: 'Use 3rd party library instead, which is already loaded by TYPO3'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->makeLoginForm:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->makeLogoutForm:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->wrapLoginForm:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->makeLoginBoxImage:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->makeLoginNews:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
\TYPO3\CMS\Backend\Controller\LoginController->emitRenderLoginFormSignal:
|
||||
newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
||||
# NOTE: This is useless, adding a warning to all "getSignalSlotDispatcher" methods is crazy, many developers implement such a method.
|
||||
# \TYPO3\CMS\Backend\Controller\LoginController->getSignalSlotDispatcher:
|
||||
# newFunctionCall: 'Use the new Fluid View to adjust the login screen instead'
|
||||
# docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.html
|
|
@ -0,0 +1,13 @@
|
|||
# Breaking changes in 7.3: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.3/Index.html#breaking-changes
|
||||
'7.3':
|
||||
# NOTE: If this is making you crazy, just disable via ruleset.xml or phpcs.xml
|
||||
parent::initializeObject:
|
||||
newFunctionCall: 'Remove call, if this is inside a child of \TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject, there is no initializeObject in the parent anymore.'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectInitializeObject.html
|
||||
\TYPO3\CMS\Extbase\Persistence\Repository::replace:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.html
|
||||
\TYPO3\CMS\Extbase\Persistence\Generic\Backend::setDeletedObjects:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.html
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
# Breaking changes in 7.4: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Index.html#breaking-changes
|
||||
'7.4':
|
||||
\TYPO3\CMS\Core\Page\PageRenderer::setExtCorePath:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer::getExtCorePath:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer::loadExtCore:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer::enableExtCoreDebug:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer::setExtCorePath:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.html
|
||||
\TYPO3\CMS\Backend\Controller\EditDocumentController->functionMenus:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67753-DropSecondaryOptions.html
|
||||
\TYPO3\CMS\Backend\Utility\BackendUtility::getFileIcon:
|
||||
newFunctionCall: 'Use \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForFile() insteadenableExtCoreDebug'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.html
|
||||
\TYPO3\CMS\Frontend\Page\PageGenerator::getIncFiles:
|
||||
newFunctionCall: 'Use hooks during the Frontend set up to execute custom PHP code'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67646-LibraryInclusionInFrontend.html
|
||||
\TYPO3\CMS\Backend\Template\DocumentTemplate\DocumentTemplate->formWidthText:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.html
|
||||
\TYPO3\CMS\Backend\View\PageLayoutView->getBackendLayoutConfiguration:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.html
|
||||
\TYPO3\CMS\Backend\View\PageLayoutView->wordWrapper:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.html
|
||||
\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->checkJumpUrlReferer:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-66602-RemoveRefererCheckWhileHandlingJumpUrl.html
|
||||
\TYPO3\CMS\Core\Utility\OpcodeCacheUtility::initialize:
|
||||
newFunctionCall: 'Use new service class instead \TYPO3\CMS\Core\Service\OpcodeCacheService'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.html
|
||||
\TYPO3\CMS\Core\Utility\OpcodeCacheUtility::clearAllActive:
|
||||
newFunctionCall: 'Use new service class instead \TYPO3\CMS\Core\Service\OpcodeCacheService'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.html
|
||||
\TYPO3\CMS\Core\Utility\OpcodeCacheUtility::getAllActive:
|
||||
newFunctionCall: 'Use new service class instead \TYPO3\CMS\Core\Service\OpcodeCacheService'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.html
|
||||
\TYPO3\CMS\Backend\Tree\View\PagePositionMap->JSimgFunc:
|
||||
newFunctionCall: 'Use proper styling for a tree list'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.html
|
||||
\TYPO3\CMS\Backend\Tree\View\PagePositionMap->insertQuadLines:
|
||||
newFunctionCall: 'Use proper styling for a tree list'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.html
|
||||
\TYPO3\CMS\Core\Page\PageRenderer->enableExtJSQuickTips:
|
||||
newFunctionCall: 'Use bootstrap tooltips, which work out of the box as alternative. Simple add data-toggle="tooltip" and data-title="your tooltip" to any element you want'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68276-RemoveExtJSQuicktipsIfPossible.html
|
||||
\TYPO3\CMS\IndexedSearch\Indexer->removeLoginpagesWithContentHash:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68193-DropRemoveLoginpagesWithContentHashFromIndexerphp.html
|
||||
\TYPO3\CMS\Frontend\Controller\ExtDirectEidController->actionIsAllowed:
|
||||
newFunctionCall: 'Migrate your eID scripts to the new PSR-7 compliant model'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.html
|
||||
# NOTE: It does not make sense to warn about all render methods
|
||||
# \TYPO3\CMS\Frontend\Controller\ExtDirectEidController->render:
|
||||
# newFunctionCall: 'Migrate your eID scripts to the new PSR-7 compliant model'
|
||||
# docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.html
|
||||
\TYPO3\CMS\Frontend\Utility\EidUtility::isEidRequest:
|
||||
newFunctionCall: 'Migrate your eID scripts to the new PSR-7 compliant model'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.html
|
||||
\TYPO3\CMS\Frontend\Utility\EidUtility::getEidScriptPath:
|
||||
newFunctionCall: 'Migrate your eID scripts to the new PSR-7 compliant model'
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.html
|
||||
\TYPO3\CMS\Backend\View\PageLayoutView->linkRTEbutton:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.html
|
||||
\TYPO3\CMS\Backend\View\PageLayoutView->isRTEforField:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.html
|
||||
\TYPO3\CMS\Backend\View\PageLayoutView->getSpecConfForField:
|
||||
newFunctionCall: null
|
||||
docsUrl: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.html
|
|
@ -0,0 +1,2 @@
|
|||
# Breaking changes in 7.5: https://docs.typo3.org/typo3cms/extensions/core/Changelog/7.5/Index.html#breaking-changes
|
||||
'7.5': []
|
|
@ -68,26 +68,35 @@ class Typo3Update_Sniffs_Deprecated_GenericFunctionCallSniff implements PhpCsSni
|
|||
* @param array $deprecatedFunctions
|
||||
* @return array
|
||||
*/
|
||||
protected function prepareStructure(array $deprecatedFunctions)
|
||||
protected function prepareStructure(array $oldStructure)
|
||||
{
|
||||
array_walk($deprecatedFunctions, function (&$config, $function) {
|
||||
$typo3Versions = array_keys($oldStructure);
|
||||
$newStructure = [];
|
||||
|
||||
foreach ($typo3Versions as $typo3Version) {
|
||||
foreach ($oldStructure[$typo3Version] as $function => $config) {
|
||||
// Split static methods and methods.
|
||||
$split = preg_split('/::|->/', $function);
|
||||
|
||||
$config['static'] = strpos($function, '::') !== false;
|
||||
$config['fqcn'] = null;
|
||||
$config['class'] = null;
|
||||
$config['function'] = $split[0];
|
||||
$newStructure[$function] = $config;
|
||||
|
||||
$newStructure[$function]['static'] = strpos($function, '::') !== false;
|
||||
$newStructure[$function]['fqcn'] = null;
|
||||
$newStructure[$function]['class'] = null;
|
||||
$newStructure[$function]['function'] = $split[0];
|
||||
// TODO: Add a way to check for removed or deprecated.
|
||||
$newStructure[$function]['version_removed'] = $typo3Version;
|
||||
|
||||
// If split contains two parts, it's a class with method
|
||||
if (isset($split[1])) {
|
||||
$config['fqcn'] = $split[0];
|
||||
$config['class'] = array_slice(explode('\\', $config['fqcn']), -1)[0];
|
||||
$config['function'] = $split[1];
|
||||
$newStructure[$function]['fqcn'] = $split[0];
|
||||
$newStructure[$function]['class'] = array_slice(explode('\\', $newStructure[$function]['fqcn']), -1)[0];
|
||||
$newStructure[$function]['function'] = $split[1];
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
return $deprecatedFunctions;
|
||||
return $newStructure;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -214,11 +223,14 @@ class Typo3Update_Sniffs_Deprecated_GenericFunctionCallSniff implements PhpCsSni
|
|||
protected function addWarning(PhpCsFile $phpcsFile, $tokenPosition)
|
||||
{
|
||||
$phpcsFile->addWarning(
|
||||
'Legacy function calls are not allowed; found %s. %s. See: %s',
|
||||
// TODO: Add a way to check for removed or deprecated.
|
||||
'Legacy function calls are not allowed; found %s. Removed in %s. %s. See: %s',
|
||||
$tokenPosition,
|
||||
$this->getFunctionIdentifier(),
|
||||
[
|
||||
$this->getOldfunctionCall(),
|
||||
// TODO: Add a way to check for removed or deprecated.
|
||||
$this->getRemovedVersion(),
|
||||
$this->getNewFunctionCall(),
|
||||
$this->getDocsUrl(),
|
||||
]
|
||||
|
@ -255,6 +267,18 @@ class Typo3Update_Sniffs_Deprecated_GenericFunctionCallSniff implements PhpCsSni
|
|||
return $config['fqcn'] . $concat . $config['function'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns TYPO3 version when the current function was removed.
|
||||
*
|
||||
* To let user decide whether this is important for him.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getRemovedVersion()
|
||||
{
|
||||
return $this->getCurrentDeprecatedFunction()['version_removed'];
|
||||
}
|
||||
|
||||
/**
|
||||
* The new function call, or information how to migrate.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue