replaceArgument() public method

If you directly call setArguments() keep in mind that you must follow certain conventions when you want to overwrite the arguments of the parent definition, otherwise your arguments will only be appended.
public replaceArgument ( integer $index, mixed $value ) : DefinitionDecorator
$index integer
$value mixed
return DefinitionDecorator the current instance
 private function createConverter($name, array $config, ContainerBuilder $container)
 {
     $environment = new DefinitionDecorator($config['environment']);
     $environment->setPublic(false);
     $environment->setClass($container->getDefinition($config['environment'])->getClass());
     $environment->addMethodCall('mergeConfig', [$config['config']]);
     $environment->addTag('webuni_commonmark.environment.extensions', $config['extensions']);
     // $environment->addTag('webuni_commonmark.environment', ['parent' => $config['environment'], 'extensions' => [$config['extensions']]);
     $environmentName = 'webuni_commonmark.' . $name . '_environment' . $config['environment'];
     $container->setDefinition($environmentName, $environment);
     $parser = new DefinitionDecorator($config['parser']);
     $parser->setPublic(false);
     $parser->setClass($container->getDefinition($config['parser'])->getClass());
     $parser->replaceArgument(0, new Reference($environmentName));
     $renderer = new DefinitionDecorator($config['renderer']);
     $renderer->setPublic(false);
     $renderer->setClass($container->getDefinition($config['renderer'])->getClass());
     $renderer->replaceArgument(0, new Reference($environmentName));
     $converter = new DefinitionDecorator($config['converter']);
     $converter->setPublic(true);
     $converter->setClass($container->getDefinition($config['converter'])->getClass());
     $converter->replaceArgument(0, $parser);
     $converter->replaceArgument(1, $renderer);
     $converterName = 'webuni_commonmark.' . $name . '_converter';
     $container->setDefinition($converterName, $converter);
     return $converterName;
 }
    /**
     * {@inheritDoc}
     */
    public function create(ContainerBuilder $container, $resolverName, array $config)
    {
        $awsS3ClientId = 'liip_imagine.cache.resolver.'.$resolverName.'.client';
        $awsS3ClientDefinition = new Definition('Aws\S3\S3Client');
        if (method_exists($awsS3ClientDefinition, 'setFactory')) {
            $awsS3ClientDefinition->setFactory(array('Aws\S3\S3Client', 'factory'));
        } else {
            // to be removed when dependency on Symfony DependencyInjection is bumped to 2.6
            $awsS3ClientDefinition->setFactoryClass('Aws\S3\S3Client');
            $awsS3ClientDefinition->setFactoryMethod('factory');
        }
        $awsS3ClientDefinition->addArgument($config['client_config']);
        $container->setDefinition($awsS3ClientId, $awsS3ClientDefinition);

        $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.aws_s3');
        $resolverDefinition->replaceArgument(0, new Reference($awsS3ClientId));
        $resolverDefinition->replaceArgument(1, $config['bucket']);
        $resolverDefinition->replaceArgument(2, $config['acl']);
        $resolverDefinition->replaceArgument(3, array_replace($config['url_options'], $config['get_options']));
        $resolverDefinition->replaceArgument(4, $config['put_options']);
        $resolverId = 'liip_imagine.cache.resolver.'.$resolverName;
        $container->setDefinition($resolverId, $resolverDefinition);

        if (isset($config['cache_prefix'])) {
            $resolverDefinition->addMethodCall('setCachePrefix', array($config['cache_prefix']));
        }

        if ($config['proxies']) {
            $proxiedResolverId = 'liip_imagine.cache.resolver.'.$resolverName.'.proxied';

            $container->setDefinition($proxiedResolverId, $resolverDefinition);

            $proxyResolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.proxy');
            $proxyResolverDefinition->replaceArgument(0, new Reference($proxiedResolverId));
            $proxyResolverDefinition->replaceArgument(1, $config['proxies']);

            $container->setDefinition($resolverId, $proxyResolverDefinition);
        }

        if ($config['cache']) {
            $cachedResolverId = 'liip_imagine.cache.resolver.'.$resolverName.'.cached';

            $container->setDefinition($cachedResolverId, $container->getDefinition($resolverId));

            $cacheResolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.cache');
            $cacheResolverDefinition->replaceArgument(0, new Reference($config['cache']));
            $cacheResolverDefinition->replaceArgument(1, new Reference($cachedResolverId));

            $container->setDefinition($resolverId, $cacheResolverDefinition);
        }

        $container->getDefinition($resolverId)->addTag('liip_imagine.cache.resolver', array(
            'resolver' => $resolverName,
        ));

        return $resolverId;
    }
 /**
  * {@inheritDoc}
  */
 protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config)
 {
     $publishableKey = new DefinitionDecorator('payum.stripe.keys.prototype');
     $publishableKey->replaceArgument(0, $config['publishable_key']);
     $publishableKey->replaceArgument(1, $config['secret_key']);
     $publishableKey->setPublic(true);
     $publishableKeyId = 'payum.context.' . $contextName . '.keys';
     $container->setDefinition($publishableKeyId, $publishableKey);
     $paymentDefinition->addMethodCall('addApi', array(new Reference($publishableKeyId)));
 }
