Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / src / Plugin / DMU / Converter / HookInit.php
1 <?php
2
3 namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Converter;
4
5 use Drupal\drupalmoduleupgrader\ConverterBase;
6 use Drupal\drupalmoduleupgrader\TargetInterface;
7
8 /**
9  * @Converter(
10  *  id = "hook_init",
11  *  description = @Translation("Converts Drupal 7's hook_init() to an EventSubscriber."),
12  *  hook = "hook_init"
13  * )
14  */
15 class HookInit extends ConverterBase {
16
17   /**
18    * {@inheritdoc}
19    */
20   public function convert(TargetInterface $target) {
21     $this->writeService($target, 'init_subscriber', [
22       'class' => 'Drupal\\' . $target->id() . '\\EventSubscriber\\InitSubscriber',
23       'tags' => [
24         [ 'name' => 'event_subscriber' ],
25       ],
26     ]);
27
28     $render = [
29       '#theme' => 'dmu_event_subscriber',
30       '#module' => $target->id(),
31       '#class' => 'InitSubscriber',
32       '#event' => 'KernelEvents::REQUEST',
33     ];
34     $subscriber = $this->parse($render);
35     $target
36       ->getIndexer('function')
37       ->get('hook_init')
38       ->cloneAsMethodOf($subscriber)
39       ->setName('onEvent');
40     $this->writeClass($target, $subscriber);
41   }
42
43 }