Skip to content

Commit

Permalink
[BUGFIX] Avoid cross-dependency in Extbase dispatcher
Browse files Browse the repository at this point in the history
Extbase's old signal slot dispatcher / core should not
use classes that are not explicitly
required for the miminum packages.

Resolves: #89823
Releases: master
Change-Id: I41f7e378ed3d99e62daebfdd5631ef0234761772
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62508
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Richard Haeser <richard@maxserv.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
  • Loading branch information
bmack authored and ervaude committed Dec 2, 2019
1 parent 594b19f commit 49dcd95
Showing 1 changed file with 18 additions and 28 deletions.
46 changes: 18 additions & 28 deletions typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php
Expand Up @@ -26,7 +26,6 @@
use TYPO3\CMS\Backend\LoginProvider\Event\ModifyPageLayoutOnLoginProviderSelectionEvent;
use TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider;
use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Beuser\Controller\BackendUserController;
use TYPO3\CMS\Core\Configuration\Event\AfterTcaCompilationEvent;
use TYPO3\CMS\Core\Configuration\Event\ModifyLoadedPageTsConfigEvent;
use TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent;
Expand Down Expand Up @@ -87,18 +86,6 @@
use TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider;
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
use TYPO3\CMS\Impexp\Event\BeforeImportEvent;
use TYPO3\CMS\Impexp\Utility\ImportExportUtility;
use TYPO3\CMS\Install\Service\Event\ModifyLanguagePackRemoteBaseUrlEvent;
use TYPO3\CMS\Linkvalidator\Event\BeforeRecordIsAnalyzedEvent;
use TYPO3\CMS\Linkvalidator\LinkAnalyzer;
use TYPO3\CMS\Seo\Canonical\CanonicalGenerator;
use TYPO3\CMS\Seo\Event\ModifyUrlForCanonicalTagEvent;
use TYPO3\CMS\Workspaces\Event\AfterCompiledCacheableDataForWorkspaceEvent;
use TYPO3\CMS\Workspaces\Event\AfterDataGeneratedForWorkspaceEvent;
use TYPO3\CMS\Workspaces\Event\GetVersionedDataEvent;
use TYPO3\CMS\Workspaces\Event\SortVersionedDataEvent;
use TYPO3\CMS\Workspaces\Service\GridDataService;

/**
* A dispatcher which dispatches signals by calling its registered slot methods
Expand Down Expand Up @@ -195,9 +182,6 @@ class Dispatcher implements \TYPO3\CMS\Core\SingletonInterface
DatabaseTreeDataProvider::class => [
'PostProcessTreeData' => ModifyTreeDataEvent::class,
],
BackendUserController::class => [
'switchUser' => SwitchUserEvent::class
],
BackendUtility::class => [
'getPagesTSconfigPreInclude' => ModifyLoadedPageTsConfigEvent::class
],
Expand All @@ -212,23 +196,29 @@ class Dispatcher implements \TYPO3\CMS\Core\SingletonInterface
UsernamePasswordLoginProvider::class => [
'getPageRenderer' => ModifyPageLayoutOnLoginProviderSelectionEvent::class
],
// Strings are used here on purpose for all non-required system extensions. Do not change to
// Fqn::class *unless* you also declare each and every extension whose classes are listed
// here as explicit and mandatory dependencies of EXT:extbase.
'TYPO3\\CMS\\Beuser\\Controller\\BackendUserController' => [
'switchUser' => SwitchUserEvent::class
],
'TYPO3\\CMS\\Lang\\Service\\TranslationService' => [
'postProcessMirrorUrl' => ModifyLanguagePackRemoteBaseUrlEvent::class
'postProcessMirrorUrl' => 'TYPO3\\CMS\\Install\\Service\\Event\\ModifyLanguagePackRemoteBaseUrlEvent'
],
LinkAnalyzer::class => [
'beforeAnalyzeRecord' => BeforeRecordIsAnalyzedEvent::class
'TYPO3\\CMS\\Linkvalidator\\LinkAnalyzer' => [
'beforeAnalyzeRecord' => 'TYPO3\\CMS\\Linkvalidator\\Event\\BeforeRecordIsAnalyzedEvent'
],
ImportExportUtility::class => [
'afterImportExportInitialisation' => BeforeImportEvent::class
'TYPO3\\CMS\\Impexp\\Utility\\ImportExportUtility' => [
'afterImportExportInitialisation' => 'TYPO3\\CMS\\Impexp\\Event\\BeforeImportEvent'
],
CanonicalGenerator::class => [
'beforeGeneratingCanonical' => ModifyUrlForCanonicalTagEvent::class
'TYPO3\\CMS\\Seo\\Canonical\\CanonicalGenerator' => [
'beforeGeneratingCanonical' => 'TYPO3\\CMS\\Seo\\Event\\ModifyUrlForCanonicalTagEvent'
],
GridDataService::class => [
GridDataService::SIGNAL_GenerateDataArray_BeforeCaching => AfterCompiledCacheableDataForWorkspaceEvent::class,
GridDataService::SIGNAL_GenerateDataArray_PostProcesss => AfterDataGeneratedForWorkspaceEvent::class,
GridDataService::SIGNAL_GetDataArray_PostProcesss => GetVersionedDataEvent::class,
GridDataService::SIGNAL_SortDataArray_PostProcesss => SortVersionedDataEvent::class,
'TYPO3\\CMS\\Workspaces\\Service\\GridDataService' => [
'generateDataArray.beforeCaching' => 'TYPO3\\CMS\\Workspaces\\Event\\AfterCompiledCacheableDataForWorkspaceEvent',
'generateDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\AfterDataGeneratedForWorkspaceEvent',
'getDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\GetVersionedDataEvent',
'sortDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\SortVersionedDataEvent',
]
];

Expand Down

0 comments on commit 49dcd95

Please sign in to comment.