Esempio n. 4
0
 protected function createListener(ContainerBuilder $container, $id, $config, $userProvider)
 {
     $listenerId = 'security.authentication.listener.form';
     $listener = new DefinitionDecorator($listenerId);
     $listener->replaceArgument(4, $id);
     $listener->replaceArgument(5, $config);
     $listenerId .= '.' . $id;
     $container->setDefinition($listenerId, $listener);
     return $listenerId;
 }
 /**
  * {@inheritDoc}
  */
 public function create(ContainerBuilder $container, $loaderName, array $config)
 {
     $loaderDefinition = new DefinitionDecorator('liip_imagine.binary.loader.prototype.stream');
     $loaderDefinition->replaceArgument(0, $config['wrapper']);
     $loaderDefinition->replaceArgument(1, $config['context']);
     $loaderDefinition->addTag('liip_imagine.binary.loader', array('loader' => $loaderName));
     $loaderId = 'liip_imagine.binary.loader.' . $loaderName;
     $container->setDefinition($loaderId, $loaderDefinition);
     return $loaderId;
 }
Esempio n. 6
0
 /**
  * {@inheritdoc}
  */
 public function create(ContainerBuilder $container, $resolverName, array $config)
 {
     $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.web_path');
     $resolverDefinition->replaceArgument(2, $config['web_root']);
     $resolverDefinition->replaceArgument(3, $config['cache_prefix']);
     $resolverDefinition->addTag('liip_imagine.cache.resolver', array('resolver' => $resolverName));
     $resolverId = 'liip_imagine.cache.resolver.' . $resolverName;
     $container->setDefinition($resolverId, $resolverDefinition);
     return $resolverId;
 }
 /**
  * {@inheritDoc}
  */
 protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config)
 {
     $apiDefinition = new DefinitionDecorator('payum.authorize_net_aim.api.prototype');
     $apiDefinition->replaceArgument(0, $config['login_id']);
     $apiDefinition->replaceArgument(1, $config['transaction_key']);
     $apiDefinition->addMethodCall('setSandbox', array($config['sandbox']));
     $apiId = 'payum.context.' . $contextName . '.api';
     $container->setDefinition($apiId, $apiDefinition);
     $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId)));
 }
 /**
  * {@inheritdoc}
  */
 protected function createStorage(ContainerBuilder $container, $modelClass, array $config)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../../../Resources/config/storage'));
     $loader->load('filesystem.xml');
     $storage = new DefinitionDecorator('payum.storage.filesystem.prototype');
     $storage->setPublic(true);
     $storage->replaceArgument(0, $config['storage_dir']);
     $storage->replaceArgument(1, $modelClass);
     $storage->replaceArgument(2, $config['id_property']);
     return $storage;
 }
 /**
  * {@inheritdoc}
  */
 public function create(ContainerBuilder $container, $resolverName, array $config)
 {
     $resolverDefinition = new DefinitionDecorator('liip_imagine.cache.resolver.prototype.flysystem');
     $resolverDefinition->replaceArgument(0, new Reference($config['filesystem_service']));
     $resolverDefinition->replaceArgument(2, $config['root_url']);
     $resolverDefinition->replaceArgument(3, $config['cache_prefix']);
     $resolverDefinition->addTag('liip_imagine.cache.resolver', array('resolver' => $resolverName));
     $resolverId = 'liip_imagine.cache.resolver.' . $resolverName;
     $container->setDefinition($resolverId, $resolverDefinition);
     return $resolverId;
 }
