function hal_update_8301 in Drupal 8
Move 'link_domain' from 'rest.settings' to 'hal.settings'.
File
- core/
modules/ hal/ hal.install, line 11 - Update functions for the HAL module.
Code
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);
}