/**
  * Loads the Swift Mailer configuration.
  *
  * Usage example:
  *
  *      <swiftmailer:config transport="gmail">
  *        <swiftmailer:username>fabien</swift:username>
  *        <swiftmailer:password>xxxxx</swift:password>
  *        <swiftmailer:spool path="/path/to/spool/" />
  *      </swiftmailer:config>
  *
  * @param array            $config    An array of configuration settings
  * @param ContainerBuilder $container A ContainerBuilder instance
  */
 public function configLoad(array $config, ContainerBuilder $container)
 {
     if (!$container->hasDefinition('swiftmailer.mailer')) {
         $loader = new XmlFileLoader($container, __DIR__ . '/../Resources/config');
         $loader->load('swiftmailer.xml');
         $container->setAlias('mailer', 'swiftmailer.mailer');
     }
     $r = new \ReflectionClass('Swift_Message');
     $container->setParameter('swiftmailer.base_dir', dirname(dirname(dirname($r->getFilename()))));
     $transport = $container->getParameter('swiftmailer.transport.name');
     if (array_key_exists('transport', $config)) {
         if (null === $config['transport']) {
             $transport = 'null';
         } elseif ('gmail' === $config['transport']) {
             $config['encryption'] = 'ssl';
             $config['auth_mode'] = 'login';
             $config['host'] = 'smtp.gmail.com';
             $transport = 'smtp';
         } else {
             $transport = $config['transport'];
         }
         $container->setParameter('swiftmailer.transport.name', $transport);
     }
     $container->setAlias('swiftmailer.transport', 'swiftmailer.transport.' . $transport);
     if (isset($config['encryption']) && 'ssl' === $config['encryption'] && !isset($config['port'])) {
         $config['port'] = 465;
     }
     foreach (array('encryption', 'port', 'host', 'username', 'password', 'auth_mode') as $key) {
         if (isset($config[$key])) {
             $container->setParameter('swiftmailer.transport.' . $transport . '.' . $key, $config[$key]);
         }
     }
     // spool?
     if (isset($config['spool'])) {
         $type = isset($config['spool']['type']) ? $config['spool']['type'] : 'file';
         $container->setAlias('swiftmailer.transport.real', 'swiftmailer.transport.' . $transport);
         $container->setAlias('swiftmailer.transport', 'swiftmailer.transport.spool');
         $container->setAlias('swiftmailer.spool', 'swiftmailer.spool.' . $type);
         foreach (array('path') as $key) {
             if (isset($config['spool'][$key])) {
                 $container->setParameter('swiftmailer.spool.' . $type . '.' . $key, $config['spool'][$key]);
             }
         }
     }
     if (array_key_exists('delivery-address', $config)) {
         $config['delivery_address'] = $config['delivery-address'];
     }
     if (isset($config['delivery_address']) && $config['delivery_address']) {
         $container->setParameter('swiftmailer.single_address', $config['delivery_address']);
         $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.redirecting')));
     } else {
         $container->setParameter('swiftmailer.single_address', null);
     }
     if (array_key_exists('disable-delivery', $config)) {
         $config['disable_delivery'] = $config['disable-delivery'];
     }
     if (isset($config['disable_delivery']) && $config['disable_delivery']) {
         $container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.blackhole')));
     }
 }
 public function setParameterSection(ContainerBuilder $container, $page, array $captchaConfig)
 {
     $container->setParameter('captcha.config.' . $page, $captchaConfig);
     $container->setParameter('captcha.config.' . $page . '.captcha_id', $captchaConfig['captcha_id']);
     $container->setParameter('captcha.config.' . $page . '.user_input_id', $captchaConfig['user_input_id']);
     $container->setParameter('captcha.config.' . $page . '.captcha_config_file_path', $captchaConfig['captcha_config_file_path']);
 }
 public function loadPhpcr($config, XmlFileLoader $loader, ContainerBuilder $container, $useImagine)
 {
     $container->setParameter($this->getAlias() . '.backend_type_phpcr', true);
     $keys = array('string_document_class' => 'string_document.class', 'simple_document_class' => 'simple_document.class', 'container_document_class' => 'container_document.class', 'reference_document_class' => 'reference_document.class', 'menu_document_class' => 'menu_document.class', 'action_document_class' => 'action_document.class', 'imagine_document_class' => 'imagine_document.class', 'slideshow_document_class' => 'slideshow_document.class', 'string_admin_class' => 'string_admin.class', 'simple_admin_class' => 'simple_admin.class', 'container_admin_class' => 'container_admin.class', 'reference_admin_class' => 'reference_admin.class', 'menu_admin_class' => 'menu_admin.class', 'action_admin_class' => 'action_admin.class', 'imagine_admin_class' => 'imagine_admin.class', 'slideshow_admin_class' => 'slideshow_admin.class', 'block_basepath' => 'block_basepath', 'manager_name' => 'manager_name');
     foreach ($keys as $sourceKey => $targetKey) {
         if (isset($config[$sourceKey])) {
             $container->setParameter($this->getAlias() . '.persistence.phpcr.' . $targetKey, $config[$sourceKey]);
         }
     }
     $loader->load('persistence-phpcr.xml');
     if ($config['use_sonata_admin']) {
         $this->loadSonataPhpcrAdmin($config, $loader, $container, $useImagine);
     }
     $blockLoader = $container->getDefinition('cmf.block.service');
     $blockLoader->replaceArgument(0, new Reference('doctrine_phpcr'));
     $blockLoader->addMethodCall('setManagerName', array('%cmf_block.persistence.phpcr.manager_name%'));
     $bundles = $container->getParameter('kernel.bundles');
     if (isset($bundles['CmfCreateBundle'])) {
         $blockLoader = $container->getDefinition('cmf.block.simple');
         $blockLoader->addMethodCall('setTemplate', array('CmfBlockBundle:Block:block_simple_createphp.html.twig'));
         $blockLoader = $container->getDefinition('cmf.block.string');
         $blockLoader->addMethodCall('setTemplate', array('CmfBlockBundle:Block:block_string_createphp.html.twig'));
     }
     if (isset($bundles['CmfMenuBundle'])) {
         $loader->load('menu.xml');
     }
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     if (!isset($config['thread_per_page'])) {
         throw new \InvalidArgumentException('The "thread_per_page" option must be set in "yosimitso_working_forum"');
     }
     if (!isset($config['post_per_page'])) {
         throw new \InvalidArgumentException('The "post_per_page" option must be set in "yosimitso_working_forum"');
     }
     if (!isset($config['date_format'])) {
         throw new \InvalidArgumentException('The "post_per_page" option must be set in "yosimitso_working_forum"');
     }
     if (!isset($config['allow_anonymous_read'])) {
         throw new \InvalidArgumentException('The "allow_anonymous_read" option must be set in "yosimitso_working_forum"');
     }
     if (!isset($config['allow_moderator_delete_thread'])) {
         throw new \InvalidArgumentException('The "allow_moderator_delete_thread" option must be set in "yosimitso_working_forum"');
     }
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     $container->setParameter('yosimitso_working_forum.thread_per_page', $config['thread_per_page']);
     $container->setParameter('yosimitso_working_forum.post_per_page', $config['post_per_page']);
     $container->setParameter('yosimitso_working_forum.date_format', $config['date_format']);
     $container->setParameter('yosimitso_working_forum.allow_anonymous_read', $config['allow_anonymous_read']);
     $container->setParameter('yosimitso_working_forum.allow_moderator_delete_thread', $config['allow_moderator_delete_thread']);
 }
 /**
  * {@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');
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load(sprintf('services.%s.yml', $config['db_driver']));
     $container->setParameter($this->getAlias() . '.db_driver', $config['db_driver']);
     $container->setParameter($this->getAlias() . '.model_manager_name', $config['model_manager_name']);
     $container->setParameter($this->getAlias() . '.cronjob_class', $config['cronjob_class']);
     $container->setParameter($this->getAlias() . '.cronjob_console', $config['cronjob_console']);
     $container->setParameter($this->getAlias() . '.logs_path', $config['logs_path']);
     if ('orm' === $config['db_driver']) {
         $managerService = $this->getAlias() . '.entity_manager';
         $doctrineService = 'doctrine';
     } else {
         $managerService = '';
         $doctrineService = '';
     }
     $definition = $container->getDefinition($managerService);
     if (method_exists($definition, 'setFactory')) {
         $definition->setFactory(array(new Reference($doctrineService), 'getManager'));
     } else {
         $definition->setFactoryService($doctrineService);
         $definition->setFactoryMethod('getManager');
     }
     $container->setAlias($this->getAlias() . '.manager', $config['crontab_manager']);
     $definition = $container->getDefinition($config['crontab_manager']);
     $definition->addMethodCall('registryConfigCronjobs', array($config['jobs']));
     $loader->load('services.yml');
 }
 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');
     }
 }
Example #8
0
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $container->setParameter('enhavo_app.stylesheets', $config['stylesheets']);
     $container->setParameter('enhavo_app.javascripts', $config['javascripts']);
     $container->setParameter('enhavo_app.menu', $config['menu']);
     $container->setParameter('enhavo_app.show_version', $config['show_version']);
     $container->setParameter('enhavo_app.show_branding', $config['show_branding']);
     $container->setParameter('enhavo_app.logo_path', $config['logo_path']);
     $container->setParameter('enhavo_app.login_redirect', $config['login_redirect']);
     $container->setParameter('enhavo_app.template', $config['template']);
     $container->setParameter('enhavo_app.route.url_resolver', $config['route']['url_resolver']);
     $container->setParameter('enhavo_app.route.auto_generator', $config['route']['auto_generator']);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services/services.yml');
     $loader->load('services/twig.yml');
     $loader->load('services/viewer.yml');
     $loader->load('services/block.yml');
     $loader->load('services/button.yml');
     $loader->load('services/routing.yml');
     $loader->load('services/form.yml');
     $loader->load('services/table.yml');
     $loader->load('services/action.yml');
     $loader->load('services/batch.yml');
     $loader->load('services/menu.yml');
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     //generate_translation
     $container->setParameter('dev_generator_tool.generate_translation', $config['generate_translation']);
     //dir_skeleton
     $container->setParameter('dev_generator_tool.dir_skeleton', $config['dir_skeleton']);
     //core
     $container->setParameter('dev_generator_tool.bundle.core.path', $config['bundle']['core_path']);
     $bundleName = str_replace('/', '', $config['bundle']['core_path']);
     $container->setParameter('dev_generator_tool.bundle.core.name', $bundleName);
     $bundleNs = str_replace('/', '\\', $config['bundle']['core_path']);
     $container->setParameter('dev_generator_tool.bundle.core.ns', $bundleNs);
     $baseNs = explode('\\', $bundleNs)[0];
     $container->setParameter('dev_generator_tool.bundle.core.base_ns', $baseNs);
     //web
     $container->setParameter('dev_generator_tool.bundle.web.path', $config['bundle']['web_path']);
     $bundleName = str_replace('/', '', $config['bundle']['web_path']);
     $container->setParameter('dev_generator_tool.bundle.web.name', $bundleName);
     $bundleNs = str_replace('/', '\\', $config['bundle']['web_path']);
     $container->setParameter('dev_generator_tool.bundle.web.ns', $bundleNs);
     $baseNs = explode('\\', $bundleNs)[0];
     $container->setParameter('dev_generator_tool.bundle.web.base_ns', $baseNs);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     //Create configuration object
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     //Set orm-service in array of services
     $services = array('orm' => 'orm-services');
     //set supported encryptor classes
     $supportedEncryptorClasses = self::$supportedEncryptorClasses;
     //If no secret key is set, check for framework secret, otherwise throw exception
     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 encryptor class, use Rijndael 256 encryptor
     if (empty($config['encryptor_class'])) {
         if (isset($config['encryptor']) and isset($supportedEncryptorClasses[$config['encryptor']])) {
             $config['encryptor_class'] = $supportedEncryptorClasses[$config['encryptor']];
         } else {
             $config['encryptor_class'] = $supportedEncryptorClasses['rijndael256'];
         }
     }
     //Set parameters
     $container->setParameter('ambta_doctrine_encrypt.encryptor_class_name', $config['encryptor_class']);
     $container->setParameter('ambta_doctrine_encrypt.secret_key', $config['secret_key']);
     //Load service file
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load(sprintf('%s.yml', $services['orm']));
 }
 /**
  * Passes MinkExtension's base_url parameter
  *
  * @param ContainerBuilder $container
  */
 public function process(ContainerBuilder $container)
 {
     $frameworkPath = $container->getParameter('behat.silverstripe_extension.framework_path');
     global $_FILE_TO_URL_MAPPING;
     if ($container->getParameter('behat.mink.base_url')) {
         // If base_url is already defined, also set it in the SilverStripe mapping
         $_FILE_TO_URL_MAPPING[dirname($frameworkPath)] = $container->getParameter('behat.mink.base_url');
     } else {
         if ($envPath = $this->findEnvironmentConfigFile($frameworkPath)) {
             // Otherwise try to retrieve it from _ss_environment
             include_once $envPath;
             if (isset($_FILE_TO_URL_MAPPING) && !($container->hasParameter('behat.mink.base_url') && $container->getParameter('behat.mink.base_url'))) {
                 $baseUrl = $this->findBaseUrlFromMapping(dirname($frameworkPath), $_FILE_TO_URL_MAPPING);
                 if ($baseUrl) {
                     $container->setParameter('behat.mink.base_url', $baseUrl);
                 }
             }
         }
     }
     if (!$container->getParameter('behat.mink.base_url')) {
         throw new \InvalidArgumentException('"base_url" not configured. Please specify it in your behat.yml configuration, ' . 'or in your _ss_environment.php configuration through $_FILE_TO_URL_MAPPING');
     }
     // The Behat\MinkExtension\Extension class copies configuration into an internal hash,
     // we need to follow this pattern to propagate our changes.
     $parameters = $container->getParameter('behat.mink.parameters');
     $parameters['base_url'] = $container->getParameter('behat.mink.base_url');
     $container->setParameter('behat.mink.parameters', $parameters);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $container->setParameter('rs_queue.queues', $config['queues']);
     $container->setParameter('rs_queue.serializer.class', $config['serializer']);
     $container->setParameter('rs_queue.server.redis', $config['server']['redis']);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     // BC sf < 2.6
     $definition = $container->getDefinition('rs_queue.serializer');
     if (method_exists($definition, 'setFactory')) {
         $definition->setFactory(array(new Reference('rs_queue.serializer.factory'), 'get'));
     } else {
         $definition->setFactoryService('rs_queue.serializer.factory');
         $definition->setFactoryMethod('get');
     }
     // BC sf < 2.6
     $definition = $container->getDefinition('rs_queue.redis');
     if (method_exists($definition, 'setFactory')) {
         $definition->setFactory(array(new Reference('rs_queue.redis.factory'), 'get'));
     } else {
         $definition->setFactoryService('rs_queue.redis.factory');
         $definition->setFactoryMethod('get');
     }
 }
 /**
  * Loads a specific configuration.
  *
  * @param array            $configs   An array of configuration values
  * @param ContainerBuilder $container A ContainerBuilder instance
  *
  * @throws InvalidArgumentException When provided tag is not defined in this extension
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $container->setParameter('security.acl.permission.map.class', 'Kunstmaan\\AdminBundle\\Helper\\Security\\Acl\\Permission\\PermissionMap');
     $container->setParameter('version_checker.url', 'http://bundles.kunstmaan.be/version-check');
     $container->setParameter('version_checker.timeframe', 60 * 60 * 24);
     $container->setParameter('version_checker.enabled', true);
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     if (array_key_exists('dashboard_route', $config)) {
         $container->setParameter('kunstmaan_admin.dashboard_route', $config['dashboard_route']);
     }
     if (array_key_exists('admin_password', $config)) {
         $container->setParameter('kunstmaan_admin.admin_password', $config['admin_password']);
     }
     $container->setParameter('kunstmaan_admin.admin_locales', $config['admin_locales']);
     $container->setParameter('kunstmaan_admin.default_admin_locale', $config['default_admin_locale']);
     $container->setParameter('kunstmaan_admin.session_security.ip_check', $config['session_security']['ip_check']);
     $container->setParameter('kunstmaan_admin.session_security.user_agent_check', $config['session_security']['user_agent_check']);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     if (!empty($config['enable_console_exception_listener']) && $config['enable_console_exception_listener']) {
         $loader->load('console_listener.yml');
     }
     if (0 !== sizeof($config['menu_items'])) {
         $this->addSimpleMenuAdaptor($container, $config['menu_items']);
     }
 }
 public function testPredefinedDiscovery()
 {
     $this->container->setParameter('kernel.debug', false);
     $this->load(['service' => ['name' => 'phpunit'], 'discovery' => ['type' => 'predefined', 'endpoints' => ['name' => ['http://foo.com', 'https://foo.com']]]]);
     $driver = $this->container->get('seven_service_bus.discovery');
     $this->assertInstanceOf(PredefinedDiscovery::class, $driver);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     if (array_key_exists('incident', $config)) {
         $container->setParameter('zimban.incident.lifetime', $config['incident']['lifetime']);
     }
     if (array_key_exists('banner', $config)) {
         $container->setParameter('zimban.banner.incidents_to_ban', $config['banner']['incidents_to_ban']);
         $container->setParameter('zimban.banner.ban_time_frame', $config['banner']['ban_time_frame']);
     }
     if (array_key_exists('enabled', $config)) {
         if ($container->hasDefinition('zimban.listener.security_hook_listener')) {
             $definition = $container->getDefinition('zimban.listener.security_hook_listener');
             if (!$definition->hasTag('kernel.event_subscriber') && $config['enabled']) {
                 $definition->addTag('kernel.event_subscriber', array());
             }
             if (!$config['enabled']) {
                 $container->removeDefinition('zimban.listener.security_hook_listener');
             }
         }
     }
 }
 public function load(array $config, ContainerBuilder $container)
 {
     // we load all services
     $loaderYaml = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/service'));
     $loaderYaml->load('services.yml');
     $loaderYaml->load('services_util.yml');
     $loaderYaml->load('services_twig_extension.yml');
     // we load config
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $config);
     /**
      * Mail config parameter
      */
     if (isset($config['mail'])) {
         if (isset($config['mail']['overloading_mail'])) {
             $container->setParameter('sfynx.tool.mail.overloading_mail', $config['mail']['overloading_mail']);
         } else {
             $container->setParameter('sfynx.tool.mail.overloading_mail', '');
         }
     }
     /**
      * Date config parameter
      */
     if (isset($config['date']['cache_file'])) {
         $container->setParameter('sfynx.tool.date.cache_file', $config['date']['cache_file']);
     }
     /**
      * LayoutHead config parameter
      */
     $container->setParameter('js_files', array());
     $container->setParameter('css_files', array());
 }
