getExtensions() public method

Returns all registered extensions.
public getExtensions ( ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface[]
return Symfony\Component\DependencyInjection\Extension\ExtensionInterface[] An array of ExtensionInterface
Example #1
0
 /**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     // process the configuration of SuluCoreExtension
     $configs = $container->getExtensionConfig($this->getAlias());
     $parameterBag = $container->getParameterBag();
     $configs = $parameterBag->resolveValue($configs);
     $config = $this->processConfiguration(new Configuration(), $configs);
     if (isset($config['phpcr'])) {
         $phpcrConfig = $config['phpcr'];
         // TODO: Workaround for issue: https://github.com/doctrine/DoctrinePHPCRBundle/issues/178
         if (!isset($phpcrConfig['backend']['check_login_on_server'])) {
             $phpcrConfig['backend']['check_login_on_server'] = false;
         }
         foreach ($container->getExtensions() as $name => $extension) {
             $prependConfig = [];
             switch ($name) {
                 case 'doctrine_phpcr':
                     $prependConfig = ['session' => $phpcrConfig, 'odm' => []];
                     break;
                 case 'cmf_core':
                     break;
             }
             if ($prependConfig) {
                 $container->prependExtensionConfig($name, $prependConfig);
             }
         }
     }
     if ($container->hasExtension('massive_build')) {
         $container->prependExtensionConfig('massive_build', ['command_class' => 'Sulu\\Bundle\\CoreBundle\\CommandOptional\\SuluBuildCommand']);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     $parameters = $container->getParameterBag()->all();
     $definitions = $container->getDefinitions();
     $aliases = $container->getAliases();
     $exprLangProviders = $container->getExpressionLanguageProviders();
     foreach ($container->getExtensions() as $extension) {
         if ($extension instanceof PrependExtensionInterface) {
             $extension->prepend($container);
         }
     }
     foreach ($container->getExtensions() as $name => $extension) {
         if (!($config = $container->getExtensionConfig($name))) {
             // this extension was not called
             continue;
         }
         $config = $container->getParameterBag()->resolveValue($config);
         $tmpContainer = new ContainerBuilder($container->getParameterBag());
         $tmpContainer->setResourceTracking($container->isTrackingResources());
         $tmpContainer->addObjectResource($extension);
         foreach ($exprLangProviders as $provider) {
             $tmpContainer->addExpressionLanguageProvider($provider);
         }
         $extension->load($config, $tmpContainer);
         $container->merge($tmpContainer);
         $container->getParameterBag()->add($parameters);
     }
     $container->addDefinitions($definitions);
     $container->addAliases($aliases);
 }
 /**
  * @param ContainerBuilder $container
  *
  * @return void
  */
 public function prepend(ContainerBuilder $container)
 {
     // Build fos_elastica config for each widget
     $elasticaConfig = [];
     $kernel = new \AppKernel('prod', false);
     $yamlParser = new Yaml();
     foreach ($kernel->registerBundles() as $bundle) {
         /* @var Bundle $bundle */
         $path = $bundle->getPath();
         //If bundle is a widget
         if (0 === strpos($bundle->getNamespace(), 'Victoire\\Widget\\')) {
             //find for a fos_elastica.yml config file
             $widgetConfig = $yamlParser->parse($path . '/Resources/config/config.yml');
             if (is_array($widgetConfig)) {
                 foreach ($widgetConfig['victoire_core']['widgets'] as $_widgetConfig) {
                     if (array_key_exists('fos_elastica', $widgetConfig)) {
                         $_config = ['indexes' => ['widgets' => ['types' => [$_widgetConfig['name'] => ['serializer' => ['groups' => ['search']], 'mappings' => [], 'persistence' => ['driver' => 'orm', 'model' => $_widgetConfig['class'], 'provider' => [], 'listener' => [], 'finder' => []]]]]]];
                         $_config = array_merge_recursive($widgetConfig['fos_elastica'], $_config);
                         $elasticaConfig = array_merge_recursive($elasticaConfig, $_config);
                     }
                 }
             }
         }
     }
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'fos_elastica':
                 $container->prependExtensionConfig($name, $elasticaConfig);
                 break;
         }
     }
 }
 /**
  * Prepend our mediabundle config before all other bundles, so we can preset
  * their config with our parameters
  *
  * @param  ContainerBuilder $container
  *
  * @return void
  */
 public function prepend(ContainerBuilder $container)
 {
     $configs = $container->getExtensionConfig($this->getAlias());
     $config = $this->processConfiguration(new Configuration(), $configs);
     $container->setAlias('opifer.media.media_manager', $config['media_manager']);
     $parameters = $this->getParameters($config);
     foreach ($parameters as $key => $value) {
         $container->setParameter($key, $value);
     }
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'doctrine':
                 $container->prependExtensionConfig($name, ['orm' => ['resolve_target_entities' => ['Opifer\\MediaBundle\\Model\\MediaInterface' => $config['media_class']]]]);
                 break;
             case 'twig':
                 $container->prependExtensionConfig($name, ['form' => ['resources' => ['OpiferMediaBundle:Form:fields.html.twig']]]);
                 break;
             case 'liip_imagine':
                 $container->prependExtensionConfig($name, ['resolvers' => ['local_storage' => ['web_path' => null], 'aws_storage' => ['aws_s3' => ['client_config' => ['key' => $config['storages']['aws_s3']['key'], 'secret' => $config['storages']['aws_s3']['secret'], 'region' => $config['storages']['aws_s3']['region']], 'bucket' => $config['storages']['aws_s3']['bucket']]]], 'cache' => $config['default_storage'], 'data_loader' => 'stream.file_storage', 'loaders' => ['stream.file_storage' => ['stream' => ['wrapper' => 'gaufrette://file_storage/']]], 'driver' => 'imagick', 'filter_sets' => ['medialibrary' => ['quality' => 100, 'filters' => ['relative_resize' => ['heighten' => 160]]]]]);
                 break;
             case 'knp_gaufrette':
                 $container->prependExtensionConfig($name, ['adapters' => ['tmp_storage' => ['local' => ['directory' => $config['storages']['temp']['directory']]], 'local_storage' => ['local' => ['directory' => $config['storages']['local']['directory']]], 'aws_storage' => ['aws_s3' => ['service_id' => 'opifer.media.aws_s3.client', 'bucket_name' => $config['storages']['aws_s3']['bucket'], 'options' => ['directory' => 'originals', 'acl' => 'public-read']]]], 'filesystems' => ['tmp_storage' => ['adapter' => 'tmp_storage', 'alias' => 'tmp_storage_filesystem'], 'file_storage' => ['adapter' => $config['default_storage'], 'alias' => 'file_storage_filesystem']], 'stream_wrapper' => null]);
                 break;
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     $configLoader = new CumulativeConfigLoader('oro_app_config', new YamlCumulativeFileLoader('Resources/config/oro/app.yml'));
     // original security config
     $securityConfig = null;
     $securityModified = false;
     if ($container->hasExtension('security')) {
         $securityConfig = $container->getExtensionConfig('security');
     }
     $resources = $configLoader->load();
     $extensions = $container->getExtensions();
     foreach ($resources as $resource) {
         foreach ($resource->data as $name => $config) {
             if (!empty($extensions[$name])) {
                 if ($name === 'security') {
                     $this->mergeConfigIntoOne($container, $name, $config);
                     $securityModified = true;
                 } else {
                     $container->prependExtensionConfig($name, $config);
                 }
             }
         }
     }
     // original security config has highest priority
     if ($securityConfig && $securityModified) {
         $this->mergeConfigIntoOne($container, 'security', reset($securityConfig));
     }
     $this->preparePostgreSql($container);
 }
