[!!!][FEATURE] Introduce PSR-7-based Routing for Backend AJAX Requests 65/43365/16
authorBenjamin Mack <benni@typo3.org>
Wed, 16 Sep 2015 06:19:51 +0000 (08:19 +0200)
committerAndreas Fernandez <typo3@scripting-base.de>
Mon, 5 Oct 2015 09:34:02 +0000 (11:34 +0200)
commit3f0fb6229ba391356e5ed4984eb1c9418ba6663e
tree9e5bd76876f95c591fa6e830aaf984affc933a5f
parent5159e5382e4a34c64bff70c2d651e0a56e0c12c1
[!!!][FEATURE] Introduce PSR-7-based Routing for Backend AJAX Requests

The AjaxRequestHandler now first checks in the Router if an AJAX
route exists. A new flag "ajax" in the routing mechanism allows to call
ajax-based URLs which are then handed to the AJAX Request Handler.

All controllers now receive proper Request and Response objects.

All previous logic still works, but can slowly be migrated to the Routing
concept.

Resolves: #69916
Releases: master
Change-Id: I1e67d5a341a4dd2769247531246c9e1fad900c76
Reviewed-on: http://review.typo3.org/43365
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
92 files changed:
typo3/sysext/backend/Classes/AjaxLoginHandler.php
typo3/sysext/backend/Classes/Backend/ToolbarItems/ShortcutToolbarItem.php
typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php
typo3/sysext/backend/Classes/Controller/BackendController.php
typo3/sysext/backend/Classes/Controller/ClickMenuController.php
typo3/sysext/backend/Classes/Controller/File/FileController.php
typo3/sysext/backend/Classes/Controller/FileSystemNavigationFrameController.php
typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php
typo3/sysext/backend/Classes/Controller/LiveSearchController.php
typo3/sysext/backend/Classes/Controller/OnlineMediaController.php
typo3/sysext/backend/Classes/Controller/PageTreeNavigationController.php
typo3/sysext/backend/Classes/Controller/SimpleDataHandlerController.php
typo3/sysext/backend/Classes/Controller/UserSettingsController.php
typo3/sysext/backend/Classes/Form/Element/ImageManipulationElement.php
typo3/sysext/backend/Classes/Form/Wizard/ImageManipulationWizard.php
typo3/sysext/backend/Classes/Form/Wizard/SuggestWizard.php
typo3/sysext/backend/Classes/Http/AjaxRequestHandler.php
typo3/sysext/backend/Classes/Http/RouteDispatcher.php
typo3/sysext/backend/Classes/Routing/UriBuilder.php
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/backend/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/backend/Configuration/Backend/Routes.php
typo3/sysext/backend/Resources/Public/JavaScript/AjaxDataHandler.js
typo3/sysext/backend/Resources/Public/JavaScript/ClickMenu.js
typo3/sysext/backend/Resources/Public/JavaScript/ContextHelp.js
typo3/sysext/backend/Resources/Public/JavaScript/DragUploader.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngineSuggest.js
typo3/sysext/backend/Resources/Public/JavaScript/LegacyTree.js
typo3/sysext/backend/Resources/Public/JavaScript/LiveSearch.js
typo3/sysext/backend/Resources/Public/JavaScript/LoginRefresh.js
typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js
typo3/sysext/backend/Resources/Public/JavaScript/Storage.js
typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/ShortcutMenu.js
typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.js
typo3/sysext/backend/Resources/Public/JavaScript/jsfunc.inline.js
typo3/sysext/backend/Resources/Public/JavaScript/modulemenu.js
typo3/sysext/backend/Tests/Unit/Controller/File/FileControllerTest.php
typo3/sysext/beuser/Classes/Controller/PermissionAjaxController.php
typo3/sysext/beuser/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/beuser/Resources/Public/JavaScript/Permissions.js
typo3/sysext/beuser/ext_tables.php
typo3/sysext/context_help/Classes/Controller/ContextHelpAjaxController.php
typo3/sysext/context_help/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/context_help/ext_tables.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/ExtDirect/ExtDirectApi.php
typo3/sysext/core/Classes/ExtDirect/ExtDirectRouter.php
typo3/sysext/core/Classes/Page/PageRenderer.php
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Documentation/Changelog/7.4/Feature-67545-AJAXMethodToCheckIfFileExists.rst
typo3/sysext/core/Documentation/Changelog/master/Breaking-69916-HookAjaxSaveCodeOfT3editorChanged.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Breaking-69916-RemovedBackendLogingetRsaPublicKeyAJAXHandler.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-69916-PSR-7-basedRoutingForBackendAJAXRequests.rst [new file with mode: 0644]
typo3/sysext/opendocs/Classes/Backend/ToolbarItems/OpendocsToolbarItem.php
typo3/sysext/opendocs/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.js
typo3/sysext/opendocs/ext_tables.php
typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php
typo3/sysext/recycler/Classes/Controller/RecyclerAjaxController.php
typo3/sysext/recycler/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/recycler/Resources/Public/JavaScript/Recycler.js
typo3/sysext/recycler/ext_localconf.php
typo3/sysext/rsaauth/Classes/Backend/AjaxLoginHandler.php [deleted file]
typo3/sysext/rsaauth/Classes/RsaEncryptionEncoder.php
typo3/sysext/rsaauth/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/rsaauth/Resources/Public/JavaScript/RsaEncryptionModule.js
typo3/sysext/rsaauth/ext_localconf.php
typo3/sysext/rtehtmlarea/Classes/BrowseLinks.php
typo3/sysext/rtehtmlarea/Classes/Controller/SpellCheckingController.php
typo3/sysext/rtehtmlarea/Classes/Extension/Spellchecker.php
typo3/sysext/rtehtmlarea/Classes/SelectImage.php
typo3/sysext/rtehtmlarea/Configuration/Backend/Routes.php
typo3/sysext/rtehtmlarea/ext_localconf.php
typo3/sysext/t3editor/Classes/CodeCompletion.php
typo3/sysext/t3editor/Classes/Hook/FileEditHook.php
typo3/sysext/t3editor/Classes/T3editor.php
typo3/sysext/t3editor/Classes/TypoScriptReferenceLoader.php
typo3/sysext/t3editor/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/t3editor/Resources/Public/JavaScript/Plugins/CodeCompletion/TsCodeCompletion.js
typo3/sysext/t3editor/Resources/Public/JavaScript/Plugins/CodeCompletion/TsRef.js
typo3/sysext/t3editor/Resources/Public/JavaScript/T3editor.js
typo3/sysext/t3editor/ext_tables.php [deleted file]
typo3/sysext/taskcenter/Classes/TaskStatus.php
typo3/sysext/taskcenter/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/taskcenter/Resources/Public/JavaScript/Taskcenter.js
typo3/sysext/taskcenter/ext_tables.php
typo3/sysext/workspaces/Classes/Controller/AjaxController.php
typo3/sysext/workspaces/Configuration/Backend/AjaxRoutes.php [new file with mode: 0644]
typo3/sysext/workspaces/Resources/Public/JavaScript/Toolbar/WorkspacesMenu.js
typo3/sysext/workspaces/ext_tables.php