Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / drupalmoduleupgrader.module
1 <?php
2
3 /**
4  * Implements hook_theme().
5  */
6 function drupalmoduleupgrader_theme() {
7   return [
8     'dmu_block' => [
9       'variables' => [
10         'module' => 'MYMODULE',
11         'class' => 'MyBlock',
12         'block_id' => 'my_block_id',
13         'block_label' => \Drupal::translation()->translate('Untitled'),
14         'configurable' => FALSE,
15       ],
16       'template' => 'Block',
17     ],
18     'dmu_controller' => [
19       'variables' => [
20         'module' => 'MYMODULE',
21       ],
22       'template' => 'Controller',
23     ],
24     'dmu_entity_type' => [
25       'variables' => [
26         'module' => 'MYMODULE',
27         'class' => 'MyEntityType',
28         // This will be pretty much pulled directly out of hook_entity_info().
29         'info' => [],
30       ],
31       'template' => 'EntityType',
32     ],
33     'dmu_event_subscriber' => [
34       'variables' => [
35         'module' => 'MYMODULE',
36         'class' => 'MyConfigForm',
37         'event' => 0,
38         'priority' => 0,
39       ],
40       'template' => 'EventSubscriber',
41     ],
42     'dmu_form' => [
43       'variables' => [
44         'module' => 'MYMODULE',
45         'class' => 'MyForm',
46         'form_id' => 'my_form_id',
47         'config' => FALSE,
48       ],
49       'template' => 'Form',
50     ],
51     'dmu_formatter' => [
52       'variables' => [
53         'module' => 'MYMODULE',
54         'class' => 'MyFormatter',
55         'info' => [
56           'id' => 'formatter_id',
57           'label' => 'My Formatter',
58           'description' => 'Formatter description.',
59           'field_types' => [],
60         ],
61       ],
62       'template' => 'Formatter',
63     ],
64     'dmu_issue' => [
65       'variables' => [
66         'issue' => NULL,
67       ],
68       'template' => 'Issue',
69     ],
70     'dmu_outbound_path_processor' => [
71       'variables' => [
72         'module' => 'MYMODULE',
73       ],
74       'template' => 'OutboundPathProcessor',
75     ],
76     'dmu_logger' => [
77       'variables' => [
78         'module' => 'MYMODULE',
79       ],
80       'template' => 'Logger',
81     ],
82     'dmu_route_subscriber' => [
83       'variables' => [
84         'module' => 'MYMODULE',
85       ],
86       'template' => 'RouteSubscriber',
87     ],
88     'dmu_report' => [
89       'variables' => [
90         'report' => NULL,
91         'issues' => [],
92       ],
93       'template' => 'Report',
94     ],
95     'dmu_widget' => [
96       'variables' => [
97         'module' => 'MYMODULE',
98         'class' => 'MyWidget',
99         'info' => [
100           'id' => 'widget_id',
101           'label' => 'My Widget',
102           'description' => 'Widget description goes here.',
103           'field_types' => [],
104         ],
105       ],
106       'template' => 'Widget',
107     ],
108   ];
109 }
110
111 function template_preprocess_dmu_report(array &$variables) {
112   $categories = \Drupal::config('drupalmoduleupgrader.tags')->get('category');
113
114   /** @var \Drupal\drupalmoduleupgrader\IssueInterface $issue */
115   foreach ($variables['report']->getIssues() as $issue) {
116     $category = $categories[ $issue->hasTag('category') ? $issue->getTag('category')[0] : 'misc' ];
117
118     $variables['issues'][$category][] = [
119       '#theme' => 'dmu_issue',
120       '#issue' => $issue,
121     ];
122   }
123   ksort($variables['issues']);
124 }