Checks if we have an extension.
public hasExtension ( string $name ) : boolean | ||
$name | string | The name of the extension |
return | boolean | If the extension exists |
/** * Allow an extension to prepend the extension configurations. * * @param ContainerBuilder $container */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('sulu_search')) { $container->prependExtensionConfig('sulu_search', ['indexes' => ['contact' => ['security_context' => 'sulu.contact.people'], 'account' => ['security_context' => 'sulu.contact.organizations']]]); } if ($container->hasExtension('sulu_media')) { $container->prependExtensionConfig('sulu_media', ['system_collections' => ['sulu_contact' => ['meta_title' => ['en' => 'Sulu contacts', 'de' => 'Sulu Kontakte'], 'collections' => ['contact' => ['meta_title' => ['en' => 'People', 'de' => 'Personen']], 'account' => ['meta_title' => ['en' => 'Organizations', 'de' => 'Organisationen']]]]]]); } }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('fos_rest')) { $container->prependExtensionConfig('fos_rest', ['exception' => ['codes' => [CategoryIdNotFoundException::class => 404, CategoryKeyNotFoundException::class => 404, CategoryKeyNotUniqueException::class => 409, CategoryNameMissingException::class => 400, KeywordIsMultipleReferencedException::class => 409, KeywordNotUniqueException::class => 409]]]); } if ($container->hasExtension('jms_serializer')) { $container->prependExtensionConfig('jms_serializer', ['metadata' => ['directories' => [['path' => __DIR__ . '/../Resources/config/serializer', 'namespace_prefix' => 'Sulu\\Bundle\\CategoryBundle\\Entity']]]]); } }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('sulu_search')) { $container->prependExtensionConfig('sulu_search', ['indexes' => ['media' => ['security_context' => 'sulu.media.collections']]]); } if ($container->hasExtension('sulu_media')) { $container->prependExtensionConfig('sulu_media', ['system_collections' => ['sulu_media' => ['meta_title' => ['en' => 'Sulu media', 'de' => 'Sulu Medien'], 'collections' => ['preview_image' => ['meta_title' => ['en' => 'Preview images', 'de' => 'Vorschaubilder']]]]]]); } }
/** * Prepend activity prototype and field definitions. * * @param ContainerBuilder $container * @param array $config */ private function prependPrototype(ContainerBuilder $container, array $config) { if (!$container->hasExtension('dag_prototype') || !$container->hasExtension('dag_field')) { return; } // Prepend activity prototype. $container->prependExtensionConfig('dag_prototype', array('classes' => array($this->applicationName . ':' . 'activity' => array('subject' => $config['classes']['activity']['model'], 'prototype' => array('model' => 'Accard\\Component\\Activity\\Model\\Prototype', 'repository' => 'DAG\\Bundle\\PrototypeBundle\\Doctrine\\ORM\\PrototypeRepository', 'form' => 'Accard\\Bundle\\ActivityBundle\\Form\\Type\\ActivityPrototypeType'), 'field' => array('model' => 'Accard\\Component\\Activity\\Model\\Field'), 'field_value' => array('model' => 'Accard\\Component\\Activity\\Model\\FieldValue'))))); // Prepend activity prototype field. $container->prependExtensionConfig('dag_field', array('classes' => array($this->applicationName . ':' . 'activity_prototype' => array('subject' => $config['classes']['activity']['model'], 'field' => array('model' => 'Accard\\Component\\Activity\\Model\\Field'), 'field_value' => array('model' => 'Accard\\Component\\Activity\\Model\\FieldValue'))))); }
public function __construct(ContainerBuilder $container) { $this->container = $container; // register factory builder extension if it doesn't exist if (!$this->container->hasExtension(FactoryBuilderExtension::ALIAS)) { $factoryBuilderExtension = new FactoryBuilderExtension(); $this->container->registerExtension($factoryBuilderExtension); $this->container->loadFromExtension($factoryBuilderExtension::ALIAS); } }
public function prepend(ContainerBuilder $container) { if ($container->hasExtension('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']]]]); } }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { $config = $this->processConfiguration(new Configuration(), $container->getExtensionConfig($this->getAlias())); if (!$container->hasExtension('dag_prototype') || !$container->hasExtension('dag_field')) { return; } // Prepend behavior prototype. $container->prependExtensionConfig('dag_prototype', array('classes' => array($this->applicationName . ':' . 'behavior' => array('subject' => $config['classes']['behavior']['model'], 'prototype' => array('model' => 'Accard\\Component\\Behavior\\Model\\Prototype', 'repository' => 'DAG\\Bundle\\PrototypeBundle\\Doctrine\\ORM\\PrototypeRepository'), 'field' => array('model' => 'Accard\\Component\\Behavior\\Model\\Field'), 'field_value' => array('model' => 'Accard\\Component\\Behavior\\Model\\FieldValue'))))); // Prepend behavior prototype field. $container->prependExtensionConfig('dag_field', array('classes' => array($this->applicationName . ':' . 'behavior_prototype' => array('subject' => $config['classes']['behavior']['model'], 'field' => array('model' => 'Accard\\Component\\Behavior\\Model\\Field'), 'field_value' => array('model' => 'Accard\\Component\\Behavior\\Model\\FieldValue'))))); }
/** * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container * @param \Symfony\Component\DependencyInjection\ParameterBag\ParameterBag $bag */ public function it_loads_resources_config_only_if_resource_repository_extension_exists($container, $bag) { $container->hasExtension(Argument::type('string'))->willReturn(false); $container->hasExtension('fsi_resource_repository')->willReturn(true); $container->addResource(Argument::allOf(Argument::type('Symfony\\Component\\Config\\Resource\\FileResource'), Argument::that(function ($value) { return $value instanceof FileResource && preg_match('/context\\/resource\\.xml$/', $value->getResource()); })))->shouldBeCalled(); $container->getParameterBag()->willReturn($bag); $container->setDefinition(Argument::type('string'), Argument::type('Symfony\\Component\\DependencyInjection\\Definition'))->shouldBeCalled(); $this->process($container); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('sulu_search')) { $container->prependExtensionConfig('sulu_search', ['indexes' => ['media' => ['security_context' => 'sulu.media.collections']]]); } if ($container->hasExtension('sulu_media')) { $container->prependExtensionConfig('sulu_media', ['system_collections' => ['sulu_media' => ['meta_title' => ['en' => 'Sulu media', 'de' => 'Sulu Medien'], 'collections' => ['preview_image' => ['meta_title' => ['en' => 'Preview images', 'de' => 'Vorschaubilder']]]]], 'image_format_files' => ['%kernel.root_dir%/config/image-formats.xml', __DIR__ . '/../Resources/config/image-formats.xml'], 'search' => ['enabled' => $container->hasExtension('massive_search')]]); } if ($container->hasExtension('fos_rest')) { $container->prependExtensionConfig('fos_rest', ['exception' => ['codes' => [MediaNotFoundException::class => 404, FileVersionNotFoundException::class => 404, FormatNotFoundException::class => 404, FormatOptionsMissingParameterException::class => 400]]]); } }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('sulu_document_manager')) { $container->prependExtensionConfig('sulu_document_manager', ['mapping' => ['custom_url' => ['class' => CustomUrlDocument::class, 'phpcr_type' => 'sulu:custom_url', 'mapping' => ['published' => ['property' => 'published'], 'baseDomain' => ['property' => 'baseDomain'], 'domainParts' => ['property' => 'domainParts', 'type' => 'json_array'], 'canonical' => ['property' => 'canonical'], 'redirect' => ['property' => 'redirect'], 'targetLocale' => ['property' => 'targetLocale']]], 'custom_url_route' => ['class' => RouteDocument::class, 'phpcr_type' => 'sulu:custom_url_route', 'mapping' => ['locale' => ['property' => 'locale']]]], 'path_segments' => ['custom_urls' => 'custom-urls', 'custom_urls_items' => 'items', 'custom_urls_routes' => 'routes']]); } if ($container->hasExtension('jms_serializer')) { $container->prependExtensionConfig('jms_serializer', ['metadata' => ['directories' => [['path' => __DIR__ . '/../Resources/config/serializer', 'namespace_prefix' => 'Sulu\\Component\\CustomUrl']]]]); } if ($container->hasExtension('fos_rest')) { $container->prependExtensionConfig('fos_rest', ['exception' => ['codes' => [DocumentNotFoundException::class => 404, TitleAlreadyExistsException::class => 400, MissingDomainPartException::class => 400, RouteNotRemovableException::class => 420]]]); } }
function it_add_compiler_pass_during_build(ContainerBuilder $container) { $container->hasExtension('fsi_doctrine_extensions')->shouldBeCalled()->willReturn(true); $container->hasExtension('fsi_form_extensions')->shouldBeCalled()->willReturn(true); $container->hasExtension('ivory_ck_editor')->shouldBeCalled()->willReturn(true); $container->addCompilerPass(Argument::type('FSi\\Bundle\\ResourceRepositoryBundle\\DependencyInjection\\Compiler\\ResourceFSiFilePass'))->shouldBeCalled(); $container->addCompilerPass(Argument::type('FSi\\Bundle\\ResourceRepositoryBundle\\DependencyInjection\\Compiler\\ResourceCKEditorPass'))->shouldBeCalled(); $container->addCompilerPass(Argument::type('FSi\\Bundle\\ResourceRepositoryBundle\\DependencyInjection\\Compiler\\ResourceFSiCKEditorPass'))->shouldBeCalled(); $container->addCompilerPass(Argument::type('FSi\\Bundle\\ResourceRepositoryBundle\\DependencyInjection\\Compiler\\TwigFormPass'))->shouldBeCalled(); $container->addCompilerPass(Argument::type('FSi\\Bundle\\ResourceRepositoryBundle\\DependencyInjection\\Compiler\\ResourcePass'))->shouldBeCalled(); $container->addCompilerPass(Argument::type('Doctrine\\Bundle\\DoctrineBundle\\DependencyInjection\\Compiler\\DoctrineOrmMappingsPass'))->shouldBeCalled(); $this->build($container); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('sulu_search')) { $container->prependExtensionConfig('sulu_search', ['indexes' => ['snippet' => ['security_context' => 'sulu.global.snippets']]]); } if ($container->hasExtension('sulu_core')) { $container->prependExtensionConfig('sulu_core', ['content' => ['structure' => ['paths' => [['path' => __DIR__ . '/../Content/templates', 'type' => 'page']], 'type_map' => ['snippet' => SnippetBridge::class]]]]); } if ($container->hasExtension('sulu_content')) { $container->prependExtensionConfig('sulu_content', ['search' => ['mapping' => [SnippetDocument::class => ['index' => 'snippet']]]]); } if ($container->hasExtension('sulu_document_manager')) { $container->prependExtensionConfig('sulu_document_manager', ['mapping' => ['snippet' => ['class' => SnippetDocument::class, 'phpcr_type' => 'sulu:snippet']]]); } }
/** * @param ContainerBuilder $container */ public function build(ContainerBuilder $container) { if ($container->hasExtension('fsi_doctrine_extensions')) { $container->addCompilerPass(new ResourceFSiFilePass()); } if ($container->hasExtension('fsi_form_extensions')) { $container->addCompilerPass(new ResourceFSiCKEditorPass()); } if ($container->hasExtension('ivory_ck_editor')) { $container->addCompilerPass(new ResourceCKEditorPass()); } $container->addCompilerPass(new TwigFormPass()); $container->addCompilerPass(new ResourcePass()); $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($this->getDoctrineMappings(), array('doctrine.orm.entity_manager'))); }
/** * @param ContainerBuilder $container * @param array $config */ private function prependVariation(ContainerBuilder $container, array $config) { if (!$container->hasExtension('sylius_variation')) { return; } $container->prependExtensionConfig('sylius_variation', array('classes' => array('product' => array('variable' => $config['classes']['product']['model'], 'variant' => array('model' => 'Sylius\\Component\\Product\\Model\\Variant', 'controller' => 'Sylius\\Bundle\\ProductBundle\\Controller\\VariantController', 'form' => 'Sylius\\Bundle\\ProductBundle\\Form\\Type\\VariantType'), 'option' => array('model' => 'Sylius\\Component\\Product\\Model\\Option'), 'option_value' => array('model' => 'Sylius\\Component\\Product\\Model\\OptionValue'))))); }
private function prependField(ContainerBuilder $container, array $config) { if (!$container->hasExtension('dag_field')) { return; } $container->prependExtensionConfig('dag_field', array('classes' => array($this->applicationName . ':' . 'patient' => array('subject' => $config['classes']['patient']['model'], 'field' => array('model' => 'Accard\\Component\\Patient\\Model\\Field'), 'field_value' => array('model' => 'Accard\\Component\\Patient\\Model\\FieldValue'))))); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('twig')) { return; } $container->prependExtensionConfig('twig', ['form_themes' => ['SyliusMetadataBundle:Form:dynamic_form_theme.html.twig']]); }
public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('symedit')) { return; } $container->prependExtensionConfig('symedit', ['template_locations' => ['@SymEditFormBuilderBundle/Resources/views']]); }
/** * @param ContainerBuilder $container * @param LoaderInterface $loader */ private function prependHwiOauth(ContainerBuilder $container, LoaderInterface $loader) { if (!$container->hasExtension('hwi_oauth')) { return; } $loader->load('services/integrations/hwi_oauth.xml'); }
/** * @param ContainerBuilder $container * @param array $config */ private function prependVariation(ContainerBuilder $container, array $config) { if (!$container->hasExtension('sylius_variation')) { return; } $container->prependExtensionConfig('sylius_variation', array('resources' => array('product' => array('variable' => $config['resources']['product']['classes']['model'], 'variant' => array('classes' => array('model' => Variant::class, 'interface' => VariantInterface::class, 'controller' => VariantController::class, 'factory' => VariantFactory::class, 'form' => array('default' => VariantType::class))), 'option' => array('classes' => array('model' => Option::class, 'interface' => OptionInterface::class), 'translation' => array('classes' => array('model' => OptionTranslation::class, 'interface' => OptionTranslationInterface::class))), 'option_value' => array('classes' => array('model' => OptionValue::class, 'interface' => OptionValueInterface::class)))))); }
/** * @param ContainerBuilder $container * @param array $config */ private function prependAttribute(ContainerBuilder $container, array $config) { if (!$container->hasExtension('sylius_attribute')) { return; } $container->prependExtensionConfig('sylius_attribute', ['resources' => ['product' => ['subject' => $config['resources']['product']['classes']['model'], 'attribute' => ['classes' => ['model' => ProductAttribute::class, 'interface' => ProductAttributeInterface::class], 'translation' => ['classes' => ['model' => ProductAttributeTranslation::class, 'interface' => ProductAttributeTranslationInterface::class]]], 'attribute_value' => ['classes' => ['model' => ProductAttributeValue::class, 'interface' => ProductAttributeValueInterface::class]]]]]); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if ($container->hasExtension('doctrine_cache')) { $container->prependExtensionConfig('doctrine_cache', ['providers' => ['sulu_collaboration_entity' => ['file_system' => ['directory' => '%sulu.cache_dir%/collaboration/entity']], 'sulu_collaboration_connection' => ['file_system' => ['directory' => '%sulu.cache_dir%/collaboration/connection']]]]); $container->prependExtensionConfig('sulu_collaboration', ['entity_cache' => 'doctrine_cache.providers.sulu_collaboration_entity', 'connection_cache' => 'doctrine_cache.providers.sulu_collaboration_connection']); } }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('sylius_order')) { throw new \RuntimeException('Please install and configure SyliusOrderBundle in order to use SyliusCartBundle.'); } $container->prependExtensionConfig('sylius_order', array('resources' => array('order' => array('classes' => array('model' => Cart::class)), 'order_item' => array('classes' => array('model' => CartItem::class))))); }
/** * {@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']); } }
public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('fos_oauth_server')) { throw new ServiceNotFoundException('fos_oauth_server required to use API Bundle'); } $container->prependExtensionConfig('fos_oauth_server', ['db_driver' => 'orm', 'client_class' => '%symedit.model.client.class%', 'access_token_class' => '%symedit.model.access_token.class%', 'refresh_token_class' => '%symedit.model.refresh_token.class%', 'auth_code_class' => '%symedit.model.auth_code.class%', 'service' => ['user_provider' => 'fos_user.user_provider.username']]); }
/** * {@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); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('doctrine_cache')) { throw new \RuntimeException('DoctrineCacheBundle must be registered!'); } $container->prependExtensionConfig('doctrine_cache', ['providers' => ['dag_robots' => '%sylius.cache%']]); }
/** * Loads DemoBundle configuration. * * @param ContainerBuilder $container */ public function prepend(ContainerBuilder $container) { // Add legacy bundle settings only if it's present. if ($container->hasExtension('ez_publish_legacy')) { $legacyConfigFile = __DIR__ . '/../Resources/config/legacy_settings.yml'; $config = Yaml::parse(file_get_contents($legacyConfigFile)); $container->prependExtensionConfig('ez_publish_legacy', $config); $container->addResource(new FileResource($legacyConfigFile)); } $configFile = __DIR__ . '/../Resources/config/ezdemo.yml'; $config = Yaml::parse(file_get_contents($configFile)); $container->prependExtensionConfig('ezpublish', $config); $container->addResource(new FileResource($configFile)); $configFile = __DIR__ . '/../Resources/config/image_variations.yml'; $config = Yaml::parse(file_get_contents($configFile)); $container->prependExtensionConfig('ezpublish', $config); $container->addResource(new FileResource($configFile)); $ezpageConfigFile = __DIR__ . '/../Resources/config/ezpage.yml'; $ezpageConfig = Yaml::parse(file_get_contents($ezpageConfigFile)); $container->prependExtensionConfig('ezpublish', $ezpageConfig); $container->addResource(new FileResource($ezpageConfigFile)); $ezCommentsConfigFile = __DIR__ . '/../Resources/config/ezcomments.yml'; $ezCommentsConfig = Yaml::parse(file_get_contents($ezCommentsConfigFile)); $container->prependExtensionConfig('ez_comments', $ezCommentsConfig); $container->addResource(new FileResource($ezCommentsConfigFile)); }
/** * Finds an Extension based on a bundle name. * * @param ContainerBuilder $container * @param string $bundleName * * @return ExtensionInterface * * @throws \InvalidArgumentException */ protected function findExtension(ContainerBuilder $container, $bundleName) { if (!$container->hasExtension($bundleName)) { throw new \InvalidArgumentException(sprintf('The service ID prefix or the bundle attribute [%s] and your bundle name prefix must be identical.', $bundleName)); } return $container->getExtension($bundleName); }
/** * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { if (!$container->hasExtension('sylius_order')) { return; } $container->prependExtensionConfig('sylius_order', array('classes' => array('order_item' => array('model' => 'Sylius\\Component\\Cart\\Model\\CartItem'), 'order' => array('model' => 'Sylius\\Component\\Cart\\Model\\Cart')))); }
/** * @param ContainerBuilder $container * @param LoaderInterface $loader */ private function prependSyliusSettings(ContainerBuilder $container, LoaderInterface $loader) { if (!$container->hasExtension('sylius_settings')) { return; } $loader->load('integration/settings.xml'); }