Example #17
0
 public function load(array $configs, ContainerBuilder $container)
 {
     $processor = new Processor();
     $configuration = new Configuration();
     $config = $processor->process($configuration->getConfigTree(), $configs);
     $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('model.xml');
     $loader->load('provider.xml');
     $loader->load('sync.xml');
     $loader->load('messenger.xml');
     foreach ($config['feature'] as $feature => $enabled) {
         if ($enabled) {
             $loader->load($feature . '.xml');
         }
     }
     if ($config['feature']['ai']) {
         foreach (array('enabled', 'priority', 'executable_path', 'book_dir') as $option) {
             $container->setParameter('lichess.ai.crafty.' . $option, $config['ai']['crafty'][$option]);
         }
         foreach (array('enabled', 'priority') as $option) {
             $container->setParameter('lichess.ai.stupid.' . $option, $config['ai']['stupid'][$option]);
         }
     }
     $container->setParameter('lichess.debug_assets', $config['debug_assets']);
     $container->setParameter('lichess.sync.path', $config['sync']['path']);
     if ($config['test']) {
         $loader->load('test.xml');
     }
 }
 public static function getContainerParameter()
 {
     $builder = new ContainerBuilder();
     $builder->setParameter('database_name', 'symfony');
     $builder->setParameter('twig.form.resources', array('bootstrap_3_horizontal_layout.html.twig', 'bootstrap_3_layout.html.twig', 'form_div_layout.html.twig', 'form_table_layout.html.twig'));
     return array('parameter' => $builder, 'array_parameter' => $builder);
 }
 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);
 }
 /**
  * {@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')));
 }
 /**
  * {@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);
     }
 }
 /**
  * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
  * @param array                                                   $config
  */
 public function registerParameters(ContainerBuilder $container, array $config)
 {
     $container->setParameter('sonata.order.order.class', $config['class']['order']);
     $container->setParameter('sonata.order.order_element.class', $config['class']['order_element']);
     $container->setParameter('sonata.order.admin.order.entity', $config['class']['order']);
     $container->setParameter('sonata.order.admin.order_element.entity', $config['class']['order_element']);
 }
 /**
  * {@inheritDoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $yamlloader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $yamlloader->load("form_extensions.yml");
     if (isset($config['form'])) {
         if (isset($config['form']['render_fieldset'])) {
             $container->setParameter('mopa_bootstrap.form.render_fieldset', $config['form']['render_fieldset']);
         }
         if (isset($config['form']['show_legend'])) {
             $container->setParameter('mopa_bootstrap.form.show_legend', $config['form']['show_legend']);
         }
         if (isset($config['form']['show_child_legend'])) {
             $container->setParameter('mopa_bootstrap.form.show_child_legend', $config['form']['show_child_legend']);
         }
         if (isset($config['form']['error_type'])) {
             $container->setParameter('mopa_bootstrap.form.error_type', $config['form']['error_type']);
         }
     }
     if (isset($config['navbar'])) {
         $xmlloader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
         $yamlloader->load("navbar_extension.yml");
         if (isset($config['navbar']['template'])) {
             $container->setParameter('mopa_bootstrap.navbar.template', $config['navbar']['template']);
         }
         if (isset($config['navbar']['service'])) {
             if ($config['navbar']['service'] == 'mopa_bootstrap.example.navbar') {
                 $this->loadExamples($container);
             }
             $container->setAlias('mopa_bootstrap.navbar.service', $config['navbar']['service']);
         }
     }
 }
Example #24
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']);
 }
 /**
  * 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));
 }
 /**
  * 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']);
 }
 /**
  * {@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']]));
 }
 /**
  * Check if load adds parameters to container as expected.
  *
  * @param array $parameters
  * @param array $expectedConnections
  * @param array $expectedManagers
  *
  * @dataProvider getData
  */
 public function testLoad($parameters, $expectedConnections, $expectedManagers)
 {
     $container = new ContainerBuilder();
     class_exists('testClass') ?: eval('class testClass {}');
     $container->setParameter('kernel.bundles', ['testBundle' => 'testClass']);
     $container->setParameter('kernel.cache_dir', '');
     $container->setParameter('kernel.debug', true);
     $extension = new SineflowElasticsearchExtension();
     $extension->load($parameters, $container);
     $this->assertEquals($expectedConnections, $container->getParameter('sfes.connections'), 'Incorrect connections parameter.');
     $this->assertEquals($expectedManagers, $container->getParameter('sfes.indices'), 'Incorrect index managers parameter');
     $this->assertTrue($container->hasDefinition('sfes.document_converter'), 'Container should have sfes.document_converter definition set.');
     $this->assertTrue($container->hasDefinition('sfes.provider_registry'), 'Container should have sfes.provider_registry definition set.');
     $this->assertTrue($container->hasDefinition('sfes.index_manager_factory'), 'Container should have sfes.index_manager_factory definition set.');
     $this->assertTrue($container->hasDefinition('sfes.index_manager_registry'), 'Container should have sfes.index_manager_registry definition set.');
     $this->assertTrue($container->hasDefinition('sfes.finder'), 'Container should have sfes.finder definition set.');
     $this->assertTrue($container->hasDefinition('sfes.document_locator'), 'Container should have sfes.document_locator definition set.');
     $this->assertTrue($container->hasDefinition('sfes.cache_engine'), 'Container should have sfes.cache_engine definition set.');
     $this->assertTrue($container->hasDefinition('sfes.annotations.reader'), 'Container should have sfes.annotations.reader definition set.');
     $this->assertTrue($container->hasDefinition('sfes.provider_registry'), 'Container should have sfes.provider_registry definition set.');
     $this->assertTrue($container->hasDefinition('sfes.document_parser'), 'Container should have sfes.document_parser definition set.');
     $this->assertTrue($container->hasDefinition('sfes.document_metadata_collector'), 'Container should have sfes.document_metadata_collector definition set.');
     $this->assertTrue($container->hasDefinition('sfes.logger.collection_handler'), 'Container should have sfes.logger.collection_handler definition set.');
     $this->assertTrue($container->hasDefinition('sfes.connection_factory'), 'Container should have sfes.connection_factory definition set.');
     $this->assertTrue($container->hasDefinition('sfes.profiler'), 'Container should have sfes.profiler definition set.');
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     $typeIdx = array();
     foreach ($container->findTaggedServiceIds('form.type') as $id => $tags) {
         $typeIdx[] = $id;
     }
     $typeExtensionIdx = array();
     foreach ($container->findTaggedServiceIds('form.type_extension') as $id => $tag) {
         $typeExtensionIdx[] = $id;
     }
     $container->setParameter('sonata.core.form.types', $typeIdx);
     $container->setParameter('sonata.core.form.type_extensions', $typeExtensionIdx);
     // nothing to do
     if (!$container->hasDefinition('sonata.core.form.extension.dependency')) {
         return;
     }
     // get factories
     $original = $container->getDefinition('form.extension');
     $factory = $container->getDefinition('sonata.core.form.extension.dependency');
     $factory->replaceArgument(1, $original->getArgument(1));
     $factory->replaceArgument(2, $original->getArgument(2));
     $factory->replaceArgument(3, $original->getArgument(3));
     $container->removeDefinition('form.extension');
     $container->removeDefinition('sonata.core.form.extension.dependency');
     $container->setDefinition('form.extension', $factory);
 }
 public function process(ContainerBuilder $container)
 {
     $container->setParameter('json_api.controller_listener.class', ControllerListener::class);
     $container->setParameter('json_api.symfony_integration.class', SymfonyIntegration::class);
     $container->register('json_api.symfony_integration', '%json_api.symfony_integration.class%')->addMethodCall('setContainer', array(new Reference('service_container')));
     $container->register('json_api.controller_listener', '%json_api.controller_listener.class%')->addMethodCall('setContainer', array(new Reference('service_container')))->addTag('kernel.event_listener', ['event' => 'kernel.controller', 'method' => 'onKernelController']);
 }