Example #6
0
 /**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     $config = $this->processConfiguration(new Configuration(), $container->getExtensionConfig($this->getAlias()));
     foreach ($container->getExtensions() as $name => $extension) {
         if (in_array($name, $this->bundles)) {
             $container->prependExtensionConfig($name, ['driver' => $config['driver']]);
         }
     }
     $routeClasses = $controllerByClasses = $repositoryByClasses = $syliusByClasses = [];
     foreach ($config['routing'] as $className => $routeConfig) {
         $routeClasses[$className] = ['field' => $routeConfig['field'], 'prefix' => $routeConfig['prefix']];
         $controllerByClasses[$className] = $routeConfig['defaults']['controller'];
         $repositoryByClasses[$className] = $routeConfig['defaults']['repository'];
         $syliusByClasses[$className] = $routeConfig['defaults']['sylius'];
     }
     $container->prependExtensionConfig('sylius_theme', ['context' => 'sylius.theme.context.channel_based']);
     $container->setParameter('sylius.route_classes', $routeClasses);
     $container->setParameter('sylius.controller_by_classes', $controllerByClasses);
     $container->setParameter('sylius.repository_by_classes', $repositoryByClasses);
     $container->setParameter('sylius.sylius_by_classes', $syliusByClasses);
     $container->setParameter('sylius.route_collection_limit', $config['route_collection_limit']);
     $container->setParameter('sylius.route_uri_filter_regexp', $config['route_uri_filter_regexp']);
     $container->setParameter('sylius.sitemap', $config['sitemap']);
     $container->setParameter('sylius.sitemap_template', $config['sitemap']['template']);
 }
Example #7
0
 /**
  * Load registered bundles' extensions
  */
 protected function loadExtensions()
 {
     $extensions = $this->container->getExtensions();
     foreach ($extensions as $extension) {
         $configs = $this->container->getExtensionConfig($extension->getAlias());
         $extension->load($configs, $this->container);
     }
 }
 protected function configureAsseticBundle(ContainerBuilder $container, array $config)
 {
     $extensions = $container->getExtensions();
     if (true === isset($extensions['assetic'])) {
         $asseticConfig = new AsseticConfiguration();
         $container->prependExtensionConfig('assetic', array('assets' => $asseticConfig->build($config)));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $extension) {
         if (!$extension instanceof CompilerPassInterface) {
             continue;
         }
         $extension->process($container);
     }
 }
 public function process(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $extension) {
         $parameterName = $extension->getAlias() . '.routing_discriminator.map';
         if ($container->hasParameter($parameterName)) {
             $this->processParameters($container->getParameter($parameterName), $container);
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     $config = $this->processConfiguration($this->getBundleConfiguration(), $container->getExtensionConfig($this->getAlias()));
     foreach ($container->getExtensions() as $name => $extension) {
         if (in_array($name, $this->bundles)) {
             $container->prependExtensionConfig($name, array('driver' => $config['driver']));
         }
     }
 }
 public function process(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $extension) {
         $parameterName = $extension->getAlias() . '.doctrine_orm_mapping.map';
         if ($container->hasParameter($parameterName)) {
             $this->processParameters($container->getParameter($parameterName), $container);
         }
     }
 }
 /**
  * Allow an extension to prepend the extension configurations.
  *
  * @param ContainerBuilder $container
  */
 public function prepend(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'twig':
                 $container->prependExtensionConfig($name, array('form' => array('resources' => array('ExtensionsBundle:Form:datetime_local.html.twig', 'ExtensionsBundle:Form:entity_autocomplete.html.twig'))));
                 break;
         }
     }
 }
 /**
  * @param ContainerBuilder $container The service container
  *
  * @return void
  */
 protected function configureTwigBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'twig':
                 $container->prependExtensionConfig($name, array('form' => array('resources' => array($this->formTemplate))));
                 break;
         }
     }
 }
 /**
  * @param ContainerBuilder $container The service container
  */
 protected function configureSecurityBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'security':
                 $container->prependExtensionConfig($name, array('encoders' => array('FOS\\UserBundle\\Model\\UserInterface' => 'sha512'), 'role_hierarchy' => array('ROLE_ADMIN' => 'ROLE_USER', 'ROLE_SUPER_ADMIN' => 'ROLE_ADMIN')));
                 break;
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContainerBuilder $container)
 {
     $classes = array();
     foreach ($container->getExtensions() as $extension) {
         if ($extension instanceof Extension) {
             $classes = array_merge($classes, $extension->getClassesToCompile());
         }
     }
     $this->kernel->setClassCache(array_unique($container->getParameterBag()->resolveValue($classes)));
 }
 /**
  * {@inheritDoc}
  */
 public function process(ContainerBuilder $container)
 {
     $classes = array();
     foreach ($container->getExtensions() as $extension) {
         if ($extension instanceof Extension) {
             $classes = array_merge($classes, $extension->getClassesToCompile());
         }
     }
     $container->setParameter('kernel.compiled_classes', array_unique($classes));
 }
