sterntours/trunk/_vendor/stof/doctrine-extensions-bundle/DependencyInjection/Compiler/SecurityContextPass.php
Kevin Adametz 33458b2ca3 Update
2020-03-07 19:46:02 +01:00

32 lines
1.1 KiB
PHP

<?php
namespace Stof\DoctrineExtensionsBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
class SecurityContextPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
if ($container->has('security.token_storage')) {
$args = array(new Reference('security.token_storage'), new Reference('security.authorization_checker'));
} elseif ($container->has('security.context')) {
$args = array(new Reference('security.context'));
} else {
return; // SecurityBundle is not configured
}
$defs = array(
$container->findDefinition('stof_doctrine_extensions.event_listener.blame'),
$container->findDefinition('stof_doctrine_extensions.event_listener.logger'),
);
foreach ($defs as $def) {
foreach ($args as $argument) {
$def->addArgument($argument);
}
}
}
}