Author: Fabien Potencier (fabien@symfony.com)
Inheritance: extends Symfony\Component\DependencyInjection\Loader\FileLoader
 /**
  * {@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'));
     foreach (array('services', 'form') as $service) {
         $loader->load(sprintf('%s.xml', $service));
     }
     if ($config['service'] == 's3') {
         $loader->load('s3.xml');
     } else {
         $loader->load('connector.xml');
     }
     switch ($config['service']) {
         case 'php':
             $container->setAlias('jonlil_ckfinder.connector', 'jonlil.ckfinder.connector.php');
             break;
         case 's3':
             $container->setAlias('jonlil_ckfinder.connector', 'jonlil.ckfinder.connector.s3');
             $container->setParameter('jonlil_ckfinder.amazon', array('secret' => $config['secret'], 'bucket' => $config['bucket'], 'access_key' => $config['accessKey'], 'base_url' => $config['baseUrl'], 'base_dir' => $config['baseDir'], 'thumbnails_file' => $config['thumbnailsFile'], 'thumbnails_enabled' => $config['thumbnailsEnabled'], 'direct_access' => $config['directAccess'], 'file_delete' => $config['fileDelete'], 'file_rename' => $config['fileRename'], 'file_upload' => $config['fileUpload'], 'file_view' => $config['fileView'], 'folder_delete' => $config['folderDelete'], 'folder_rename' => $config['folderRename'], 'folder_create' => $config['folderCreate'], 'folder_view' => $config['folderView']));
             $container->setParameter('jonlil_ckfinder.baseDir', $config['baseDir']);
             break;
     }
     $container->setParameter('jonlil_ckfinder.license', array('key' => $config['license']['key'], 'name' => $config['license']['name']));
     $container->setParameter('jonlil_ckfinder.baseUrl', $config['baseUrl']);
     $container->setParameter('twig.form.resources', array_merge($container->getParameter('twig.form.resources'), array('JonlilCKFinderBundle:Form:ckfinder_widget.html.twig')));
 }
 public function load(array $pluginConfiguration, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/Resources/config'));
     foreach (['services'] as $basename) {
         $loader->load(sprintf('%s.xml', $basename));
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $config, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('form_flow.xml');
     $loader->load('twig.xml');
     $loader->load('util.xml');
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = $this->getConfiguration($configs, $container);
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $loader->load('plugins.xml');
     // Register default services
     foreach ($config['classes'] as $service => $class) {
         if (!empty($class)) {
             $container->register(sprintf('httplug.%s.default', $service), $class);
         }
     }
     // Set main aliases
     foreach ($config['main_alias'] as $type => $id) {
         $container->setAlias(sprintf('httplug.%s', $type), $id);
     }
     // Configure toolbar
     if ($this->isConfigEnabled($container, $config['profiling'])) {
         $loader->load('data-collector.xml');
         if (!empty($config['profiling']['formatter'])) {
             // Add custom formatter
             $container->getDefinition('httplug.collector.debug_collector')->replaceArgument(0, new Reference($config['profiling']['formatter']));
         }
         $container->getDefinition('httplug.formatter.full_http_message')->addArgument($config['profiling']['captured_body_length']);
     }
     $this->configureClients($container, $config);
     $this->configureSharedPlugins($container, $config['plugins']);
     // must be after clients, as clients.X.plugins might use plugins as templates that will be removed
     $this->configureAutoDiscoveryClients($container, $config);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $services = array('orm' => 'orm-services');
     $supportedEncryptorClasses = array('aes256' => 'VMelnik\\DoctrineEncryptBundle\\Encryptors\\AES256Encryptor');
     if (empty($config['secret_key'])) {
         if ($container->hasParameter('secret')) {
             $config['secret_key'] = $container->getParameter('secret');
         } else {
             throw new \RuntimeException('You must provide "secret_key" for DoctrineEncryptBundle or "secret" for framework');
         }
     }
     if (!empty($config['encryptor_class'])) {
         $encryptorFullName = $config['encryptor_class'];
     } else {
         $encryptorFullName = $supportedEncryptorClasses[$config['encryptor']];
     }
     $container->setParameter('vmelnik_doctrine_encrypt.encryptor_class_name', $encryptorFullName);
     $container->setParameter('vmelnik_doctrine_encrypt.secret_key', $config['secret_key']);
     if (!empty($config['encryptor_service'])) {
         $container->setParameter('vmelnik_doctrine_encrypt.encryptor_service', $config['encryptor_service']);
     }
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load(sprintf('%s.xml', $services[$config['db_driver']]));
 }
 /**
  * {@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');
     $container->setParameter('eo_airbrake.api_key', $config['api_key']);
     $container->setParameter('eo_airbrake.async', $config['async']);
     $container->setParameter('eo_airbrake.host', $config['host']);
     $container->setParameter('eo_airbrake.secure', $config['secure']);
     // Exception Listener
     if ($config['api_key']) {
         // Airbreak Configuration
         $class = $container->getParameter('eo_airbrake.configuration.class');
         $definition = new Definition($class, array($config['api_key'], $config['async'], $container->getParameter('kernel.environment'), $config['host'], $config['secure']));
         $container->setDefinition('eo_airbrake.configuration', $definition);
         // Airbreak Client
         $class = $container->getParameter('eo_airbrake.client.class');
         $definition = new Definition($class, array(new Reference('eo_airbrake.configuration')));
         $container->setDefinition('eo_airbrake.client', $definition);
         // Exception Listener
         $class = $container->getParameter('eo_airbrake.exception_listener.class');
         $definition = new Definition($class, array(new Reference('eo_airbrake.client'), $config['ignored_exceptions']));
         $definition->addTag('kernel.event_listener', array('event' => 'kernel.exception', 'method' => 'onKernelException'));
         $container->setDefinition('php_airbrake.exception_listener', $definition);
         // PHP Shutdown Listener
         $class = $container->getParameter('eo_airbrake.shutdown_listener.class');
         $definition = new Definition($class, array(new Reference('eo_airbrake.client')));
         $definition->addTag('kernel.event_listener', array('event' => 'kernel.controller', 'method' => 'register'));
         $container->setDefinition('php_airbrake.shutdown_listener', $definition);
     }
 }
 public function testDbalLoadFromXmlMultipleConnections()
 {
     $container = $this->getContainer();
     $loader = new DoctrineExtension();
     $container->registerExtension($loader);
     $loadXml = new XmlFileLoader($container, __DIR__ . '/Fixtures/config/xml');
     $loadXml->load('dbal_service_multiple_connections.xml');
     $loader->dbalLoad(array(), $container);
     $container->freeze();
     // doctrine.dbal.mysql_connection
     $arguments = $container->getDefinition('doctrine.dbal.mysql_connection')->getArguments();
     $config = $arguments[0];
     $this->assertEquals('mysql_s3cr3t', $config['password']);
     $this->assertEquals('mysql_user', $config['user']);
     $this->assertEquals('mysql_db', $config['dbname']);
     $this->assertEquals('/path/to/mysqld.sock', $config['unix_socket']);
     // doctrine.dbal.sqlite_connection
     $arguments = $container->getDefinition('doctrine.dbal.sqlite_connection')->getArguments();
     $container = $this->getContainer();
     $loader = new DoctrineExtension();
     $container->registerExtension($loader);
     $loadXml = new XmlFileLoader($container, __DIR__ . '/Fixtures/config/xml');
     $loadXml->load('dbal_service_single_connection.xml');
     $loader->dbalLoad(array(), $container);
     $container->freeze();
     // doctrine.dbal.mysql_connection
     $arguments = $container->getDefinition('doctrine.dbal.mysql_connection')->getArguments();
     $config = $arguments[0];
     $this->assertEquals('mysql_s3cr3t', $config['password']);
     $this->assertEquals('mysql_user', $config['user']);
     $this->assertEquals('mysql_db', $config['dbname']);
     $this->assertEquals('/path/to/mysqld.sock', $config['unix_socket']);
 }
 protected function loadInternal(array $config, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $container->setAlias('bernard.driver', 'bernard.driver.' . $config['driver']);
     switch ($config['driver']) {
         case 'doctrine':
             $this->registerDoctrineConfiguration($config['options'], $container);
             break;
         case 'file':
             $this->registerFlatFileConfiguration($config['options'], $container);
             break;
         case 'phpamqp':
             $this->registerPhpAmqpConfiguration($config['options'], $container);
             break;
         case 'phpredis':
             $this->registerPhpRedisConfiguration($config['options'], $container);
             break;
         case 'predis':
             $this->registerPredisConfiguration($config['options'], $container);
             break;
         case 'ironmq':
             $this->registerIronMQConfiguration($config['options'], $container);
             break;
         case 'sqs':
             $this->registerSqsConfiguration($config['options'], $container);
             break;
     }
     $this->registerListeners($config['listeners'], $container);
 }
 /**
  * Load configuration.
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $processor = new Processor();
     $configuration = new Configuration();
     $config = $processor->processConfiguration($configuration, $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $loader->load('controllers.xml');
     if (isset($config['serializer'])) {
         $container->setAlias('fos_js_routing.serializer', new Alias($config['serializer'], false));
     } else {
         $loader->load('serializer.xml');
     }
     $container->setAlias('fos_js_routing.router', new Alias($config['router'], false));
     $container->getDefinition('fos_js_routing.extractor')->replaceArgument(1, $config['routes_to_expose']);
     if (isset($config['request_context_base_url'])) {
         $container->setParameter('fos_js_routing.request_context_base_url', $config['request_context_base_url']);
     }
     if (isset($config['cache_control'])) {
         $config['cache_control']['enabled'] = true;
     } else {
         $config['cache_control'] = array('enabled' => false);
     }
     $container->setParameter('fos_js_routing.cache_control', $config['cache_control']);
 }
示例#10
0
 /**
  * {@inheritdoc}
  */
 public function load(ContainerBuilder $container, array $config)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/services'));
     $loader->load('core.xml');
     $container->setParameter('behat.mailcatcher.client.url', $config['url']);
     $container->setParameter('behat.mailcatcher.purge_before_scenario', $config['purge_before_scenario']);
 }
 public function loadInternal(array $config, ContainerBuilder $container)
 {
     $this->mergeNavigation($container, $config['navigation']);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $loader->load('roles.xml');
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     // add custom form widgets
     $container->setParameter('twig.form.resources', array_merge($container->getParameter('twig.form.resources'), ['ZapoyokExtraFormBundle:Form:form_admin_fields.html.twig']));
 }
 /**
  * Responds to the doctrine_mongo_db configuration parameter.
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     // Load DoctrineMongoDBBundle/Resources/config/mongodb.xml
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('mongodb.xml');
     $processor = new Processor();
     $configuration = new Configuration($container->getParameter('kernel.debug'));
     $config = $processor->processConfiguration($configuration, $configs);
     // can't currently default this correctly in Configuration
     if (!isset($config['metadata_cache_driver'])) {
         $config['metadata_cache_driver'] = array('type' => 'array');
     }
     if (empty($config['default_connection'])) {
         $keys = array_keys($config['connections']);
         $config['default_connection'] = reset($keys);
     }
     if (empty($config['default_document_manager'])) {
         $keys = array_keys($config['document_managers']);
         $config['default_document_manager'] = reset($keys);
     }
     // set some options as parameters and unset them
     $config = $this->overrideParameters($config, $container);
     // load the connections
     $this->loadConnections($config['connections'], $container);
     // load the document managers
     $this->loadDocumentManagers($config['document_managers'], $config['default_document_manager'], $config['default_database'], $config['metadata_cache_driver'], $container);
     $this->loadConstraints($container);
 }
示例#14
0
 /**
  * Loads a specific configuration.
  *
  * @param array            $config    An array of configuration values
  * @param ContainerBuilder $container A ContainerBuilder instance
  *
  * @throws \InvalidArgumentException When provided tag is not defined in this extension
  *
  * @api
  */
 public function load(array $config, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('event_listeners.xml');
     $loader->load('serializer.xml');
     $loader->load('api_controllers.xml');
 }
 public function load(array $configs, ContainerBuilder $container)
 {
     $processor = new Processor();
     $config = $processor->processConfiguration(new Configuration(), $configs);
     $loader = new XmlFileLoader($container, new FileLocator(array(__DIR__ . '/../Resources/config')));
     $loader->load('services.xml');
     $container->setParameter('jms_i18n_routing.default_locale', $config['default_locale']);
     $container->setParameter('jms_i18n_routing.locales', $config['locales']);
     $container->setParameter('jms_i18n_routing.catalogue', $config['catalogue']);
     $container->setParameter('jms_i18n_routing.strategy', $config['strategy']);
     $this->addClassesToCompile(array($container->getDefinition('jms_i18n_routing.router')->getClass()));
     if ('prefix' === $config['strategy']) {
         $container->getDefinition('jms_i18n_routing.locale_choosing_listener')->setPublic(true)->addTag('kernel.event_listener', array('event' => 'kernel.exception', 'priority' => 128));
     }
     if ($config['hosts']) {
         $container->getDefinition('jms_i18n_routing.router')->addMethodCall('setHostMap', array($config['hosts']));
         $container->getDefinition('jms_i18n_routing.locale_changing_listener')->setPublic(true)->addTag('kernel.event_listener', array('event' => 'kernel.request', 'priority' => 120))->addArgument(array_flip($config['hosts']));
         $this->addClassesToCompile(array($container->getDefinition('jms_i18n_routing.locale_changing_listener')->getClass()));
     }
     // remove route extractor if JMSTranslationBundle is not enabled to avoid any problems
     $bundles = $container->getParameter('kernel.bundles');
     if (!isset($bundles['JMSTranslationBundle'])) {
         $container->removeDefinition('jms_i18n_routing.route_translation_extractor');
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $config = $this->processConfiguration(new Configuration(), $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('form.xml');
     $loader->load('manager.xml');
 }
示例#17
0
 /**
  * Responds to the twig configuration parameter.
  *
  * @param array            $configs
  * @param ContainerBuilder $container
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('twig.xml');
     $configuration = $this->getConfiguration($configs, $container);
     $config = $this->processConfiguration($configuration, $configs);
     $container->setParameter('twig.exception_listener.controller', $config['exception_controller']);
     $container->setParameter('twig.form.resources', $config['form']['resources']);
     $reflClass = new \ReflectionClass('Symfony\\Bridge\\Twig\\Extension\\FormExtension');
     $container->getDefinition('twig.loader')->addMethodCall('addPath', array(dirname(dirname($reflClass->getFileName())) . '/Resources/views/Form'));
     if (!empty($config['globals'])) {
         $def = $container->getDefinition('twig');
         foreach ($config['globals'] as $key => $global) {
             if (isset($global['type']) && 'service' === $global['type']) {
                 $def->addMethodCall('addGlobal', array($key, new Reference($global['id'])));
             } else {
                 $def->addMethodCall('addGlobal', array($key, $global['value']));
             }
         }
     }
     unset($config['form'], $config['globals'], $config['extensions']);
     $container->setParameter('twig.options', $config);
     if ($container->getParameter('kernel.debug')) {
         $loader->load('debug.xml');
         $container->setDefinition('templating.engine.twig', $container->findDefinition('debug.templating.engine.twig'));
         $container->setAlias('debug.templating.engine.twig', 'templating.engine.twig');
     }
     $this->addClassesToCompile(array('Twig_Environment', 'Twig_ExtensionInterface', 'Twig_Extension', 'Twig_Extension_Core', 'Twig_Extension_Escaper', 'Twig_Extension_Optimizer', 'Twig_LoaderInterface', 'Twig_Markup', 'Twig_TemplateInterface', 'Twig_Template'));
 }
 /**
  * {@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');
     // load db_driver container configuration
     $loader->load(sprintf('%s.xml', $config['db_driver']));
     if ($config['filter']['enabled']) {
         // if enabled - define filter
         $loader->load('filter.xml');
         $mailers = $config['filter']['mailer_name'];
         $filter = $container->getDefinition('shivas_bouncer.swift_mailer.filter');
         foreach ($mailers as $mailer) {
             $filter->addTag(sprintf('swiftmailer.%s.plugin', $mailer));
         }
     }
     $container->setParameter(sprintf('shivas_bouncer.backend_%s', $config['db_driver']), true);
     $container->setParameter('shivas_bouncer.driver', $config['db_driver']);
     $container->setParameter('shivas_bouncer.manager_name', $config['model_manager_name']);
     $container->setParameter('shivas_bouncer.bounce_endpoint', $config['bounce_endpoint']);
     $container->setParameter('shivas_bouncer.filter', $config['filter']);
     $container->setParameter('shivas_bouncer.filter.filter_not_permanent', $config['filter']['filter_not_permanent']);
     $container->setParameter('shivas_bouncer.aws_api_key', $config['aws_api_key']);
 }
 protected function loadExamples(ContainerBuilder $container)
 {
     $xmlloader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/examples'));
     $yamlloader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/examples'));
     $yamlloader->load("example_menu.yml");
     $xmlloader->load("example_navbar.xml");
 }
 /**
  * {@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('connectors.xml');
     $loader->load('services.xml');
     // Listen service
     $container->getDefinition('ndewez.events.listener')->addArgument($config['events']);
     // Connector mock
     if (true === $config['mock']) {
         $this->setConnector($container, $container->getDefinition('ndewez.events.connector.mock'));
         return;
     }
     if (!isset($config['connection'])) {
         return;
     }
     // Connector synchronous
     if (ConnectorInterface::MODE_SYNCH === $config['mode']) {
         $connector = $container->getDefinition('ndewez.events.connector.http');
         $connector->replaceArgument(0, $config['connection']['host']);
         $this->setConnector($container, $connector);
         return;
     }
     // Connector asynchronous
     $connector = $container->getDefinition('ndewez.events.connector.amqp');
     $connector->replaceArgument(0, $config['connection']['host'])->replaceArgument(1, $config['connection']['port'])->replaceArgument(2, $config['connection']['user'])->replaceArgument(3, $config['connection']['password'])->replaceArgument(4, $config['connection']['application_code']);
     $this->setConnector($container, $connector);
 }
示例#21
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'));
     if (!in_array(strtolower($config['db_driver']), array('orm'))) {
         throw new \InvalidArgumentException(sprintf('Invalid database driver (bait_poll.db_driver) "%s".', $config['db_driver']));
     }
     $loader->load(sprintf('%s.xml', $config['db_driver']));
     $container->setParameter('bait_poll.model_manager_name', $config['model_manager_name']);
     $container->setParameter('bait_poll.form.type', $config['form']['type']);
     $container->setParameter('bait_poll.form.name', $config['form']['name']);
     $container->setAlias('bait_poll.form.factory', $config['form']['factory']);
     $container->setParameter('bait_poll.poll.class', $config['poll']['class']);
     $container->setParameter('bait_poll.field.class', $config['field']['class']);
     $container->setParameter('bait_poll.vote.class', $config['vote']['class']);
     $container->setParameter('bait_poll.form.template', $config['form']['template']);
     $container->setParameter('bait_poll.form.theme', $config['form']['theme']);
     $container->setAlias('bait_poll.vote.manager', $config['vote']['manager']);
     $container->setAlias('bait_poll.poll.manager', $config['poll']['manager']);
     $loader->load('form.xml');
     $container->setParameter('bait_poll.cookie.prefix', $config['cookie']['prefix']);
     $container->setParameter('bait_poll.cookie.duration', $config['cookie']['duration']);
     $loader->load('poll.xml');
 }
 public function load(array $configs, ContainerBuilder $container)
 {
     $config = $this->processConfiguration(new Configuration($container), $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $container->setParameter('jms_translation.source_language', $config['source_language']);
     $container->setParameter('jms_translation.locales', $config['locales']);
     $requests = array();
     foreach ($config['configs'] as $name => $extractConfig) {
         $def = new Definition('JMS\\TranslationBundle\\Translation\\ConfigBuilder');
         $def->addMethodCall('setTranslationsDir', array($extractConfig['output_dir']));
         $def->addMethodCall('setScanDirs', array($extractConfig['dirs']));
         if (isset($extractConfig['ignored_domains'])) {
             $ignored = array();
             foreach ($extractConfig['ignored_domains'] as $domain) {
                 $ignored[$domain] = true;
             }
             $def->addMethodCall('setIgnoredDomains', array($ignored));
         }
         if (isset($extractConfig['domains'])) {
             $domains = array();
             foreach ($extractConfig['domains'] as $domain) {
                 $domains[$domain] = true;
             }
             $def->addMethodCall('setDomains', array($domains));
         }
         if (isset($extractConfig['extractors'])) {
             $extractors = array();
             foreach ($extractConfig['extractors'] as $alias) {
                 $extractors[$alias] = true;
             }
             $def->addMethodCall('setEnabledExtractors', array($extractors));
         }
         if (isset($extractConfig['excluded_dirs'])) {
             $def->addMethodCall('setExcludedDirs', array($extractConfig['excluded_dirs']));
         }
         if (isset($extractConfig['excluded_names'])) {
             $def->addMethodCall('setExcludedNames', array($extractConfig['excluded_names']));
         }
         if (isset($extractConfig['output_format'])) {
             $def->addMethodCall('setOutputFormat', array($extractConfig['output_format']));
         }
         if (isset($extractConfig['default_output_format'])) {
             $def->addMethodCall('setDefaultOutputFormat', array($extractConfig['default_output_format']));
         }
         if (isset($extractConfig['keep'])) {
             $def->addMethodCall('setKeepOldTranslations', array($extractConfig['keep']));
         }
         if (isset($extractConfig['external_translations_dirs'])) {
             $def->addMethodCall('setLoadResources', array($extractConfig['external_translations_dirs']));
         }
         if (isset($extractConfig['output_options'])) {
             foreach ($extractConfig['output_options'] as $format => $formatOptions) {
                 $def->addMethodCall('setOutputOptions', array($format, $formatOptions));
             }
         }
         $requests[$name] = $def;
     }
     $container->getDefinition('jms_translation.config_factory')->addArgument($requests);
 }
示例#23
0
 /**
  * Loads the Twig configuration.
  *
  * @param array            $config    An array of configuration settings
  * @param ContainerBuilder $container A ContainerBuilder instance
  */
 public function configLoad($config, ContainerBuilder $container)
 {
     if (!$container->hasDefinition('twig')) {
         $loader = new XmlFileLoader($container, __DIR__ . '/../Resources/config');
         $loader->load('twig.xml');
     }
     // form resources
     foreach (array('resources', 'resource') as $key) {
         if (isset($config['form'][$key])) {
             $resources = (array) $config['form'][$key];
             $container->setParameter('twig.form.resources', array_merge($container->getParameter('twig.form.resources'), $resources));
             unset($config['form'][$key]);
         }
     }
     // globals
     $def = $container->getDefinition('twig');
     $globals = $this->fixConfig($config, 'global');
     if (isset($globals[0])) {
         foreach ($globals as $global) {
             $def->addMethodCall('addGlobal', array($global['key'], new Reference($global['id'])));
         }
     } else {
         foreach ($globals as $key => $id) {
             $def->addMethodCall('addGlobal', array($key, new Reference($id)));
         }
     }
     unset($config['globals'], $config['global']);
     // convert - to _
     foreach ($config as $key => $value) {
         $config[str_replace('-', '_', $key)] = $value;
     }
     $container->setParameter('twig.options', array_replace($container->getParameter('twig.options'), $config));
 }
 public function testIfAServiceDefinitionIsNotCorrectAnExceptionWillBeThrown()
 {
     $loader = new XmlFileLoader($this->container, new FileLocator(__DIR__ . '/Fixtures'));
     $loader->load('incorrect_service_definitions.xml');
     $this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\InvalidServiceDefinitionsException');
     $this->container->compile();
 }
示例#25
0
 /**
  * {@inheritdoc}
  */
 public function load(array $config, ContainerBuilder $container)
 {
     $config = $this->processConfiguration(new Configuration(), $config);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $configFiles = array('services.xml', 'templating.xml', 'twig.xml');
     foreach ($configFiles as $configFile) {
         $loader->load($configFile);
     }
     $container->setAlias('sylius.cart_provider', $config['provider']);
     $container->setAlias('sylius.cart_resolver', $config['resolver']);
     $container->setAlias('sylius.repository.cart', 'sylius.repository.order');
     $container->setAlias('sylius.factory.cart', 'sylius.factory.order');
     $container->setAlias('sylius.manager.cart', 'sylius.manager.order');
     $container->setAlias('sylius.repository.cart_item', 'sylius.repository.order_item');
     $container->setAlias('sylius.factory.cart_item', 'sylius.factory.order_item');
     $container->setAlias('sylius.manager.cart_item', 'sylius.manager.order_item');
     $cartConfig = $config['resources']['cart'];
     $cartItemConfig = $config['resources']['cart_item'];
     $container->setParameter('sylius.controller.cart.class', $cartConfig['classes']['controller']);
     $container->setParameter('sylius.form.type.cart.class', $cartConfig['classes']['form']['default']);
     $container->setParameter('sylius.validation_groups.cart', $cartConfig['validation_groups']);
     $container->setParameter('sylius.controller.cart_item.class', $cartItemConfig['classes']['controller']);
     $container->setParameter('sylius.form.type.cart_item.class', $cartItemConfig['classes']['form']['default']);
     $container->setParameter('sylius.validation_groups.cart_item', $cartItemConfig['validation_groups']);
     $definition = $container->findDefinition('sylius.context.cart');
     $definition->replaceArgument(0, new Reference($config['storage']));
 }
 /**
  * Loads the Monolog configuration.
  *
  * @param array            $configs   An array of configuration settings
  * @param ContainerBuilder $container A ContainerBuilder instance
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = $this->getConfiguration($configs, $container);
     $config = $this->processConfiguration($configuration, $configs);
     if (isset($config['handlers'])) {
         $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
         $loader->load('monolog.xml');
         $container->setAlias('logger', 'monolog.logger');
         $handlers = array();
         foreach ($config['handlers'] as $name => $handler) {
             $handlers[$handler['priority']][] = array('id' => $this->buildHandler($container, $name, $handler), 'channels' => empty($handler['channels']) ? null : $handler['channels']);
         }
         $container->setParameter('monolog.swift_mailer.handlers', $this->swiftMailerHandlers);
         ksort($handlers);
         $sortedHandlers = array();
         foreach ($handlers as $priorityHandlers) {
             foreach (array_reverse($priorityHandlers) as $handler) {
                 $sortedHandlers[] = $handler;
             }
         }
         $handlersToChannels = array();
         foreach ($sortedHandlers as $handler) {
             if (!in_array($handler['id'], $this->nestedHandlers)) {
                 $handlersToChannels[$handler['id']] = $handler['channels'];
             }
         }
         $container->setParameter('monolog.handlers_to_channels', $handlersToChannels);
         $this->addClassesToCompile(array('Monolog\\Formatter\\FormatterInterface', 'Monolog\\Formatter\\LineFormatter', 'Monolog\\Handler\\HandlerInterface', 'Monolog\\Handler\\AbstractHandler', 'Monolog\\Handler\\AbstractProcessingHandler', 'Monolog\\Handler\\StreamHandler', 'Monolog\\Handler\\FingersCrossedHandler', 'Monolog\\Handler\\FilterHandler', 'Monolog\\Handler\\TestHandler', 'Monolog\\Logger', 'Symfony\\Bridge\\Monolog\\Logger', 'Symfony\\Bridge\\Monolog\\Handler\\DebugHandler', 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface', 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy'));
     }
     $container->setParameter('monolog.additional_channels', isset($config['channels']) ? $config['channels'] : array());
 }
 /**
  * {@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 (isset($config['handler_path'])) {
         $container->setParameter('shibboleth.handler_path', $config['handler_path']);
     }
     if (isset($config['secured_handler'])) {
         $container->setParameter('shibboleth.secured_handler', $config['secured_handler']);
     }
     if (isset($config['session_initiator_path'])) {
         $container->setParameter('shibboleth.session_initiator_path', $config['session_initiator_path']);
     }
     if (isset($config['username_attribute'])) {
         $container->setParameter('shibboleth.username_attribute', $config['username_attribute']);
     }
     if (isset($config['attribute_definitions'])) {
         $container->setParameter('shibboleth.attribute_definitions', $config['attribute_definitions']);
     } else {
         $container->setParameter('shibboleth.attribute_definitions', array());
     }
     if (isset($config['use_headers'])) {
         $container->setParameter('shibboleth.use_headers', $config['use_headers']);
     } else {
         $container->setParameter('shibboleth.use_headers', true);
     }
     if (isset($config['logout_target'])) {
         $container->setParameter('shibboleth.logout_target', $config['logout_target']);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $config, ContainerBuilder $container)
 {
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $configFiles = ['services.xml', 'attribute_types.xml'];
     foreach ($configFiles as $configFile) {
         $loader->load($configFile);
     }
     $config = $this->processConfiguration(new Configuration(), $config);
     $this->registerResources('sylius', $config['driver'], $this->resolveResources($config['resources'], $container), $container);
     foreach ($config['resources'] as $subjectName => $subjectConfig) {
         foreach ($subjectConfig as $resourceName => $resourceConfig) {
             if (!is_array($resourceConfig)) {
                 continue;
             }
             $formDefinition = $container->getDefinition('sylius.form.type.' . $subjectName . '_' . $resourceName);
             $formDefinition->addArgument($subjectName);
             if (isset($resourceConfig['translation'])) {
                 $formTranslationDefinition = $container->getDefinition('sylius.form.type.' . $subjectName . '_' . $resourceName . '_translation');
                 $formTranslationDefinition->addArgument($subjectName);
             }
             if (false !== strpos($resourceName, 'value')) {
                 $formDefinition->addArgument($container->getDefinition('sylius.repository.' . $subjectName . '_attribute'));
             }
         }
     }
 }
 /**
  * {@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');
 }
 public function load(array $configs, ContainerBuilder $container)
 {
     $config = $this->mergeConfigs($configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.xml');
     $container->setParameter('jms_di_extra.all_bundles', $config['locations']['all_bundles']);
     $container->setParameter('jms_di_extra.bundles', $config['locations']['bundles']);
     $container->setParameter('jms_di_extra.directories', $config['locations']['directories']);
     $container->setParameter('jms_di_extra.cache_dir', $config['cache_dir']);
     $container->setParameter('jms_di_extra.disable_grep', $config['disable_grep']);
     $container->setParameter('jms_di_extra.doctrine_integration', $config['doctrine_integration']);
     if ($config['cache_warmer']['enabled']) {
         foreach ($config['cache_warmer']['controller_file_blacklist'] as $filename) {
             $this->blackListControllerFile($filename);
         }
         $container->setParameter('jms_di_extra.cache_warmer.controller_file_blacklist', $this->blackListedControllerFiles);
     } else {
         $container->removeDefinition('jms_di_extra.controller_injectors_warmer');
     }
     $this->configureMetadata($config['metadata'], $container, $config['cache_dir'] . '/metadata');
     $this->configureAutomaticControllerInjections($config, $container);
     if ($config['doctrine_integration']) {
         $this->generateEntityManagerProxyClass($config, $container);
     }
     $this->addClassesToCompile(array('JMS\\DiExtraBundle\\HttpKernel\\ControllerResolver'));
 }