Example #18
0
 /**
  * @param ContainerBuilder $container The service container
  */
 protected function configureFOSUserBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'fos_user':
                 $container->prependExtensionConfig($name, ['db_driver' => 'orm', 'firewall_name' => 'backoffice', 'user_class' => User::class, 'group' => ['group_class' => Group::class]]);
                 break;
         }
     }
 }
Example #19
0
 /**
  * @param ContainerBuilder $container The service container
  */
 protected function configureDoctrineBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'doctrine':
                 $container->prependExtensionConfig($name, array('orm' => array('filters' => array('node_publication_filter' => array('class' => NodePublicationFilter::class, 'enabled' => true)))));
                 break;
         }
     }
 }
 /**
  * Allow an extension to prepend the extension configurations.
  *
  * @param ContainerBuilder $container
  */
 public function prepend(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'twig':
                 $container->prependExtensionConfig($name, array('globals' => array('theme_registry' => '@scaytrase.theme_registry')));
                 break;
         }
     }
 }
Example #21
0
 /**
  * @param ContainerBuilder $container
  * @param array            $config
  */
 private function prependExtensionConfig(ContainerBuilder $container, array $config)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'doctrine':
                 $container->prependExtensionConfig($name, ['orm' => ['resolve_target_entities' => ['Opifer\\ContentBundle\\Model\\ContentInterface' => $config['content']['class'], 'Opifer\\ContentBundle\\Model\\ContentTypeInterface' => $config['content_type']['class']]]]);
                 break;
         }
     }
 }
 /**
  * Allow an extension to prepend the extension configurations.
  *
  * @param ContainerBuilder $container
  */
 public function prepend(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'rpc':
                 $container->prependExtensionConfig($name, ['router' => ['endpoints' => ['test' => ['path' => '/test/', 'resources' => '@JsonRpcTestBundle/Resources/config/jsonrpc_routes.yml', 'defaults' => ['_controller' => 'JsonRpcBundle:JsonRpc:jsonRpc', '_format' => 'json']], 'test_private' => ['path' => '/test/private/', 'defaults' => ['_controller' => 'JsonRpcBundle:JsonRpc:jsonRpc', '_format' => 'json'], 'resources' => ['@JsonRpcTestBundle/Resources/config/jsonrpc_routes.yml', '@JsonRpcTestBundle/Resources/config/jsonrpc_private.yml']]]]]);
                 break;
         }
     }
 }
 /**
  * Configure twig bundle
  * 
  * @param ContainerBuilder $container
  * @param array $config
  */
 protected function configureTwigBundle(ContainerBuilder $container, array $config)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'twig':
                 $container->prependExtensionConfig($name, array('form_themes' => array($config['form_theme'])));
                 break;
         }
     }
 }
 /**
  * Allow an extension to prepend the extension configurations.
  *
  * @param ContainerBuilder $container
  */
 public function prepend(ContainerBuilder $container)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'twig':
                 $container->prependExtensionConfig($name, array('globals' => array('site_manager' => '@site.manager')));
                 break;
         }
     }
 }
