[BUGFIX] Reimplement previewing of date / usergroup restricted content
Preview functionality was only implemented in the Admin Panel. Previewing itself (as in being able to preview pages with access or user restrictions) should also work without having the admin panel installed and open. The basic process is now like this: - Backend generates preview URLs for pages with access restrictions -- starttime, endtime, fe groups --> parameters ADMCMD_simUser and ADMCMD_simTime are appended to the FE URL - Frontend PreviewSimulator Middleware uses these parameters to modify the current Context - Adminpanel - if installed and open - takes given parameters as settings for preview date/time/group - when user changes those, they are overwritten Technical Changes: - BackendUtility: Enable link generation for a specified context - DateTimeAspect: Add new property to aspect to mirror SIM_ACCESS_TIME global - PageRepository: Use new DateTimeAspect context property for enable fields - AdminPanel: Set $_GET params in settings if given, remove $_GET vars if user saves admin panel settings (to allow user to change date/time in AdminPanel) Resolves: #86653 Releases: master, 9.5 Change-Id: I3a2302845461e9c18f9349438e10f1c059a85e48 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59927 Tested-by:TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Benni Mack <benni@typo3.org>
Showing
- Build/Sources/TypeScript/adminpanel/Resources/Public/TypeScript/AdminPanel.ts 19 additions, 1 deletion...ript/adminpanel/Resources/Public/TypeScript/AdminPanel.ts
- Build/Sources/TypeScript/adminpanel/Resources/Public/TypeScript/Modules/Preview.ts 11 additions, 8 deletions...adminpanel/Resources/Public/TypeScript/Modules/Preview.ts
- typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php 19 additions, 21 deletionstypo3/sysext/adminpanel/Classes/Modules/PreviewModule.php
- typo3/sysext/adminpanel/Resources/Public/JavaScript/AdminPanel.js 1 addition, 1 deletion...sext/adminpanel/Resources/Public/JavaScript/AdminPanel.js
- typo3/sysext/adminpanel/Resources/Public/JavaScript/Modules/Preview.js 1 addition, 1 deletion...adminpanel/Resources/Public/JavaScript/Modules/Preview.js
- typo3/sysext/adminpanel/Tests/Unit/Modules/PreviewModuleTest.php 1 addition, 6 deletions...ysext/adminpanel/Tests/Unit/Modules/PreviewModuleTest.php
- typo3/sysext/backend/Classes/Utility/BackendUtility.php 26 additions, 8 deletionstypo3/sysext/backend/Classes/Utility/BackendUtility.php
- typo3/sysext/core/Classes/Context/DateTimeAspect.php 2 additions, 0 deletionstypo3/sysext/core/Classes/Context/DateTimeAspect.php
- typo3/sysext/core/Classes/Domain/Repository/PageRepository.php 8 additions, 2 deletions.../sysext/core/Classes/Domain/Repository/PageRepository.php
- typo3/sysext/core/Classes/Routing/PageRouter.php 11 additions, 3 deletionstypo3/sysext/core/Classes/Routing/PageRouter.php
- typo3/sysext/core/Classes/Routing/RouterInterface.php 0 additions, 1 deletiontypo3/sysext/core/Classes/Routing/RouterInterface.php
- typo3/sysext/core/Classes/Site/Entity/Site.php 4 additions, 2 deletionstypo3/sysext/core/Classes/Site/Entity/Site.php
- typo3/sysext/core/Tests/Functional/Domain/Repository/PageRepositoryTest.php 6 additions, 5 deletions...Tests/Functional/Domain/Repository/PageRepositoryTest.php
- typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbQueryParserTest.php 19 additions, 7 deletions...it/Persistence/Generic/Storage/Typo3DbQueryParserTest.php
- typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php 2 additions, 2 deletions...ntend/Classes/Controller/TypoScriptFrontendController.php
- typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php 135 additions, 0 deletions...3/sysext/frontend/Classes/Middleware/PreviewSimulator.php
- typo3/sysext/frontend/Configuration/RequestMiddlewares.php 10 additions, 0 deletionstypo3/sysext/frontend/Configuration/RequestMiddlewares.php
- typo3/sysext/install/Configuration/ExtensionScanner/Php/InterfaceMethodChangedMatcher.php 1 addition, 1 deletion...on/ExtensionScanner/Php/InterfaceMethodChangedMatcher.php
Please register or sign in to comment