Esempio n. 10
0
 protected function createListener($container, $id, $config, $userProvider)
 {
     $listenerId = $this->getListenerId();
     $listener = new DefinitionDecorator($listenerId);
     $listener->replaceArgument(4, $id);
     $listener->replaceArgument(5, new Reference($this->createAuthenticationSuccessHandler($container, $id, $config)));
     $listener->replaceArgument(6, new Reference($this->createAuthenticationFailureHandler($container, $id, $config)));
     $listener->replaceArgument(8, array_intersect_key($config, $this->options));
     $listenerId .= '.' . $id;
     $container->setDefinition($listenerId, $listener);
     return $listenerId;
 }
 protected function createListener($container, $id, $config, $userProvider, $entryPoint)
 {
     $listenerId = 'security.authentication.listener.shibboleth';
     $listener = new DefinitionDecorator($listenerId);
     $listener->replaceArgument(3, $id);
     if ($entryPoint) {
         $listener->replaceArgument(4, new Reference($entryPoint));
     }
     $listenerId .= '.' . $id;
     $container->setDefinition($listenerId, $listener);
     return $listenerId;
 }
Esempio n. 12
0
 /**
  * @inheritdoc
  */
 public function process(ContainerBuilder $container)
 {
     $definitions = array();
     $servicesIds = $container->findTaggedServiceIds('pmd_state_machine.token_configurable');
     foreach ($servicesIds as $serviceId => $tag) {
         $group = isset($tag[0]['group']) ? $tag[0]['group'] : null;
         $type = isset($tag[0]['type']) ? $tag[0]['type'] : null;
         if (!isset($group) || !isset($type)) {
             throw new \InvalidArgumentException(sprintf('Services tagged %s must have group and type defined', 'pmd_state_machine.token_configurable'));
         }
         $serviceDefinition = $container->getDefinition($serviceId);
         $optionsId = sprintf('pmd_state_machine.behavior.%s_%s_options', $group, $type);
         $optionsReference = new Reference($optionsId, ContainerInterface::NULL_ON_INVALID_REFERENCE);
         // Configure options resolver
         $resolverId = sprintf('pmd_state_machine.behavior.%s_%s_resolver', $group, $type);
         $resolverReference = new Reference($resolverId);
         $resolverDefinition = new DefinitionDecorator('pmd_state_machine.behavior_resolver.token_options_resolver');
         $resolverDefinition->replaceArgument(0, $optionsReference);
         // Configure configurable decorator
         $configId = sprintf('pmd_state_machine.behavior.%s_%s_configurator', $group, $type);
         $configDefinition = new DefinitionDecorator('pmd_state_machine.behavior.token_configurable_configurator');
         $configDefinition->replaceArgument(0, $resolverReference);
         $serviceDefinition->setConfigurator(array(new Reference($configId, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'configure'));
         $definitions[$resolverId] = $resolverDefinition;
         $definitions[$configId] = $configDefinition;
     }
     $container->addDefinitions($definitions);
 }
 /**
  * @param ContainerBuilder $container
  *
  * @throws \InvalidArgumentException
  */
 public function process(ContainerBuilder $container)
 {
     $config = $container->getExtensionConfig('elastica')[0];
     $jsonLdFrameLoader = $container->get('nemrod.elastica.jsonld.frame.loader.filesystem');
     $confManager = $container->getDefinition('nemrod.elastica.config_manager');
     $filiationBuilder = $container->get('nemrod.filiation.builder');
     $jsonLdFrameLoader->setFiliationBuilder($filiationBuilder);
     foreach ($config['indexes'] as $name => $index) {
         $indexName = isset($index['index_name']) ? $index['index_name'] : $name;
         foreach ($index['types'] as $typeName => $settings) {
             $jsonLdFrameLoader->setEsIndex($name);
             $frame = $jsonLdFrameLoader->load($settings['frame'], null, true, true, true);
             $type = !empty($frame['@type']) ? $frame['@type'] : $settings['type'];
             if (empty($type)) {
                 throw \Exception("You must provide a RDF Type.");
             }
             //type
             $typeId = 'nemrod.elastica.type.' . $name . '.' . $typeName;
             $indexId = 'nemrod.elastica.index.' . $name;
             $typeDef = new DefinitionDecorator('nemrod.elastica.type.abstract');
             $typeDef->replaceArgument(0, $type);
             $typeDef->setFactory(array(new Reference($indexId), 'getType'));
             $typeDef->addTag('nemrod.elastica.type', array('index' => $name, 'name' => $typeName, 'type' => $type));
             $container->setDefinition($typeId, $typeDef);
             //registering config to configManager
             $confManager->addMethodCall('setTypeConfigurationArray', array($name, $typeName, $type, $frame));
         }
     }
 }
 /**
  * {@inheritDoc}
  */
 public function process(ContainerBuilder $container)
 {
     foreach ($container->findTaggedServiceIds('payum.storage_extension') as $id => $tagAttributes) {
         foreach ($tagAttributes as $attributes) {
             $paymentIds = array();
             if (isset($attributes['all']) && $attributes['all']) {
                 $paymentIds = array_merge($paymentIds, $this->findAllPaymentIds($container));
             }
             if (isset($attributes['factory']) && $attributes['factory']) {
                 $paymentIds = array_merge($paymentIds, $this->findPaymentIdsByFactory($container, $attributes['factory']));
             }
             if (isset($attributes['context']) && $attributes['context']) {
                 $paymentIds = array_merge($paymentIds, $this->findPaymentIdsByContext($container, $attributes['context']));
             }
             $paymentIds = array_filter(array_unique($paymentIds));
             foreach ($paymentIds as $paymentId) {
                 $storageExtension = new DefinitionDecorator('payum.extension.storage.prototype');
                 $storageExtension->replaceArgument(0, new Reference($id));
                 $storageExtension->setPublic(false);
                 if (false !== strpos($id, '.storage.')) {
                     $storageExtensionId = str_replace('.storage.', '.extension.storage.', $id);
                 } else {
                     throw new LogicException(sprintf('In order to add storage to extension the storage %id has to contains ".storage." inside.', $id));
                 }
                 $container->setDefinition($storageExtensionId, $storageExtension);
                 $payment = $container->getDefinition($paymentId);
                 $payment->addMethodCall('addExtension', array(new Reference($storageExtensionId), isset($attributes['prepend']) && $attributes['prepend']));
             }
         }
     }
 }
 /**
  * @inheritdoc
  */
 public function process(ContainerBuilder $container)
 {
     if (!$container->hasDefinition('qimnet.crud.configuration.repository')) {
         return;
     }
     $repository = $container->getDefinition('qimnet.crud.configuration.repository');
     $defaults = $container->getParameter('qimnet.crud.defaults');
     foreach ($container->getParameter('qimnet.crud.services') as $name => $configuration) {
         $options = $configuration['options'] + array('name' => $name) + $defaults['options'];
         $configuration = $configuration + $defaults;
         $serviceId = 'qimnet.crud.configuration.' . strtolower($name);
         $definition = new DefinitionDecorator('qimnet.crud.configuration');
         foreach (array('object_manager_factory', 'security_context_factory', 'path_generator_factory') as $index => $key) {
             if ($configuration[$key]) {
                 $definition->replaceArgument($index, new Reference($configuration[$key]));
             }
         }
         $definition->addArgument($options);
         if ($configuration['class']) {
             $definition->setClass($configuration['class']);
         }
         $definition->addTag('qimnet.crud.configuration', array('alias' => $name, 'object_class' => $options['object_class'], 'worker' => $configuration['worker'], 'redirection_manager' => $configuration['redirection_manager']));
         $container->setDefinition($serviceId, $definition);
     }
     $taggedServices = $container->findTaggedServiceIds('qimnet.crud.configuration');
     foreach ($taggedServices as $id => $attributes) {
         $repository->addMethodCall('add', array($attributes[0]['alias'], $attributes[0]['object_class'], $id, $attributes[0]['worker'], $attributes[0]['redirection_manager']));
     }
 }
Esempio n. 16
0
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     if (array_key_exists('servers', $config)) {
         foreach ($config['servers'] as $id => $server) {
             $container->setParameter('json_rpc.serializer.class', $server['serializer']);
             $container->setParameter('json_rpc.reflection.class', $server['reflection']);
             $definition = new DefinitionDecorator('json_rpc.server');
             $definition->addTag('json_rpc.servers', array('resource' => $id));
             foreach ($server['services'] as $service) {
                 $definition->addMethodCall('addService', array($service['namespace'], $service['class']));
             }
             $container->setDefinition(sprintf('json_rpc.server.%s', $id), $definition);
             $definition = new DefinitionDecorator('json_rpc.transport.internal');
             $definition->addTag('json_rpc.transports');
             $definition->replaceArgument(0, new Reference(sprintf('json_rpc.server.%s', $id)));
             $container->setDefinition(sprintf('json_rpc.transport.internal.%s', $id), $definition);
             $definition = new DefinitionDecorator('json_rpc.client.internal');
             $definition->addTag('json_rpc.clients.internal');
             $definition->replaceArgument(0, new Reference(sprintf('json_rpc.transport.internal.%s', $id)));
             $container->setDefinition(sprintf('json_rpc.client.internal.%s', $id), $definition);
         }
     }
 }
 /**
  * @expectedException \OutOfBoundsException
  */
 public function testGetArgumentShouldCheckBounds()
 {
     $def = new DefinitionDecorator('foo');
     $def->setArguments(array(0 => 'foo'));
     $def->replaceArgument(0, 'foo');
     $def->getArgument(1);
 }
 /**
  * Returns a definition for an asset package.
  *
  * @param ContainerBuilder $container   Container
  * @param array            $httpUrls    SSL assets_base_urls
  * @param array            $sslUrls     assets_base_urls
  * @param string           $rootDir     Directory where to look for reved assets
  * @param string           $summaryFile Grunt filerev summary file
  * @param string           $cacheDir    Kernel cache dir
  * @param bool             $debug       Debug mode?
  * @param string           $name        Package name
  *
  * @return DefinitionDecorator
  */
 private function createPackageDefinition(ContainerBuilder $container, array $httpUrls, array $sslUrls, $rootDir, $summaryFile, $cacheDir, $debug, $name = null)
 {
     if (!$httpUrls) {
         $package = new DefinitionDecorator('grunt.filerev.templating.asset.path_package');
         $package->setPublic(false)->setScope('request')->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug);
         return $package;
     }
     if ($httpUrls == $sslUrls) {
         $package = new DefinitionDecorator('grunt.filerev.templating.asset.url_package');
         $package->setPublic(false)->replaceArgument(0, $sslUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug);
         return $package;
     }
     $prefix = $name ? 'templating.asset.package.' . $name : 'templating.asset.default_package';
     $httpPackage = new DefinitionDecorator('grunt.filerev.templating.asset.url_package');
     $httpPackage->replaceArgument(0, $httpUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug);
     $container->setDefinition($prefix . '.http', $httpPackage);
     if ($sslUrls) {
         $sslPackage = new DefinitionDecorator('grunt.filerev.templating.asset.url_package');
         $sslPackage->replaceArgument(0, $sslUrls)->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug);
     } else {
         $sslPackage = new DefinitionDecorator('grunt.filerev.templating.asset.path_package');
         $sslPackage->setScope('request')->replaceArgument(1, $rootDir)->replaceArgument(2, $summaryFile)->replaceArgument(3, $cacheDir)->replaceArgument(4, $debug);
     }
     $container->setDefinition($prefix . '.ssl', $sslPackage);
     $package = new DefinitionDecorator('templating.asset.request_aware_package');
     $package->setPublic(false)->setScope('request')->replaceArgument(1, $prefix . '.http')->replaceArgument(2, $prefix . '.ssl');
     return $package;
 }
