diff --git a/typo3/sysext/form/Configuration/Services.php b/typo3/sysext/form/Configuration/Services.php index 5c1076900d1f..3911364495da 100644 --- a/typo3/sysext/form/Configuration/Services.php +++ b/typo3/sysext/form/Configuration/Services.php @@ -7,9 +7,24 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use TYPO3\CMS\Core\DependencyInjection\PublicServicePass; +use TYPO3\CMS\Form\ConfigurationModuleProvider\FormYamlProvider; use TYPO3\CMS\Form\Domain\Finishers\FinisherInterface; +use TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\ProviderRegistry; return static function (ContainerConfigurator $container, ContainerBuilder $containerBuilder) { $containerBuilder->registerForAutoconfiguration(FinisherInterface::class)->addTag('form.finisher'); $containerBuilder->addCompilerPass(new PublicServicePass('form.finisher', true)); + + if ($containerBuilder->hasDefinition(ProviderRegistry::class)) { + $container->services()->defaults()->autowire()->autoconfigure()->public() + ->set('lowlevel.configuration.module.provider.formyamlconfiguration') + ->class(FormYamlProvider::class) + ->tag( + 'lowlevel.configuration.module.provider', + [ + 'identifier' => 'formYamlConfiguration', + 'after' => 'eventListeners', + ] + ); + } }; diff --git a/typo3/sysext/form/Configuration/Services.yaml b/typo3/sysext/form/Configuration/Services.yaml index cc946687fc0b..fa400a2d2073 100644 --- a/typo3/sysext/form/Configuration/Services.yaml +++ b/typo3/sysext/form/Configuration/Services.yaml @@ -84,13 +84,6 @@ services: identifier: 'form-framework/modify-data-structure' method: 'modifyDataStructure' - lowlevel.configuration.module.provider.formyamlconfiguration: - class: 'TYPO3\CMS\Form\ConfigurationModuleProvider\FormYamlProvider' - tags: - - name: 'lowlevel.configuration.module.provider' - identifier: 'formYamlConfiguration' - after: 'eventListeners' - TYPO3\CMS\Form\SoftReference\FormPersistenceIdentifierSoftReferenceParser: tags: - name: softreference.parser diff --git a/typo3/sysext/form/composer.json b/typo3/sysext/form/composer.json index 326704435a4d..bc37776788f3 100644 --- a/typo3/sysext/form/composer.json +++ b/typo3/sysext/form/composer.json @@ -25,7 +25,8 @@ }, "suggest": { "typo3/cms-filelist": "Listing of files in the directory", - "typo3/cms-impexp": "Import and Export of records from TYPO3 in a custom serialized format (.T3D) for data exchange with other TYPO3 systems." + "typo3/cms-impexp": "Import and Export of records from TYPO3 in a custom serialized format (.T3D) for data exchange with other TYPO3 systems.", + "typo3/cms-lowlevel": "To display the YAML configuration in the configuration module" }, "conflict": { "typo3/cms": "*" diff --git a/typo3/sysext/reactions/Configuration/Services.php b/typo3/sysext/reactions/Configuration/Services.php index 8abcb2df6952..a566e306b96e 100644 --- a/typo3/sysext/reactions/Configuration/Services.php +++ b/typo3/sysext/reactions/Configuration/Services.php @@ -6,6 +6,8 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; +use TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\ProviderRegistry; +use TYPO3\CMS\Reactions\ConfigurationModuleProvider\ReactionsProvider; use TYPO3\CMS\Reactions\Reaction\ReactionInterface; return static function (ContainerConfigurator $container, ContainerBuilder $containerBuilder) { @@ -14,4 +16,18 @@ ->setPublic(true) ->setLazy(true) ->addTag('reactions.reaction'); + + if ($containerBuilder->hasDefinition(ProviderRegistry::class)) { + $container->services()->defaults()->autowire()->autoconfigure()->public() + ->set('lowlevel.configuration.module.provider.reactions') + ->class(ReactionsProvider::class) + ->tag( + 'lowlevel.configuration.module.provider', + [ + 'identifier' => 'reactions', + 'label' => 'LLL:EXT:reactions/Resources/Private/Language/locallang_db.xlf:reactions', + 'after' => 'mfaproviders', + ] + ); + } }; diff --git a/typo3/sysext/reactions/Configuration/Services.yaml b/typo3/sysext/reactions/Configuration/Services.yaml index 18d39c97a002..5ebf50d85a0b 100644 --- a/typo3/sysext/reactions/Configuration/Services.yaml +++ b/typo3/sysext/reactions/Configuration/Services.yaml @@ -13,11 +13,3 @@ services: TYPO3\CMS\Reactions\Form\ReactionItemsProcFunc: public: true - - lowlevel.configuration.module.provider.reactions: - class: 'TYPO3\CMS\Reactions\ConfigurationModuleProvider\ReactionsProvider' - tags: - - name: 'lowlevel.configuration.module.provider' - identifier: 'reactions' - label: 'LLL:EXT:reactions/Resources/Private/Language/locallang_db.xlf:reactions' - after: 'mfaproviders' diff --git a/typo3/sysext/webhooks/Configuration/Services.php b/typo3/sysext/webhooks/Configuration/Services.php index d8af5e7c695a..246f05d05933 100644 --- a/typo3/sysext/webhooks/Configuration/Services.php +++ b/typo3/sysext/webhooks/Configuration/Services.php @@ -4,10 +4,14 @@ namespace TYPO3\CMS\Webhooks; +use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; +use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; use Symfony\Component\DependencyInjection\ChildDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use TYPO3\CMS\Core\Attribute\WebhookMessage; +use TYPO3\CMS\Lowlevel\ConfigurationModuleProvider\ProviderRegistry; +use TYPO3\CMS\Webhooks\ConfigurationModuleProvider\WebhookTypesProvider; return static function (ContainerConfigurator $container, ContainerBuilder $containerBuilder) { $containerBuilder->registerAttributeForAutoconfiguration( @@ -17,4 +21,19 @@ static function (ChildDefinition $definition, WebhookMessage $attribute): void { } ); $containerBuilder->addCompilerPass(new DependencyInjection\WebhookCompilerPass(WebhookMessage::TAG_NAME)); + + if ($containerBuilder->hasDefinition(ProviderRegistry::class)) { + $container->services()->defaults()->autowire()->autoconfigure()->public() + ->set('lowlevel.configuration.module.provider.webhooks') + ->class(WebhookTypesProvider::class) + ->arg('$sendersLocator', new ServiceLocatorArgument(new TaggedIteratorArgument('messenger.sender', 'identifier'))) + ->tag( + 'lowlevel.configuration.module.provider', + [ + 'identifier' => 'webhooks', + 'label' => 'LLL:EXT:webhooks/Resources/Private/Language/locallang_db.xlf:webhooks', + 'after' => 'reactions', + ] + ); + } }; diff --git a/typo3/sysext/webhooks/Configuration/Services.yaml b/typo3/sysext/webhooks/Configuration/Services.yaml index eb5ce35fc0c7..cbc1b07a15fe 100644 --- a/typo3/sysext/webhooks/Configuration/Services.yaml +++ b/typo3/sysext/webhooks/Configuration/Services.yaml @@ -28,13 +28,3 @@ services: TYPO3\CMS\Webhooks\Tca\ItemsProcFunc\WebhookTypesItemsProcFunc: public: true - - lowlevel.configuration.module.provider.webhooks: - class: 'TYPO3\CMS\Webhooks\ConfigurationModuleProvider\WebhookTypesProvider' - arguments: - $sendersLocator: !tagged_locator { tag: 'messenger.sender', index_by: 'identifier' } - tags: - - name: 'lowlevel.configuration.module.provider' - identifier: 'webhooks' - label: 'LLL:EXT:webhooks/Resources/Private/Language/locallang_db.xlf:webhooks' - after: 'reactions'