ModifyBlindedConfigurationOptionsEvent

New in version 12.2: The event serves as a direct replacement for the deprecated hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Lowlevel\Controller\ConfigurationController']['modifyBlindedConfigurationOptions'].

The PSR-14 event \TYPO3\CMS\Lowlevel\Event\ModifyBlindedConfigurationOptionsEvent is fired in the \TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\GlobalVariableProvider and the \TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\SitesYamlConfigurationProvider while building the configuration array to be displayed in the System > Configuration module. It allows to blind (hide) any configuration options. Usually such options are passwords or other sensitive information.

Using the getProviderIdentifier() method of the event, listeners are able to determine the context the event got dispatched in. This is useful to prevent duplicate code execution, since the event is dispatched for multiple providers. The method returns the identifier of the configuration provider as registered in the configuration module.

Example

EXT:my_extension/Classes/Lowlevel/EventListener/MyEventListener.php
<?php

declare(strict_types=1);

namespace MyVendor\MyExtension\Lowlevel\EventListener;

use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Lowlevel\Event\ModifyBlindedConfigurationOptionsEvent;

#[AsEventListener(
    identifier: 'my-extension/blind-configuration-options',
)]
final class MyEventListener
{
    public function __invoke(ModifyBlindedConfigurationOptionsEvent $event): void
    {
        $options = $event->getBlindedConfigurationOptions();

        if ($event->getProviderIdentifier() === 'sitesYamlConfiguration') {
            $options['my-site']['settings']['apiKey'] = '***';
        } elseif ($event->getProviderIdentifier() === 'confVars') {
            $options['TYPO3_CONF_VARS']['EXTENSIONS']['my_extension']['password'] = '***';
        }

        $event->setBlindedConfigurationOptions($options);
    }
}

New in version 13.0: The PHP attribute \TYPO3\CMS\Core\Attribute\AsEventListener has been introduced to tag a PHP class as an event listener. Alternatively, or if you need to be compatible with older TYPO3 versions, you can also register an event listener via the Configuration/Services.yaml file. Switch to an older version of this page for an example or have a look at the section Implementing an event listener in your extension.

API

class TYPO3\CMS\Lowlevel\Event\ModifyBlindedConfigurationOptionsEvent

Listeners to this Event will be able to modify the blinded configuration options, displayed in the configuration module of the TYPO3 backend.

setBlindedConfigurationOptions(array $blindedConfigurationOptions)

Allows to define configuration options to be blinded

Parameters
  • $blindedConfigurationOptions (array) -- the blindedConfigurationOptions

getBlindedConfigurationOptions()

Returns the blinded configuration options

Return type

array

getProviderIdentifier()

Returns the configuration provider identifier, dispatching the event

Return type

string