Example #25
0
 /**
  * @param ContainerBuilder $container The service container
  */
 protected function configureFMElfinderBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'fm_elfinder':
                 $container->prependExtensionConfig($name, $this->getElFinderConfiguration());
                 break;
         }
     }
 }
 /**
  * @param ContainerBuilder $container The service container
  */
 protected function configureStofDoctrineExtensionsBundle(ContainerBuilder $container)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'stof_doctrine_extensions':
                 $container->prependExtensionConfig($name, array('orm' => array('default' => array('tree' => true))));
                 break;
         }
     }
 }
 /**
  * Add includes
  *
  * @param ContainerBuilder $container The service container
  * @param array $config The bundle configuration
  *
  * @return void
  *
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  */
 private function addIncludes(ContainerBuilder $container, array $config)
 {
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'assetic':
                 $container->prependExtensionConfig($name, array('assets' => $this->buildIncludes($config)));
                 $container->prependExtensionConfig($name, array('bundles' => $this->buildBundles($config)));
                 break;
         }
     }
 }
Example #28
0
 public function prepend(ContainerBuilder $container)
 {
     $extensions = $container->getExtensions();
     if (isset($extensions['sulu_core'])) {
         $prepend = ['content' => ['structure' => ['paths' => [['path' => __DIR__ . '/../Content/templates', 'type' => 'page']]]]];
         $container->prependExtensionConfig('sulu_core', $prepend);
     }
     if ($container->hasExtension('jms_serializer')) {
         $container->prependExtensionConfig('jms_serializer', ['metadata' => ['directories' => [['path' => __DIR__ . '/../Resources/config/serializer', 'namespace_prefix' => 'Sulu\\Bundle\\ContentBundle'], ['path' => __DIR__ . '/../Resources/config/serializer', 'namespace_prefix' => 'Sulu\\Component\\Content']]]]);
     }
 }
 /**
  * @param ContainerBuilder $container The service container
  * @param array            $config    The bundle configuration
  *
  * @return void
  */
 protected function configureAsseticBundle(ContainerBuilder $container, array $config)
 {
     foreach (array_keys($container->getExtensions()) as $name) {
         switch ($name) {
             case 'assetic':
                 $asseticConfig = new AsseticConfiguration();
                 $container->prependExtensionConfig($name, array('assets' => $asseticConfig->build($config)));
                 break;
         }
     }
 }
 /**
  * Prepend KnpMenuBundle config
  */
 public function prepend(ContainerBuilder $container)
 {
     $config = array('twig' => array('template' => 'AdmingeneratorGeneratorBundle:KnpMenu:knp_menu_trans.html.twig'));
     foreach ($container->getExtensions() as $name => $extension) {
         switch ($name) {
             case 'knp_menu':
                 $container->prependExtensionConfig($name, $config);
                 break;
         }
     }
 }