Breaking: #62416 - Removal of deprecated code in sysext core

See Issue #62416

Description

DataHandler

DataHandler::clear_cache() has been removed. Use ->clear_cacheCmd() instead. Alternatively you can call ->registerPageCacheClearing() from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.

DataHandler::internal_clearPageCache() has been removed, please use the cache manager directly.

The hook [‘t3lib/class.t3lib_tcemain.php’][‘clearAllCache_additionalTables’] has been removed, use the caching framework with database backend instead.

DatabaseConnection

All connection parameters (host, username, password, db) for methods sql_connect(), sql_select_db() and connectDB() have been removed.

PackageManager

The globally defined REQUIRED_EXTENSIONS constant has been removed.

ExtensionManagementUtility

Parameter classPath of insertModuleFunction() is now unused. Leverage autoloading instead.

Removed PHP classes

  • TYPO3CMSCoreResourceServiceIndexerService has been removed without replacement. Indexing is done internally.
  • TYPO3CMSCoreCompatibilityGlobalObjectDeprecationDecorator has been removed without replacement. Do not use $GLOBALS[‘typo3CacheManager’] and $GLOBALS[‘typo3CacheFactory’] anymore, use GeneralUtility::makeInstance() instead.

Removed PHP class members

  • AbstractUserAuthentication::$cookieId has been removed. Use isCookieSet() instead.

Removed PHP methods

  • GeneralUtility::array_merge_recursive_overrule() has been removed. Use ArrayUtility::mergeRecursiveWithOverrule() instead. WARNING: The new method changed its signature and does not return the first parameter anymore.
  • GeneralUtility::htmlspecialchars_decode() has been removed in favor of the native PHP htmlspecialchars_decode() function.
  • CategoryRegistry::get() has been removed. Use isRegistered() instead.
  • CategoryRegistry::applyTca() has been removed. The functionality is obsolete.
  • DataHandler::clear_cache() has been removed. Use ->clear_cacheCmd instead. Alternatively you can call ->registerPageCacheClearing() from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.
  • DataHandler::internal_clearPageCache() has been removed, use the cache manager directly.
  • FileRepository::findByUid() has been removed without replacement.
  • FileRepository::addToIndex() has been removed without replacement. Indexing is done transparently.
  • FileRepository::getFileIndexRecordsForFolder() has been removed. Use FileIndexRepository::findByFolder() instead.
  • FileRepository::getFileIndexRecord() has been removed. Use FileIndexRepository::findOneByFileObject() instead.
  • FileRepository::findBySha1Hash() has been removed. Use FileIndexRepository::findByContentHash() instead.
  • FileRepository::update() has been removed. Use FileIndexRepository::update() instead.
  • ResourceStorage::getFolderByIdentifier() is replaced by getFolder().
  • ResourceStorage::getFileByIdentifier() is replaced by getFileInfoByIdentifier().
  • ResourceStorage::getFileList() is replaced by getFilesInFolder().
  • ResourceStorage::getFolderList() has been removed. Use getFoldersInFolder() instead.
  • ResourceStorage::fetchFolderListFromDriver() has been removed. Use getFoldersInFolder() instead.
  • BasicFileUtility::getTotalFileInfo() has been removed. Use ResourceStorage instead via $GLOBALS[‘BE_USER’]->getFileStorages()
  • BasicFileUtility::checkFileNameLen() has been removed. Use ResourceStorage instead via $GLOBALS[‘BE_USER’]->getFileStorages()
  • BasicFileUtility::isPathValid() has been removed in favor of GeneralUtility::validPathStr().
  • BasicFileUtility::blindPath() has been removed without replacement.
  • BasicFileUtility::findTempFolder() has been removed without replacement.
  • BasicFileUtility::rmDoubleSlash() has been removed without replacement.
  • BasicFileUtility::cleanDirectoryName() has been removed. Use PathUtility::getCanonicalPath() instead.
  • ExtendedFileUtility::init_actionPerms() is replaced with setActionPermissions().
  • ExtendedFileUtility::printLogErrorMessages() is replaced with pushErrorMessagesToFlashMessageQueue().
  • ExtendedFileUtility::findRecycler() has been removed. Use ResourceStorage instead.
  • RteHtmlParser::rteImageStorageDir() and SelectImage::getRTEImageStorageDir() are removed. Use $fileFactory->getFolderObjectFromCombinedIdentifier($GLOBALS[‘TYPO3_CONF_VARS’][‘BE’][‘RTE_imageStorageDir’]); instead.
  • Locales::getTerLocales() has been removed without replacement.
  • Locales::getTerLocaleDependencies() has been removed without replacement.
  • ExtensionManagementUtility::getRequiredExtensionListArray() has been removed without replacement.
  • ExtensionManagementUtility::writeNewExtensionList() has been removed without replacement.
  • PhpOptionsUtility::isSqlSafeModeEnabled() has been removed without replacement.
  • ClassLoader::getAliasForClassName() is replaced with getAliasesForClassName().

Impact

A call to any of the aforementioned methods by third party code will result in a fatal PHP error.

Affected installations

Any installation which contains third party code still using these deprecated methods.

Migration

Replace the calls with the suggestions outlined above.