57 lines
1.7 KiB
ReStructuredText
57 lines
1.7 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-95089:
|
|
|
|
===========================================================
|
|
Feature: #95089 - New PSR-14 AfterFileCommandProcessedEvent
|
|
===========================================================
|
|
|
|
See :issue:`95089`
|
|
|
|
Description
|
|
===========
|
|
|
|
A new PSR-14 event :php:`\TYPO3\CMS\Core\Resource\Event\AfterFileCommandProcessedEvent`
|
|
has been added to TYPO3 Core. This event is fired in the
|
|
:php:`\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility`
|
|
class and allows extensions to execute additional tasks, after a file
|
|
operation has been performed.
|
|
|
|
The event features the following methods:
|
|
|
|
- :php:`getCommand()`: Returns the command array while the array key is the performed action and the value is the command data ("cmdArr")
|
|
- :php:`getResult()`: Returns the operation result, which could e.g. be an uploaded or changed :php:`File` or a :php:`boolean` for the "delete" action
|
|
- :php:`getConflictMode()`: The conflict mode for the performed operation, e.g. "rename" or "cancel"
|
|
|
|
Registration of the Event in your extensions' :file:`Services.yaml`:
|
|
|
|
.. code-block:: yaml
|
|
|
|
MyVendor\MyPackage\File\MyEventListener:
|
|
tags:
|
|
- name: event.listener
|
|
identifier: 'my-package/file/my-event-listener'
|
|
|
|
The corresponding event listener class:
|
|
|
|
.. code-block:: php
|
|
|
|
use TYPO3\CMS\Core\Resource\Event\AfterFileCommandProcessedEvent;
|
|
|
|
class MyEventListener {
|
|
|
|
public function __invoke(AfterFileCommandProcessedEvent $event): void
|
|
{
|
|
// do magic here
|
|
}
|
|
|
|
}
|
|
|
|
Impact
|
|
======
|
|
|
|
This event can be used to perform additional tasks for specific file commands.
|
|
For example, trigger a custom indexer after a file has been uploaded.
|
|
|
|
.. index:: PHP-API, ext:core
|