Pathologic was missing because of a .git folder inside.
[yaffs-website] / web / modules / contrib / diff / diff.install
1 <?php
2
3 /**
4  * @file
5  * Installation hooks for diff module.
6  */
7
8 use Drupal\Core\Url;
9
10 /**
11  * Implements hook_requirements().
12  */
13 function diff_requirements($phase) {
14   $requirements = [];
15
16   if ($phase == 'runtime') {
17     $config = \Drupal::config('diff.settings');
18     $setting_enabled = $config->get('general_settings.layout_plugins.visual_inline.enabled');
19     $has_htmlDiffAdvanced = class_exists('\HtmlDiffAdvanced');
20
21     $requirements['html_diff_advanced'] = [
22       'title' => t('Diff'),
23       'value' => t('Installed correctly'),
24       'description' => t('Diff module has been installed correctly.'),
25     ];
26     if (!$has_htmlDiffAdvanced) {
27       if ($setting_enabled) {
28         $requirements['html_diff_advanced']['value'] = t('Dependencies not found');
29         $requirements['html_diff_advanced']['severity'] = REQUIREMENT_ERROR;
30         $requirements['html_diff_advanced']['description'] = t("The HTML Diff layout requires the HtmlDiffAdvanced library. Please consult README.txt for installation instructions.");
31       }
32       else {
33         $requirements['html_diff_advanced']['value'] = t('Visual inline layout');
34         $requirements['html_diff_advanced']['severity'] = REQUIREMENT_INFO;
35         $requirements['html_diff_advanced']['description'] = t('Diff adds a visual rendered display, consult README.txt for installation instructions and enable it in <a href=":settings">settings</a>.', [':settings' => Url::fromRoute('diff.general_settings')->toString()]);
36       }
37     }
38   }
39
40   return $requirements;
41 }
42
43 /**
44  * Implements hook_install().
45  */
46 function diff_install() {
47   $visual_inline = \Drupal::service('plugin.manager.diff.layout')->hasDefinition('visual_inline');
48   // Enable Visual Inline layout if library found.
49   if ($visual_inline) {
50     $config = \Drupal::configFactory()->getEditable('diff.settings');
51     $settings_enabled = $config->get('general_settings.layout_plugins.visual_inline.enabled');
52     if (!$settings_enabled) {
53       $config->set('general_settings.layout_plugins.visual_inline.enabled', TRUE);
54     }
55     $config->save();
56   }
57 }
58
59 /**
60  * Delete stale field diff configuration. Please reconfigure diff plugins.
61  */
62 function diff_update_8001() {
63   $config = \Drupal::configFactory()->getEditable('diff.settings');
64   $config->clear('entity');
65   $config->save();
66   $config = \Drupal::configFactory()->getEditable('diff.plugins');
67   $config->clear('field_types');
68   $config->save();
69 }
70
71 /**
72  * Update diff.settings to include general_settings.revision_pager_limit.
73  */
74 function diff_update_8002() {
75   $config_factory = \Drupal::configFactory();
76   $config = $config_factory->getEditable('diff.settings');
77   $config->set('general_settings.revision_pager_limit', 50);
78   $config->save(TRUE);
79 }
80
81 /**
82  * Delete stale theme configuration.
83  */
84 function diff_update_8003() {
85   $config = \Drupal::configFactory()->getEditable('diff.settings');
86   $config->clear('general_settings.theme');
87   $config->save();
88 }
89
90 /**
91  * Enable all layout plugins to be used.
92  */
93 function diff_update_8004() {
94   $config = \Drupal::configFactory()->getEditable('diff.settings');
95   $plugins = \Drupal::service('plugin.manager.diff.layout')->getDefinitions();
96   foreach ($plugins as $key => $value) {
97     $plugin_options[$key] = $value['label'];
98     $config->set('general_settings.layout_plugins.' . $key . '.enabled', TRUE);
99   }
100   $config->save();
101 }
102
103 /**
104  * Update settings.
105  */
106 function diff_update_8005() {
107   // The original update function had a bug, it set the new configuration of
108   // layout plugins using the old keys (which were changed). Update 8006 will
109   // fix this issue.
110 }
111
112 /**
113  * Update settings, set the new keys of layout plugins.
114  */
115 function diff_update_8006() {
116   $config = \Drupal::configFactory()->getEditable('diff.settings');
117   $layout_manager = \Drupal::service('plugin.manager.diff.layout');
118   $layout_manager->clearCachedDefinitions();
119   $plugins = $layout_manager->getDefinitions();
120   $config->clear('general_settings.layout_plugins');
121   foreach ($plugins as $key => $value) {
122     $plugin_options[$key] = $value['label'];
123     $config->set('general_settings.layout_plugins.' . $key . '.enabled', TRUE);
124   }
125   $config->save();
126 }
127
128 /**
129  * Update settings, renamed 'standard' to 'default'.
130  */
131 function diff_update_8008() {
132   $config = \Drupal::configFactory()->getEditable('diff.settings');
133   $config->set('general_settings.visual_inline_theme', 'default');
134   $config->save();
135 }
136
137 /**
138  * Remove content type settings.
139  */
140 function diff_update_8009() {
141   $config = \Drupal::configFactory()->getEditable('diff.settings');
142   $config->clear('content_type_settings');
143   $config->save();
144 }