<?php
namespace DW\GingerBundle\DependencyInjection\Compiler;
use DW\GingerBundle\Form\Type\ExtendedSearchType;
use DW\GingerBundle\Form\Type\SimpleSearchType;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class AddTwigGlobalsPass implements CompilerPassInterface
{
/**
* {@inheritdoc}
*/
public function process(ContainerBuilder $container)
{
if (!$container->has('twig')) {
return;
}
$personClass = $container->getParameter('dw_ginger.model.person.class');
$definition = $container->findDefinition('twig');
// Add globals for search-session-keys
$sessionKeysSearch = [
'session_key_simple_search' => sprintf('%s_%s', $personClass, SimpleSearchType::SESSION_KEY),
'session_key_extended_search' => sprintf('%s_%s', $personClass, ExtendedSearchType::SESSION_KEY),
];
foreach ($sessionKeysSearch as $key => $value) {
$definition
->addMethodCall('addGlobal', [$key, $value])
;
}
}
}