diff core/modules/hal/hal.install @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/hal/hal.install	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * @file
+ * Update functions for the HAL module.
+ */
+
+/**
+ * Move 'link_domain' from 'rest.settings' to 'hal.settings'.
+ */
+function hal_update_8301() {
+  $config_factory = \Drupal::configFactory();
+
+  // The default value for the 'link_domain' key is `~`, which is the YAML
+  // equivalent of PHP's `NULL`. If the REST module is not installed, this is
+  // the value we will store in 'hal.settings'.
+  $link_domain = NULL;
+
+  // But if the REST module was installed, we migrate its 'link_domain' setting,
+  // because we are actually moving that setting from 'rest.settings' to
+  // 'hal.settings'.
+  $rest_settings = $config_factory->getEditable('rest.settings');
+  if ($rest_settings->getRawData() !== []) {
+    $link_domain = $rest_settings->get('link_domain');
+    // Remove the 'link_domain' setting from 'rest.settings'.
+    $rest_settings->clear('link_domain')
+      ->save();
+  }
+
+  $hal_settings = $config_factory->getEditable('hal.settings');
+  $hal_settings->set('link_domain', $link_domain);
+  $hal_settings->save(TRUE);
+}