[TASK] Add LanguageAspect to Contexts 24/57424/24
authorBenni Mack <benni@typo3.org>
Sun, 1 Jul 2018 12:46:04 +0000 (14:46 +0200)
committerAndreas Fernandez <a.fernandez@scripting-base.de>
Fri, 13 Jul 2018 18:39:14 +0000 (20:39 +0200)
commit4003c5fa9eae95344ef42e971a136f78d9ef9c67
treeeef1fc036f8250300ea9d55787071fcbce68601c
parent7a17c8d627211bccf5cc485946102a707c90e8b5
[TASK] Add LanguageAspect to Contexts

This change adds a new Aspect called "Language" which bundles
most existing TypoScript options on frontend language fetching.
A factory allows to migrate the logic from TSFE.

Major / Important Changes:
- RootlineUtility is decoupled from PageRepository
- TSFE->sys_language_mode is not necessary anymore
- TSFE->sys_language_contentOL can be substituted by "overlayType" of Aspect
- A new PageRepository->getLanguageOverlay() bundles all other methods
- A lot of common public properties in TSFE are now deprecated

Next steps:
- Isolate calls from RootlineUtility/PageRepository more from each other and from TSFE
- Migrate PageRepository "-1" parameters to "null"
- Migrate usages PageRepository->getRootline() to RootlineUtility::__construct()
- Then deprecate PageRepository->getRootLine()
- Migrate Extbase QuerySettings to Contexts

Resolves: #85543
Releases: master
Change-Id: I8d177222a244a8d1fd66a884e9fc50b107f27e20
Reviewed-on: https://review.typo3.org/57424
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
27 files changed:
typo3/sysext/adminpanel/Classes/Service/EditToolbarService.php
typo3/sysext/core/Classes/Context/Context.php
typo3/sysext/core/Classes/Context/LanguageAspect.php [new file with mode: 0644]
typo3/sysext/core/Classes/Context/LanguageAspectFactory.php [new file with mode: 0644]
typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php
typo3/sysext/core/Classes/Utility/RootlineUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-85543-Language-relatedPropertiesInTypoScriptFrontendControllerAndPageRepository.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-85389-ContextAPIForConsistentDataHandling.rst
typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.typoscript
typo3/sysext/core/Tests/Unit/Utility/RootlineUtilityTest.php
typo3/sysext/extbase/Classes/Persistence/Generic/Typo3QuerySettings.php
typo3/sysext/extbase/Classes/Service/ExtensionService.php
typo3/sysext/form/Classes/Domain/Runtime/FormRuntime.php
typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php
typo3/sysext/frontend/Classes/Category/Collection/CategoryCollection.php
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/ContentObject/FilesContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/AbstractMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/RecordsContentObject.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
typo3/sysext/frontend/Classes/Page/PageRepository.php
typo3/sysext/frontend/Tests/Functional/Page/PageRepositoryTest.php
typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php
typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php
typo3/sysext/indexed_search/Classes/Controller/SearchController.php
typo3/sysext/indexed_search/Classes/Indexer.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyPublicMatcher.php