Esempio n. 19
0
 /**
  * Subclasses must return the id of a service which implements the
  * AuthenticationProviderInterface.
  *
  * @param ContainerBuilder $container
  * @param string $id The unique id of the firewall
  * @param array $config The options array for this listener
  * @param string $userProviderId The id of the user provider
  *
  * @return string never null, the id of the authentication provider
  */
 protected function createAuthProvider(ContainerBuilder $container, $id, $config, $userProviderId)
 {
     $providerId = 'security.authentication.provider.appsco.' . $id;
     $provider = new DefinitionDecorator('security.authentication.provider.appsco');
     $provider->replaceArgument(0, new Reference($userProviderId));
     $container->setDefinition($providerId, $provider);
     return $providerId;
 }
 public function process(ContainerBuilder $container)
 {
     if (!$container->hasDefinition('idci_notification.manager.notification')) {
         return;
     }
     $definition = $container->getDefinition('idci_notification.manager.notification');
     $taggedServices = $container->findTaggedServiceIds('idci_notification.notifier');
     $notifiers = array();
     $notifiersConfiguration = $container->getParameter('idci_notification.notifiers.configuration');
     // In order to declare untagged 'form.type' directly to the form.extension
     $formExtensionDefinition = $container->getDefinition('form.extension');
     foreach ($taggedServices as $id => $tagAttributes) {
         foreach ($tagAttributes as $attributes) {
             $alias = $attributes["alias"];
             $notifierReference = new Reference($id);
             $notifiers[$alias] = $alias;
             $definition->addMethodCall('addNotifier', array($notifierReference, $alias));
             // Add the notifiers configuration to the right notifier
             if (!$container->hasDefinition($id)) {
                 throw new UndefindedDefinitionException($id);
             }
             $notifierDefinition = $container->getDefinition($id);
             $notifierDefinition->replaceArgument(1, $notifiersConfiguration[$alias]);
             // Define Notification form
             $notificationFormAlias = sprintf('notification_%s', $alias);
             $notificationFormServiceId = sprintf('idci_notification.form.type.%s', $notificationFormAlias);
             $notificationFormDefinition = new DefinitionDecorator('idci_notification.form.type.abstract_notification');
             $notificationFormDefinition->replaceArgument(0, $alias);
             $notificationFormDefinition->replaceArgument(1, $notifierReference);
             $container->setDefinition($notificationFormServiceId, $notificationFormDefinition);
             // Define NotifierConfiguration form
             $notifierConfigurationFormAlias = sprintf('notifier_configuration_%s', $alias);
             $notifierConfigurationFormServiceId = sprintf('idci_notification.form.type.%s', $notifierConfigurationFormAlias);
             $notifierConfigurationFormDefinition = new DefinitionDecorator('idci_notification.form.type.abstract_notifier_configuration');
             $notifierConfigurationFormDefinition->replaceArgument(0, $alias);
             $notifierConfigurationFormDefinition->replaceArgument(1, $notifierReference);
             $container->setDefinition($notifierConfigurationFormServiceId, $notifierConfigurationFormDefinition);
             // Declare untagged 'form.type' directly to the form.extension
             $types = null === $formExtensionDefinition->getArgument(1) ? array() : $formExtensionDefinition->getArgument(1);
             $types[$notificationFormAlias] = $notificationFormServiceId;
             $types[$notifierConfigurationFormAlias] = $notifierConfigurationFormServiceId;
             $formExtensionDefinition->replaceArgument(1, $types);
         }
     }
     $container->setParameter('idci_notification.notifiers', $notifiers);
 }
 /**
  * {@inheritdoc}
  */
 protected function loadInternal(array $configs, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('controller.xml');
     foreach ($configs['filters'] as $name => $settings) {
         if (!$settings['enabled']) {
             continue;
         }
         $loader->load('filters/' . $name . '.xml');
         foreach ($settings['apply_to'] as $i => $pattern) {
             $worker = new DefinitionDecorator('assetic.worker.ensure_filter');
             $worker->replaceArgument(0, '/' . $pattern . '/');
             $worker->replaceArgument(1, new Reference('assetic.filter.' . $name));
             $worker->addTag('assetic.factory_worker');
             $container->setDefinition('assetic.filter.' . $name . '.worker' . $i, $worker);
         }
     }
 }
