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