1.. include:: ../../Includes.txt 2 3============================================== 4Deprecation: #86210 - Protected info extension 5============================================== 6 7See :issue:`86210` 8 9Description 10=========== 11 12To allow refactoring of the Web -> Info module in TYPO3 v10, the involved controller classes 13have been disentangled and better encapsulated: 14 15* Class :php:`TYPO3\CMS\Info\Controller\InfoModuleController` 16 does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore 17* Class :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport` 18 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore 19* Class :php:`TYPO3\CMS\Info\Controller\PageInformationController` 20 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore 21* Class :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController` 22 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore 23* Class :php:`TYPO3\CMS\Info\Controller\TranslationStatusController` 24 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore 25 26Setting an instance of class :php:`InfoModuleController` as global object :php:`$GLOBALS['SOBE']` 27has been marked as deprecated and will be removed in TYPO3 v10. 28 29The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore: 30 31* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->perms_clause` 32* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modTSconfig` 33* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_setDefaultList` 34* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_dontValidateList` 35* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_type` 36* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extClassConf` 37* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extObj` 38* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->content` 39* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->pObj` 40* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->id` 41* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->CMD` 42* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->doc` 43* :php:`TYPO3\CMS\Info\Controller\InfoModuleController->MCONF` 44* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->pObj` 45* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->doc` 46* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->function_key` 47* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extClassConf` 48* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->localLangFile` 49* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObj` 50* :php:`TYPO3\CMS\Info\Controller\PageInformationController->pObj` 51* :php:`TYPO3\CMS\Info\Controller\PageInformationController->function_key` 52* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extClassConf` 53* :php:`TYPO3\CMS\Info\Controller\PageInformationController->localLangFile` 54* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObj` 55* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->pObj` 56* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->function_key` 57* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extClassConf` 58* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->localLangFile` 59* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObj` 60* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->pObj` 61* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->function_key` 62* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extClassConf` 63* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->localLangFile` 64* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObj` 65 66The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore: 67 68* :php:`TYPO3CMSInfoControllerInfoModuleController->main()` 69* :php:`TYPO3CMSInfoControllerInfoModuleController->init()` 70* :php:`TYPO3CMSInfoControllerInfoModuleController->getModuleTemplate()` 71* :php:`TYPO3CMSInfoControllerInfoModuleController->menuConfig()` 72* :php:`TYPO3CMSInfoControllerInfoModuleController->handleExternalFunctionValue()` 73* :php:`TYPO3CMSInfoControllerInfoModuleController->mergeExternalItems()` 74* :php:`TYPO3CMSInfoControllerInfoModuleController->getExternalItemConfig()` 75* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjContent()` 76* :php:`TYPO3CMSInfoControllerInfoModuleController->getExtObjContent()` 77* :php:`TYPO3CMSInfoControllerInfoModuleController->checkExtObj()` 78* :php:`TYPO3CMSInfoControllerInfoModuleController->extObjHeader()` 79* :php:`TYPO3CMSInfoControllerInfoModuleController->checkSubExtObj()` 80* :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObjContent()` 81* :php:`TYPO3\CMS\Info\Controller\PageInformationController->modMenu()` 82* :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObjContent()` 83* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->modMenu()` 84* :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObjContent()` 85* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getContentElementCount()` 86* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getLangStatus()` 87* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->renderL10nTable()` 88* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->modMenu()` 89* :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObjContent()` 90 91 92Impact 93====== 94 95If an extension accesses one of the above protected properties or calls one of the above protected methods, 96a :php:`E_USER_DEPRECATED` error will be triggered. 97 98 99Affected Installations 100====================== 101 102Various extensions extend the Web -> Info module. Those typically call 103:php:`ExtensionManagementUtility::insertModuleFunction('web_info', ...)` in :file:`ext_tables.php` or 104:file:`ext_localconf.php`. Those instances may need adaptions. 105 106 107Migration 108========= 109 110If extending the `info` module with an own extension, the extension should be adapted to not call 111the above methods or properties any longer. Most usages can be easily adapted, for instance 112to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`. 113 114.. index:: Backend, PHP-API, NotScanned, ext:info 115