‪TYPO3CMS  10.4
Dispatcher.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Psr\Log\LoggerInterface;
117 
126 {
130  protected ‪$objectManager;
131 
139  protected ‪$slots = [];
140 
144  protected ‪$logger;
145 
149  protected ‪$deprecatedSlots = [
150  FileIndexRepository::class => [
151  'recordUpdated' => AfterFileUpdatedInIndexEvent::class,
152  'recordCreated' => AfterFileAddedToIndexEvent::class,
153  'recordDeleted' => AfterFileRemovedFromIndexEvent::class,
154  'recordMarkedAsMissing' => AfterFileMarkedAsMissingEvent::class
155  ],
156  MetaDataRepository::class => [
157  'recordPostRetrieval' => EnrichFileMetaDataEvent::class,
158  'recordUpdated' => AfterFileMetaDataUpdatedEvent::class,
159  'recordCreated' => AfterFileMetaDataCreatedEvent::class,
160  'recordDeleted' => AfterFileMetaDataDeletedEvent::class
161  ],
162  ResourceFactory::class => [
163  ‪ResourceFactoryInterface::SIGNAL_PreProcessStorage => BeforeResourceStorageInitializationEvent::class,
164  ‪ResourceFactoryInterface::SIGNAL_PostProcessStorage => AfterResourceStorageInitializationEvent::class,
165  ],
166  ResourceStorage::class => [
167  ‪ResourceStorageInterface::SIGNAL_SanitizeFileName => SanitizeFileNameEvent::class,
168  ‪ResourceStorageInterface::SIGNAL_PreFileAdd => BeforeFileAddedEvent::class,
169  ‪ResourceStorageInterface::SIGNAL_PostFileAdd => AfterFileAddedEvent::class,
170  ‪ResourceStorageInterface::SIGNAL_PreFileCopy => BeforeFileCopiedEvent::class,
171  ‪ResourceStorageInterface::SIGNAL_PostFileCopy => AfterFileCopiedEvent::class,
172  ‪ResourceStorageInterface::SIGNAL_PreFileMove => BeforeFileMovedEvent::class,
173  ‪ResourceStorageInterface::SIGNAL_PostFileMove => AfterFileMovedEvent::class,
174  ‪ResourceStorageInterface::SIGNAL_PreFileRename => BeforeFileRenamedEvent::class,
175  ‪ResourceStorageInterface::SIGNAL_PostFileRename => AfterFileRenamedEvent::class,
176  ‪ResourceStorageInterface::SIGNAL_PreFileReplace => BeforeFileReplacedEvent::class,
177  ‪ResourceStorageInterface::SIGNAL_PostFileReplace => AfterFileReplacedEvent::class,
178  ‪ResourceStorageInterface::SIGNAL_PreFileCreate => BeforeFileCreatedEvent::class,
179  ‪ResourceStorageInterface::SIGNAL_PostFileCreate => AfterFileCreatedEvent::class,
180  ‪ResourceStorageInterface::SIGNAL_PreFileDelete => BeforeFileDeletedEvent::class,
181  ‪ResourceStorageInterface::SIGNAL_PostFileDelete => AfterFileDeletedEvent::class,
182  ‪ResourceStorageInterface::SIGNAL_PreFileSetContents => BeforeFileContentsSetEvent::class,
183  ‪ResourceStorageInterface::SIGNAL_PostFileSetContents => AfterFileContentsSetEvent::class,
184  ‪ResourceStorageInterface::SIGNAL_PreFolderAdd => BeforeFolderAddedEvent::class,
185  ‪ResourceStorageInterface::SIGNAL_PostFolderAdd => AfterFolderAddedEvent::class,
186  ‪ResourceStorageInterface::SIGNAL_PreFolderCopy => BeforeFolderCopiedEvent::class,
187  ‪ResourceStorageInterface::SIGNAL_PostFolderCopy => AfterFolderCopiedEvent::class,
188  ‪ResourceStorageInterface::SIGNAL_PreFolderMove => BeforeFolderMovedEvent::class,
189  ‪ResourceStorageInterface::SIGNAL_PostFolderMove => AfterFolderMovedEvent::class,
190  ‪ResourceStorageInterface::SIGNAL_PreFolderRename => BeforeFolderRenamedEvent::class,
191  ‪ResourceStorageInterface::SIGNAL_PostFolderRename => AfterFolderRenamedEvent::class,
192  ‪ResourceStorageInterface::SIGNAL_PreFolderDelete => BeforeFolderDeletedEvent::class,
193  ‪ResourceStorageInterface::SIGNAL_PostFolderDelete => AfterFolderDeletedEvent::class,
194  ‪ResourceStorageInterface::SIGNAL_PreGeneratePublicUrl => GeneratePublicUrlForResourceEvent::class,
195  ],
196  FileProcessingService::class => [
197  ‪FileProcessingService::SIGNAL_PreFileProcess => BeforeFileProcessingEvent::class,
198  ‪FileProcessingService::SIGNAL_PostFileProcess => AfterFileProcessingEvent::class,
199  ],
200  IconFactory::class => [
201  'buildIconForResourceSignal' => ModifyIconForResourcePropertiesEvent::class,
202  ],
203  SoftReferenceIndex::class => [
204  'setTypoLinkPartsElement' => AppendLinkHandlerElementsEvent::class,
205  ],
206  ReferenceIndex::class => [
207  'shouldExcludeTableFromReferenceIndex' => IsTableExcludedFromReferenceIndexEvent::class,
208  ],
209  ExtensionManagementUtility::class => [
210  'tcaIsBeingBuilt' => AfterTcaCompilationEvent::class,
211  ],
212  'TYPO3\\CMS\\Install\\Service\\SqlExpectedSchemaService' => [
213  'tablesDefinitionIsBeingBuilt' => AlterTableDefinitionStatementsEvent::class,
214  ],
215  DatabaseTreeDataProvider::class => [
216  'PostProcessTreeData' => ModifyTreeDataEvent::class,
217  ],
218  BackendUtility::class => [
219  'getPagesTSconfigPreInclude' => ModifyLoadedPageTsConfigEvent::class
220  ],
221  EditDocumentController::class => [
222  'preInitAfter' => BeforeFormEnginePageInitializedEvent::class,
223  'initAfter' => AfterFormEnginePageInitializedEvent::class,
224  ],
225  SystemInformationToolbarItem::class => [
226  'getSystemInformation' => SystemInformationToolbarCollectorEvent::class,
227  'loadMessages' => SystemInformationToolbarCollectorEvent::class
228  ],
229  UsernamePasswordLoginProvider::class => [
230  'getPageRenderer' => ModifyPageLayoutOnLoginProviderSelectionEvent::class
231  ],
232  \TYPO3\CMS\Extbase\Mvc\Dispatcher::class => [
233  'afterRequestDispatch' => AfterRequestDispatchedEvent::class
234  ],
235  ActionController::class => [
236  'beforeCallActionMethod' => BeforeActionCallEvent::class
237  ],
238  DataMapper::class => [
239  'afterMappingSingleRow' => AfterObjectThawedEvent::class
240  ],
241  Backend::class => [
242  'beforeGettingObjectData' => ModifyQueryBeforeFetchingObjectDataEvent::class,
243  'afterGettingObjectData' => ModifyResultAfterFetchingObjectDataEvent::class,
244  'endInsertObject' => EntityFinalizedAfterPersistenceEvent::class,
245  'afterInsertObject' => EntityAddedToPersistenceEvent::class,
246  'afterUpdateObject' => EntityUpdatedInPersistenceEvent::class,
247  'afterPersistObject' => EntityPersistedEvent::class,
248  'afterRemoveObject' => EntityRemovedFromPersistenceEvent::class
249  ],
250  // Strings are used here on purpose for all non-required system extensions. Do not change to
251  // Fqn::class *unless* you also declare each and every extension whose classes are listed
252  // here as explicit and mandatory dependencies of EXT:extbase.
253  'TYPO3\\CMS\\Beuser\\Controller\\BackendUserController' => [
254  'switchUser' => SwitchUserEvent::class
255  ],
256  'TYPO3\\CMS\\Lang\\Service\\TranslationService' => [
257  'postProcessMirrorUrl' => 'TYPO3\\CMS\\Install\\Service\\Event\\ModifyLanguagePackRemoteBaseUrlEvent'
258  ],
259  'TYPO3\\CMS\\Linkvalidator\\LinkAnalyzer' => [
260  'beforeAnalyzeRecord' => 'TYPO3\\CMS\\Linkvalidator\\Event\\BeforeRecordIsAnalyzedEvent'
261  ],
262  'TYPO3\\CMS\\Impexp\\Utility\\ImportExportUtility' => [
263  'afterImportExportInitialisation' => 'TYPO3\\CMS\\Impexp\\Event\\BeforeImportEvent'
264  ],
265  'TYPO3\\CMS\\Seo\\Canonical\\CanonicalGenerator' => [
266  'beforeGeneratingCanonical' => 'TYPO3\\CMS\\Seo\\Event\\ModifyUrlForCanonicalTagEvent'
267  ],
268  'TYPO3\\CMS\\Workspaces\\Service\\GridDataService' => [
269  'generateDataArray.beforeCaching' => 'TYPO3\\CMS\\Workspaces\\Event\\AfterCompiledCacheableDataForWorkspaceEvent',
270  'generateDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\AfterDataGeneratedForWorkspaceEvent',
271  'getDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\GetVersionedDataEvent',
272  'sortDataArray.postProcess' => 'TYPO3\\CMS\\Workspaces\\Event\\SortVersionedDataEvent',
273  ],
274  'PackageManagement' => [
275  'packagesMayHaveChanged' => PackagesMayHaveChangedEvent::class,
276  ],
277  InstallUtility::class => [
278  'afterExtensionInstall' => AfterPackageActivationEvent::class,
279  'afterExtensionUninstall' => AfterPackageDeactivationEvent::class,
280  'afterExtensionT3DImport' => AfterExtensionDatabaseContentHasBeenImportedEvent::class,
281  'afterExtensionStaticSqlImport' => AfterExtensionStaticDatabaseContentHasBeenImportedEvent::class,
282  'afterExtensionFileImport' => AfterExtensionFilesHaveBeenImportedEvent::class,
283  ],
284  ExtensionManagementService::class => [
285  'willInstallExtensions' => BeforePackageActivationEvent::class
286  ],
287  ProcessAvailableActionsViewHelper::class => [
288  'processActions' => AvailableActionsForExtensionEvent::class
289  ]
290  ];
291 
296  public function ‪__construct(‪ObjectManagerInterface ‪$objectManager, LoggerInterface ‪$logger)
297  {
298  $this->objectManager = ‪$objectManager;
299  $this->logger = ‪$logger;
300  }
301 
313  public function ‪connect(string $signalClassName, string $signalName, $slotClassNameOrObject, string $slotMethodName = '', bool $passSignalInformation = true): void
314  {
315  $class = null;
316  $object = null;
317  if (is_object($slotClassNameOrObject)) {
318  $object = $slotClassNameOrObject;
319  $method = $slotClassNameOrObject instanceof \Closure ? '__invoke' : $slotMethodName;
320  } else {
321  if ($slotMethodName === '') {
322  throw new \InvalidArgumentException('The slot method name must not be empty (except for closures).', 1229531659);
323  }
324  $class = $slotClassNameOrObject;
325  $method = $slotMethodName;
326  }
327  $slot = [
328  'class' => $class,
329  'method' => $method,
330  'object' => $object,
331  'passSignalInformation' => $passSignalInformation === true,
332  ];
333  // The in_array() comparision needs to be strict to avoid potential issues
334  // with complex objects being registered as slot.
335  if (!is_array($this->slots[$signalClassName][$signalName] ?? false) || !in_array($slot, $this->slots[$signalClassName][$signalName], true)) {
336  $this->slots[$signalClassName][$signalName][] = $slot;
337  }
338  }
339 
350  public function ‪dispatch(string $signalClassName, string $signalName, array $signalArguments = [])
351  {
352  $this->logger->debug(
353  'Triggered signal ' . $signalClassName . ' ' . $signalName,
354  [
355  'signalClassName' => $signalClassName,
356  'signalName' => $signalName,
357  'signalArguments' => $signalArguments,
358  ]
359  );
360  if (!isset($this->slots[$signalClassName][$signalName])) {
361  return $signalArguments;
362  }
363  foreach ($this->slots[$signalClassName][$signalName] as $slotInformation) {
364  if (isset($slotInformation['object'])) {
365  $object = $slotInformation['object'];
366  } else {
367  if (!class_exists($slotInformation['class'])) {
368  throw new InvalidSlotException('The given class "' . $slotInformation['class'] . '" is not a registered object.', 1245673367);
369  }
370  $object = $this->objectManager->get($slotInformation['class']);
371  }
372 
373  $method = (string)($slotInformation['method'] ?? '');
374  $callable = [$object, $method];
375 
376  if (!is_object($object) || !is_callable($callable)) {
377  throw new InvalidSlotException('The slot method ' . get_class($object) . '->' . $method . '() does not exist.', 1245673368);
378  }
379 
380  $preparedSlotArguments = $signalArguments;
381  if ($slotInformation['passSignalInformation'] === true) {
382  $preparedSlotArguments[] = $signalClassName . '::' . $signalName;
383  }
384 
385  $slotReturn = call_user_func_array($callable, $preparedSlotArguments);
386 
387  if ($slotReturn) {
388  if (!is_array($slotReturn)) {
389  throw new InvalidSlotReturnException('The slot method ' . get_class($object) . '->' . $method . '()\'s return value is of an not allowed type ('
390  . gettype($slotReturn) . ').', 1376683067);
391  }
392  if (count($slotReturn) !== count($signalArguments)) {
393  throw new InvalidSlotReturnException('The slot method ' . get_class($object) . '->' . $method . '() returned a different number ('
394  . count($slotReturn) . ') of arguments, than it received (' . count($signalArguments) . ').', 1376683066);
395  }
396  $signalArguments = $slotReturn;
397  }
398  }
399 
400  return $signalArguments;
401  }
402 
410  public function ‪getSlots(string $signalClassName, string $signalName): array
411  {
412  return $this->slots[$signalClassName][$signalName] ?? [];
413  }
414 
421  public function ‪reportDeprecatedSignalSlots(): void
422  {
423  $messages = [];
424  foreach ($this->slots as $signalClassName => $signals) {
425  if (isset($this->deprecatedSlots[$signalClassName])) {
426  foreach (array_keys($signals) as $signalName) {
427  $eventClass = $this->deprecatedSlots[$signalClassName][$signalName] ?? null;
428  if ($eventClass !== null) {
429  $messages[] = 'The signal "' . $signalName . '" in "' . $signalClassName . '" is deprecated and will stop working in TYPO3 11.0. Use the PSR-14 event: "' . $eventClass . '"';
430  }
431  }
432  }
433  }
434  if (count($messages)) {
435  trigger_error(
436  'The following deprecated signals are connected:' . LF .
437  implode(LF, $messages),
438  E_USER_DEPRECATED
439  );
440  }
441  }
442 }
‪TYPO3\CMS\Core\Resource\Event\BeforeFolderRenamedEvent
Definition: BeforeFolderRenamedEvent.php:28
‪TYPO3\CMS\Core\Resource\Index\MetaDataRepository
Definition: MetaDataRepository.php:40
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_SanitizeFileName
‪const SIGNAL_SanitizeFileName
Definition: ResourceStorageInterface.php:26
‪TYPO3\CMS\Extbase\Persistence\Generic\Backend
Definition: Backend.php:51
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFolderAdd
‪const SIGNAL_PostFolderAdd
Definition: ResourceStorageInterface.php:116
‪TYPO3\CMS\Core\DataHandling\Event\IsTableExcludedFromReferenceIndexEvent
Definition: IsTableExcludedFromReferenceIndexEvent.php:28
‪TYPO3\CMS\Extbase\Event\Persistence\EntityFinalizedAfterPersistenceEvent
Definition: EntityFinalizedAfterPersistenceEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\BeforeFolderDeletedEvent
Definition: BeforeFolderDeletedEvent.php:28
‪TYPO3\CMS\Core\Resource\ResourceFactoryInterface\SIGNAL_PreProcessStorage
‪const SIGNAL_PreProcessStorage
Definition: ResourceFactoryInterface.php:25
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFolderDelete
‪const SIGNAL_PreFolderDelete
Definition: ResourceStorageInterface.php:141
‪TYPO3\CMS\Core\Resource\Event\BeforeFileCopiedEvent
Definition: BeforeFileCopiedEvent.php:30
‪TYPO3\CMS\Core\Resource\Index\FileIndexRepository
Definition: FileIndexRepository.php:45
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileMove
‪const SIGNAL_PostFileMove
Definition: ResourceStorageInterface.php:66
‪TYPO3\CMS\Core\Resource\Event\BeforeFileCreatedEvent
Definition: BeforeFileCreatedEvent.php:29
‪TYPO3\CMS\Core\Resource\Event\AfterFileProcessingEvent
Definition: AfterFileProcessingEvent.php:30
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface
Definition: ResourceStorageInterface.php:22
‪TYPO3\CMS\Backend\LoginProvider\Event\ModifyPageLayoutOnLoginProviderSelectionEvent
Definition: ModifyPageLayoutOnLoginProviderSelectionEvent.php:26
‪TYPO3\CMS\Core\Resource\Event\BeforeFileReplacedEvent
Definition: BeforeFileReplacedEvent.php:27
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:18
‪TYPO3\CMS\Extensionmanager\Event\AfterExtensionStaticDatabaseContentHasBeenImportedEvent
Definition: AfterExtensionStaticDatabaseContentHasBeenImportedEvent.php:26
‪TYPO3\CMS\Core\Resource\Event\AfterFileUpdatedInIndexEvent
Definition: AfterFileUpdatedInIndexEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\AfterFileMetaDataDeletedEvent
Definition: AfterFileMetaDataDeletedEvent.php:25
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileReplace
‪const SIGNAL_PostFileReplace
Definition: ResourceStorageInterface.php:96
‪TYPO3\CMS\Extbase\Event\Persistence\EntityAddedToPersistenceEvent
Definition: EntityAddedToPersistenceEvent.php:27
‪TYPO3\CMS\Core\Resource\ResourceFactoryInterface\SIGNAL_PostProcessStorage
‪const SIGNAL_PostProcessStorage
Definition: ResourceFactoryInterface.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFolderDelete
‪const SIGNAL_PostFolderDelete
Definition: ResourceStorageInterface.php:146
‪TYPO3\CMS\Extensionmanager\ViewHelpers\ProcessAvailableActionsViewHelper
Definition: ProcessAvailableActionsViewHelper.php:28
‪TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent
Definition: SystemInformationToolbarCollectorEvent.php:27
‪TYPO3\CMS\Core\Database\ReferenceIndex
Definition: ReferenceIndex.php:48
‪TYPO3
‪TYPO3\CMS\Core\Resource\Event\AfterFolderMovedEvent
Definition: AfterFolderMovedEvent.php:29
‪TYPO3\CMS\Core\Resource\Event\BeforeFileDeletedEvent
Definition: BeforeFileDeletedEvent.php:28
‪TYPO3\CMS\Extbase\SignalSlot\Exception\InvalidSlotReturnException
Definition: InvalidSlotReturnException.php:26
‪TYPO3\CMS\Core\Configuration\Event\AfterTcaCompilationEvent
Definition: AfterTcaCompilationEvent.php:27
‪TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider
Definition: DatabaseTreeDataProvider.php:36
‪TYPO3\CMS\Core\Resource\Event\AfterFileMetaDataCreatedEvent
Definition: AfterFileMetaDataCreatedEvent.php:25
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\getSlots
‪array getSlots(string $signalClassName, string $signalName)
Definition: Dispatcher.php:406
‪TYPO3\CMS\Core\Resource\Event\AfterFolderCopiedEvent
Definition: AfterFolderCopiedEvent.php:29
‪TYPO3\CMS\Extbase\Event\Mvc\BeforeActionCallEvent
Definition: BeforeActionCallEvent.php:25
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreGeneratePublicUrl
‪const SIGNAL_PreGeneratePublicUrl
Definition: ResourceStorageInterface.php:161
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileAdd
‪const SIGNAL_PreFileAdd
Definition: ResourceStorageInterface.php:31
‪TYPO3\CMS\Core\Resource\Event\BeforeFileRenamedEvent
Definition: BeforeFileRenamedEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\AfterFileCreatedEvent
Definition: AfterFileCreatedEvent.php:29
‪TYPO3\CMS\Extbase\Event\Persistence\EntityRemovedFromPersistenceEvent
Definition: EntityRemovedFromPersistenceEvent.php:26
‪TYPO3\CMS\Core\Imaging\IconFactory
Definition: IconFactory.php:33
‪TYPO3\CMS\Core\Resource\Event\AfterFileAddedToIndexEvent
Definition: AfterFileAddedToIndexEvent.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileDelete
‪const SIGNAL_PreFileDelete
Definition: ResourceStorageInterface.php:71
‪TYPO3\CMS\Core\Resource\Event\BeforeFileProcessingEvent
Definition: BeforeFileProcessingEvent.php:30
‪TYPO3\CMS\Core\Resource\Event\BeforeFileMovedEvent
Definition: BeforeFileMovedEvent.php:28
‪TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper
Definition: DataMapper.php:52
‪TYPO3\CMS\Core\Resource\Event\AfterFolderAddedEvent
Definition: AfterFolderAddedEvent.php:28
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\$slots
‪array $slots
Definition: Dispatcher.php:137
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\reportDeprecatedSignalSlots
‪reportDeprecatedSignalSlots()
Definition: Dispatcher.php:417
‪TYPO3\CMS\Extbase\Event\Persistence\ModifyResultAfterFetchingObjectDataEvent
Definition: ModifyResultAfterFetchingObjectDataEvent.php:26
‪TYPO3\CMS\Core\Tree\Event\ModifyTreeDataEvent
Definition: ModifyTreeDataEvent.php:27
‪TYPO3\CMS\Extensionmanager\Event\AfterExtensionDatabaseContentHasBeenImportedEvent
Definition: AfterExtensionDatabaseContentHasBeenImportedEvent.php:26
‪TYPO3\CMS\Extbase\SignalSlot\Exception\InvalidSlotException
Definition: InvalidSlotException.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFolderCopy
‪const SIGNAL_PreFolderCopy
Definition: ResourceStorageInterface.php:121
‪TYPO3\CMS\Core\Resource\Event\AfterFileMovedEvent
Definition: AfterFileMovedEvent.php:31
‪TYPO3\CMS\Extbase\Object\ObjectManagerInterface
Definition: ObjectManagerInterface.php:26
‪TYPO3\CMS\Core\Resource\Event\AfterFolderRenamedEvent
Definition: AfterFolderRenamedEvent.php:28
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFolderRename
‪const SIGNAL_PostFolderRename
Definition: ResourceStorageInterface.php:156
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileMove
‪const SIGNAL_PreFileMove
Definition: ResourceStorageInterface.php:61
‪TYPO3\CMS\Core\Resource\Event\GeneratePublicUrlForResourceEvent
Definition: GeneratePublicUrlForResourceEvent.php:31
‪TYPO3\CMS\Core\Utility\ExtensionManagementUtility
Definition: ExtensionManagementUtility.php:43
‪TYPO3\CMS\Extbase\Event\Persistence\AfterObjectThawedEvent
Definition: AfterObjectThawedEvent.php:26
‪TYPO3\CMS\Extensionmanager\Utility\InstallUtility
Definition: InstallUtility.php:55
‪TYPO3\CMS\Extensionmanager\Event\AfterExtensionFilesHaveBeenImportedEvent
Definition: AfterExtensionFilesHaveBeenImportedEvent.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileRename
‪const SIGNAL_PreFileRename
Definition: ResourceStorageInterface.php:81
‪TYPO3\CMS\Core\Resource\Service\FileProcessingService\SIGNAL_PostFileProcess
‪const SIGNAL_PostFileProcess
Definition: FileProcessingService.php:59
‪TYPO3\CMS\Backend\Controller\Event\AfterFormEnginePageInitializedEvent
Definition: AfterFormEnginePageInitializedEvent.php:27
‪TYPO3\CMS\Backend\Controller\EditDocumentController
Definition: EditDocumentController.php:67
‪TYPO3\CMS\Extbase\SignalSlot
Definition: Dispatcher.php:18
‪TYPO3\CMS\Extensionmanager\Event\AvailableActionsForExtensionEvent
Definition: AvailableActionsForExtensionEvent.php:24
‪TYPO3\CMS\Core\Resource\Event\BeforeFolderAddedEvent
Definition: BeforeFolderAddedEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\AfterResourceStorageInitializationEvent
Definition: AfterResourceStorageInitializationEvent.php:28
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileDelete
‪const SIGNAL_PostFileDelete
Definition: ResourceStorageInterface.php:76
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileAdd
‪const SIGNAL_PostFileAdd
Definition: ResourceStorageInterface.php:36
‪TYPO3\CMS\Core\Package\Event\AfterPackageActivationEvent
Definition: AfterPackageActivationEvent.php:24
‪TYPO3\CMS\Core\Resource\ResourceFactory
Definition: ResourceFactory.php:41
‪TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem
Definition: SystemInformationToolbarItem.php:38
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileCopy
‪const SIGNAL_PreFileCopy
Definition: ResourceStorageInterface.php:51
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\dispatch
‪mixed dispatch(string $signalClassName, string $signalName, array $signalArguments=[])
Definition: Dispatcher.php:346
‪TYPO3\CMS\Core\Resource\Event\AfterFileRenamedEvent
Definition: AfterFileRenamedEvent.php:27
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFolderCopy
‪const SIGNAL_PostFolderCopy
Definition: ResourceStorageInterface.php:126
‪TYPO3\CMS\Core\Resource\Event\AfterFileContentsSetEvent
Definition: AfterFileContentsSetEvent.php:28
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\$logger
‪LoggerInterface $logger
Definition: Dispatcher.php:141
‪TYPO3\CMS\Core\Resource\Event\AfterFileRemovedFromIndexEvent
Definition: AfterFileRemovedFromIndexEvent.php:26
‪TYPO3\CMS\Core\Resource\Event\AfterFileCopiedEvent
Definition: AfterFileCopiedEvent.php:30
‪TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider
Definition: UsernamePasswordLoginProvider.php:29
‪TYPO3\CMS\Backend\Controller\Event\BeforeFormEnginePageInitializedEvent
Definition: BeforeFormEnginePageInitializedEvent.php:27
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFolderMove
‪const SIGNAL_PostFolderMove
Definition: ResourceStorageInterface.php:136
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\__construct
‪__construct(ObjectManagerInterface $objectManager, LoggerInterface $logger)
Definition: Dispatcher.php:292
‪TYPO3\CMS\Core\Imaging\Event\ModifyIconForResourcePropertiesEvent
Definition: ModifyIconForResourcePropertiesEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\EnrichFileMetaDataEvent
Definition: EnrichFileMetaDataEvent.php:26
‪TYPO3\CMS\Backend\Utility\BackendUtility
Definition: BackendUtility.php:75
‪TYPO3\CMS\Extbase\Event\Persistence\EntityUpdatedInPersistenceEvent
Definition: EntityUpdatedInPersistenceEvent.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFolderRename
‪const SIGNAL_PreFolderRename
Definition: ResourceStorageInterface.php:151
‪TYPO3\CMS\Extbase\Event\Persistence\ModifyQueryBeforeFetchingObjectDataEvent
Definition: ModifyQueryBeforeFetchingObjectDataEvent.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFolderMove
‪const SIGNAL_PreFolderMove
Definition: ResourceStorageInterface.php:131
‪TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService
Definition: ExtensionManagementService.php:33
‪TYPO3\CMS\Core\Resource\Event\BeforeFileAddedEvent
Definition: BeforeFileAddedEvent.php:30
‪TYPO3\CMS\Core\Resource\Service\FileProcessingService\SIGNAL_PreFileProcess
‪const SIGNAL_PreFileProcess
Definition: FileProcessingService.php:54
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileReplace
‪const SIGNAL_PreFileReplace
Definition: ResourceStorageInterface.php:91
‪TYPO3\CMS\Core\Resource\ResourceStorage
Definition: ResourceStorage.php:122
‪TYPO3\CMS\Core\Package\Event\AfterPackageDeactivationEvent
Definition: AfterPackageDeactivationEvent.php:24
‪TYPO3\CMS\Core\Resource\Event\BeforeFolderCopiedEvent
Definition: BeforeFolderCopiedEvent.php:27
‪TYPO3\CMS\Core\Configuration\Event\ModifyLoadedPageTsConfigEvent
Definition: ModifyLoadedPageTsConfigEvent.php:24
‪TYPO3\CMS\Core\Resource\Event\BeforeResourceStorageInitializationEvent
Definition: BeforeResourceStorageInitializationEvent.php:27
‪TYPO3\CMS\Core\SingletonInterface
Definition: SingletonInterface.php:23
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileCreate
‪const SIGNAL_PreFileCreate
Definition: ResourceStorageInterface.php:41
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
Definition: ActionController.php:55
‪TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent
Definition: PackagesMayHaveChangedEvent.php:24
‪TYPO3\CMS\Extbase\Event\Persistence\EntityPersistedEvent
Definition: EntityPersistedEvent.php:26
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFolderAdd
‪const SIGNAL_PreFolderAdd
Definition: ResourceStorageInterface.php:111
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\$objectManager
‪ObjectManagerInterface $objectManager
Definition: Dispatcher.php:129
‪TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent
Definition: AlterTableDefinitionStatementsEvent.php:24
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PreFileSetContents
‪const SIGNAL_PreFileSetContents
Definition: ResourceStorageInterface.php:101
‪TYPO3\CMS\Core\Resource\Service\FileProcessingService
Definition: FileProcessingService.php:38
‪TYPO3\CMS\Core\Resource\Event\SanitizeFileNameEvent
Definition: SanitizeFileNameEvent.php:29
‪TYPO3\CMS\Backend\Authentication\Event\SwitchUserEvent
Definition: SwitchUserEvent.php:24
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\connect
‪connect(string $signalClassName, string $signalName, $slotClassNameOrObject, string $slotMethodName='', bool $passSignalInformation=true)
Definition: Dispatcher.php:309
‪TYPO3\CMS\Core\Resource\Event\AfterFileMetaDataUpdatedEvent
Definition: AfterFileMetaDataUpdatedEvent.php:24
‪TYPO3\CMS\Core\Resource\Event\AfterFileMarkedAsMissingEvent
Definition: AfterFileMarkedAsMissingEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\BeforeFolderMovedEvent
Definition: BeforeFolderMovedEvent.php:28
‪TYPO3\CMS\Extbase\Event\Mvc\AfterRequestDispatchedEvent
Definition: AfterRequestDispatchedEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\AfterFileReplacedEvent
Definition: AfterFileReplacedEvent.php:28
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileSetContents
‪const SIGNAL_PostFileSetContents
Definition: ResourceStorageInterface.php:106
‪TYPO3\CMS\Core\Resource\Event\AfterFolderDeletedEvent
Definition: AfterFolderDeletedEvent.php:27
‪TYPO3\CMS\Core\Resource\Event\AfterFileDeletedEvent
Definition: AfterFileDeletedEvent.php:29
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileCopy
‪const SIGNAL_PostFileCopy
Definition: ResourceStorageInterface.php:56
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileRename
‪const SIGNAL_PostFileRename
Definition: ResourceStorageInterface.php:86
‪TYPO3\CMS\Core\Resource\Event\BeforeFileContentsSetEvent
Definition: BeforeFileContentsSetEvent.php:28
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher\$deprecatedSlots
‪string[][] $deprecatedSlots
Definition: Dispatcher.php:145
‪TYPO3\CMS\Core\Package\Event\BeforePackageActivationEvent
Definition: BeforePackageActivationEvent.php:24
‪TYPO3\CMS\Core\Database\SoftReferenceIndex
Definition: SoftReferenceIndex.php:80
‪TYPO3\CMS\Core\Resource\Event\AfterFileAddedEvent
Definition: AfterFileAddedEvent.php:30
‪TYPO3\CMS\Core\Resource\ResourceStorageInterface\SIGNAL_PostFileCreate
‪const SIGNAL_PostFileCreate
Definition: ResourceStorageInterface.php:46
‪TYPO3\CMS\Extbase\SignalSlot\Dispatcher
Definition: Dispatcher.php:126
‪TYPO3\CMS\Core\Resource\ResourceFactoryInterface
Definition: ResourceFactoryInterface.php:24