Pull merge.
[yaffs-website] / web / core / modules / layout_builder / src / LayoutBuilderServiceProvider.php
1 <?php
2
3 namespace Drupal\layout_builder;
4
5 use Drupal\Core\DependencyInjection\ContainerBuilder;
6 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
7 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency;
8 use Symfony\Component\DependencyInjection\Definition;
9 use Symfony\Component\DependencyInjection\Reference;
10
11 /**
12  * Sets the layout_builder.get_block_dependency_subscriber service definition.
13  *
14  * This service is dependent on the block_content module so it must be provided
15  * dynamically.
16  *
17  * @internal
18  *
19  * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency
20  */
21 class LayoutBuilderServiceProvider implements ServiceProviderInterface {
22
23   /**
24    * {@inheritdoc}
25    */
26   public function register(ContainerBuilder $container) {
27     $modules = $container->getParameter('container.modules');
28     if (isset($modules['block_content'])) {
29       $definition = new Definition(SetInlineBlockDependency::class);
30       $definition->setArguments([
31         new Reference('entity_type.manager'),
32         new Reference('database'),
33         new Reference('inline_block.usage'),
34       ]);
35       $definition->addTag('event_subscriber');
36       $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition);
37     }
38   }
39
40 }