PSR-14 events
The file abstraction layer (FAL) comes with a series of PSR-14 events that offer the opportunity to hook into FAL processes at a variety of points.
They are listed below with some explanation, in particular when they are sent (if the name is not explicit enough) and what parameters the corresponding event will receive. They are grouped by emitting class.
Most events exist in pairs, one being sent before a given operation, the other one after.
Note
Unless communicated otherwise, mentions of the File
class below
actually refer to the \TYPO3\
interface.
Folder
objects actually refer to the
\TYPO3\
class.
Table of contents:
\TYPO3\CMS\Core\Resource\DefaultUploadFolderResolver
- AfterDefaultUploadFolderWasResolvedEvent
New in version 12.3
Allows to modify the default upload folder after it has been resolved for the current page or user.
\TYPO3\CMS\Core\Resource\OnlineMedia\Processing\PreviewProcessing
- AfterVideoPreviewFetchedEvent
New in version 12.2
Modifies the preview file of online media previews (like YouTube and Vimeo).
\TYPO3\CMS\Core\Resource\ResourceStorage
- SanitizeFileNameEvent
- The sanitize file name operation aims to remove characters from filenames which are not allowed by the underlying driver. The event receives the filename and the target folder.
- BeforeFileAddedEvent
- Receives the target file name, the target folder (as a
Folder
instance) and the local file path. - AfterFileAddedEvent
- Receives the
File
instance corresponding to the newly stored file and the target folder (as aFolder
instance). - BeforeFileCreatedEvent
- Receives the file name to be created and
the target folder (as a
Folder
instance). - AfterFileCreatedEvent
- Receives the name of the newly created file and
the target folder (as a
Folder
instance). - BeforeFileCopiedEvent
- Receives a
File
instance for the file to be copied and the target folder (as aFolder
instance). - AfterFileCopiedEvent
- Receives a
File
instance for the file that was copied (i.e. the original file) and the target folder (as aFolder
instance). - BeforeFileMovedEvent
- Receives a
File
instance for the file to be moved and the target folder (as aFolder
instance). - AfterFileMovedEvent
- Receives a
File
instance for the file that was moved, the target folder and the original folder the file was in (both asFolder
instances). - BeforeFileDeletedEvent
- Receives a
File
instance for the file to be deleted. - AfterFileDeletedEvent
- Receives a
File
instance for the file that was deleted. - BeforeFileRenamedEvent
- Receives a
File
instance for the file to be renamed and the sanitized new name. - AfterFileRenamedEvent
- Receives a
File
instance for the file that was renamed and the sanitized new name. - BeforeFileReplacedEvent
- Receives a
File
instance for the file to be replaced and the path to the local file that will replace it. - AfterFileReplacedEvent
- Receives a
File
instance for the file that was replaced and the path to the local file that has replaced it. - BeforeFileContentsSetEvent
- Receives a
File
instance for the file whose content will be changed and the content itself (as a string). - AfterFileContentsSetEvent
- Receives a
File
instance for the file whose content was changed and the content itself (as a string). - BeforeFolderAddedEvent
- Receives the name of the new folder and a reference to the
parent folder, if any (as a
Folder
instance). - AfterFolderAddedEvent
- Receives the newly created folder (as a
Folder
instance). - BeforeFolderCopiedEvent
- Receives references to the folder to copy and the parent target folder
(both as
\TYPO3\
instances) and the sanitized name for the copy.CMS\ Core\ Resource\ Folder Interface - AfterFolderCopiedEvent
- Receives references to the original folder and the parent target folder
(both as
\TYPO3\
instances) and the identifier of the newly copied folder.CMS\ Core\ Resource\ Folder Interface - BeforeFolderMovedEvent
- Receives references to the folder to move and the parent target folder
(both as
Folder
instances) and the sanitized target name. - AfterFolderMovedEvent
- Receives references to the folder to move and the parent target folder
(both as
Folder
instances), the identifier of the moved folder and a reference to the original parent folder (as aFolder
instance). - BeforeFolderDeletedEvent
- Receives a reference to the folder to delete (as a
Folder
instance). - AfterFolderDeletedEvent
- Receives a reference to the deleted folder (as a
Folder
instance). - BeforeFolderRenamedEvent
- Receives a reference to the folder to be renamed (as a
Folder
instance) and the sanitized new name. - AfterFolderRenamedEvent
- Receives a reference to the renamed folder (as a
Folder
instance) and the new identifier of the renamed folder. - GeneratePublicUrlForResourceEvent
-
This event makes it possible to influence the construction of the public URL of a resource. If the event defines the URL, it is kept as is and the rest of the URL generation process is ignored.
It receives a reference to the instance for which the URL should be generated (as a
\TYPO3\
instance), a boolean flag indicating whether the URL should be relative to the current script or absolute and a reference to the public URL (which is null at this point, but can be then modified by the event).CMS\ Core\ Resource\ Resource Interface
\TYPO3\CMS\Core\Resource\StorageRepository
- BeforeResourceStorageInitializationEvent
- This event is dispatched by the method
\TYPO3\
before a storage object has been fetched. The event receives a reference to the storage.CMS\ Core\ Resource\ Storage Repository:: get Storage Object () - AfterResourceStorageInitializationEvent
- This event is dispatched by the method
\TYPO3\
after a storage object has been fetched. The event receives a reference to the storage.CMS\ Core\ Resource\ Storage Repository:: get Storage Object ()
\TYPO3\CMS\Core\Resource\Index\FileIndexRepository
- AfterFileAddedToIndexEvent
- Receives an array containing the information collected about the file whose index (i.e. sys_file table entry) was just created.
- AfterFileUpdatedInIndexEvent
- Receives an array containing the information collected about the file whose index (i.e. sys_file table entry) was just updated.
- AfterFileRemovedFromIndexEvent
- Receives the uid of the file (i.e. sys_file table entry) which was deleted.
- AfterFileMarkedAsMissingEvent
- Receives the uid of the file (i.e. sys_file table entry) which was marked as missing.
\TYPO3\CMS\Core\Resource\Index\MetaDataRepository
- EnrichFileMetaDataEvent
- This event is dispatched after metadata has been retrieved for a given
file. The event receives the metadata as an
\Array
instance.Object - AfterFileMetaDataCreatedEvent
- Receives an array containing the metadata collected about the file just after it has been inserted into the sys_file_metadata table.
- AfterFileMetaDataUpdatedEvent
- This event is dispatched after metadata for a given file has been updated. The event receives the metadata as an array containing all metadata fields (and not just the updated ones).
- AfterFileMetaDataDeletedEvent
- Receives the uid of the file whose metadata has just been deleted.
\TYPO3\CMS\Core\Resource\Service\FileProcessingService
- BeforeFileProcessingEvent
- This event is dispatched before a file is processed. The event receives
a reference to the processed file and to the original file (both as
File
instances), a string defining the type of task being executed and an array containing the configuration for that task. - AfterFileProcessingEvent
- This event is dispatched after a file has been processed. The event receives
a reference to the processed file and to the original file (both as
File
instances), a string defining the type of task being executed and an array containing the configuration for that task.
See the section about services for more information about this class.
\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility
- AfterFileCommandProcessedEvent
New in version 11.4
The event can be used to perform additional tasks for specific file commands. For example, trigger a custom indexer after a file has been uploaded.