/** * 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'); } }
/** * {@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()); }
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']); } } }
/** * {@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']); }