2022-11-23 10:59:55 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace Wrm\Events;
|
|
|
|
|
|
|
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
|
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
2023-08-09 12:12:17 +02:00
|
|
|
use TYPO3\CMS\Core\Utility\VersionNumberUtility;
|
2022-11-23 10:59:55 +01:00
|
|
|
use Wrm\Events\Service\DestinationDataImportService\Slugger\Registry;
|
|
|
|
use Wrm\Events\Service\DestinationDataImportService\Slugger\SluggerType;
|
2023-08-09 12:12:17 +02:00
|
|
|
use Wrm\Events\Updates\UserAuthentication\User;
|
|
|
|
use Wrm\Events\Updates\UserAuthentication\UserV10;
|
2022-11-23 10:59:55 +01:00
|
|
|
|
|
|
|
return static function (ContainerConfigurator $container, ContainerBuilder $containerBuilder) {
|
|
|
|
$containerBuilder->registerForAutoconfiguration(SluggerType::class)->addTag('tx_events.slugger_type');
|
|
|
|
$containerBuilder->addCompilerPass(new class() implements CompilerPassInterface {
|
|
|
|
public function process(ContainerBuilder $container): void
|
|
|
|
{
|
|
|
|
$registry = $container->getDefinition(Registry::class);
|
|
|
|
foreach (array_keys($container->findTaggedServiceIds('tx_events.slugger_type')) as $serviceId) {
|
|
|
|
$registry->addMethodCall('add', [$container->getDefinition($serviceId)]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2023-08-09 12:12:17 +02:00
|
|
|
|
|
|
|
if (version_compare(VersionNumberUtility::getNumericTypo3Version(), '11.0', '<')) {
|
|
|
|
$container->services()->set(User::class, UserV10::class);
|
|
|
|
}
|
2022-11-23 10:59:55 +01:00
|
|
|
};
|