Esempio n. 22
0
 protected function createLogger($channel, $loggerId, ContainerBuilder $container)
 {
     if (!in_array($channel, $this->channels)) {
         $logger = new DefinitionDecorator('monolog.logger_prototype');
         $logger->replaceArgument(0, $channel);
         $container->setDefinition($loggerId, $logger);
         $this->channels[] = $channel;
     }
 }
 /**
  * {@inheritDoc}
  */
 protected function createStorage(ContainerBuilder $container, $modelClass, array $config)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../../../Resources/config/storage'));
     $loader->load('doctrine.' . $config['driver'] . '.xml');
     $storage = new DefinitionDecorator(sprintf('payum.storage.doctrine.%s', $config['driver']));
     $storage->setPublic(true);
     $storage->replaceArgument(1, $modelClass);
     return $storage;
 }
 /**
  * {@inheritdoc}
  */
 public function create(ContainerBuilder $container, $loaderName, array $config)
 {
     $loaderDefinition = new DefinitionDecorator('liip_imagine.binary.loader.prototype.flysystem');
     $loaderDefinition->replaceArgument(1, new Reference($config['filesystem_service']));
     $loaderDefinition->addTag('liip_imagine.binary.loader', array('loader' => $loaderName));
     $loaderId = 'liip_imagine.binary.loader.' . $loaderName;
     $container->setDefinition($loaderId, $loaderDefinition);
     return $loaderId;
 }
 /**
  * {@inheritDoc}
  */
 protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config)
 {
     $apiDefinition = new DefinitionDecorator('payum.be2bill.api.prototype');
     $apiDefinition->replaceArgument(1, array('identifier' => $config['identifier'], 'password' => $config['password'], 'sandbox' => $config['sandbox']));
     $apiDefinition->setPublic(true);
     $apiId = 'payum.context.' . $contextName . '.api';
     $container->setDefinition($apiId, $apiDefinition);
     $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId)));
 }
 /**
  * {@inheritDoc}
  */
 protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config)
 {
     $apiDefinition = new DefinitionDecorator('payum.limonetik.api.prototype');
     $apiDefinition->replaceArgument(0, array('merchantId' => $config['merchant_id'], 'key' => $config['key'], 'sandbox' => $config['sandbox']));
     $apiDefinition->setPublic(true);
     $apiId = 'payum.context.' . $contextName . '.api';
     $container->setDefinition($apiId, $apiDefinition);
     $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId)));
 }
 /**
  * {@inheritDoc}
  */
 protected function addApis(Definition $paymentDefinition, ContainerBuilder $container, $contextName, array $config)
 {
     $apiDefinition = new DefinitionDecorator('payum.paypal.express_checkout_nvp.api.prototype');
     $apiDefinition->replaceArgument(0, array('username' => $config['username'], 'password' => $config['password'], 'signature' => $config['signature'], 'sandbox' => $config['sandbox']));
     $apiDefinition->setPublic(true);
     $apiId = 'payum.context.' . $contextName . '.api';
     $container->setDefinition($apiId, $apiDefinition);
     $paymentDefinition->addMethodCall('addApi', array(new Reference($apiId)));
 }
 /**
  * Creates the listener.
  *
  * @return string
  */
 protected function createListener($container, $id, $config, $userProvider)
 {
     $listenerId = $this->getListenerId();
     $listener = new DefinitionDecorator($listenerId);
     $listener->replaceArgument(2, $id);
     $listenerId .= '.' . $id;
     $container->setDefinition($listenerId, $listener);
     return $listenerId;
 }
 protected function createListener($container, $id, $config, $userProvider)
 {
     $listenerId = $this->getListenerId();
     $listener = new DefinitionDecorator($listenerId);
     $listener->replaceArgument(4, $id);
     $listener->replaceArgument(6, array_intersect_key($config, $this->options));
     // success handler
     if (isset($config['success_handler'])) {
         $listener->replaceArgument(7, new Reference($config['success_handler']));
     }
     // failure handler
     if (isset($config['failure_handler'])) {
         $listener->replaceArgument(8, new Reference($config['failure_handler']));
     }
     $listenerId .= '.' . $id;
     $container->setDefinition($listenerId, $listener);
     return $listenerId;
 }
 protected function registerDoctrineSuggesters(ContainerBuilder $container, $suggesterConfigs, $parentService)
 {
     $registry = $container->getDefinition('sirian_suggest.registry');
     foreach ($suggesterConfigs as $id => $config) {
         $definition = new DefinitionDecorator($parentService);
         $definition->replaceArgument(1, ['class' => $config['class'], 'id_property' => $config['id_property'], 'property' => $config['property'], 'search' => $config['search']]);
         $suggesterId = 'sirian_suggest.odm.' . $id;
         $registry->addMethodCall('addService', [$id, $suggesterId]);
         $container->setDefinition($suggesterId, $definition);
     }
 }