You are here

config_split.install in Configuration Split 2.0.x

Same filename and directory in other branches
  1. 8 config_split.install

File

config_split.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the config_split module.
 */
declare (strict_types=1);

/**
 * Enable the config_filter module.
 */
function config_split_update_8001() {
  \Drupal::getContainer()
    ->get('module_installer')
    ->install([
    'config_filter',
  ]);
}

/**
 * Change the config schema for split entities.
 */
function config_split_update_8002() {
  $configFactory = \Drupal::configFactory();
  foreach ($configFactory
    ->listAll('config_split.config_split') as $name) {
    $split = $configFactory
      ->getEditable($name);
    $data = $split
      ->getRawData();
    if (!isset($data['storage'])) {
      $key = array_search('folder', array_keys($data), TRUE);
      $data = array_slice($data, 0, $key, TRUE) + [
        'storage' => $data['folder'] === '' ? 'database' : 'folder',
      ] + array_slice($data, $key, NULL, TRUE);
    }
    foreach ([
      'black' => 'complete',
      'gray' => 'partial',
    ] as $list => $new) {
      $list .= 'list';
      $new .= '_list';
      if (!isset($data[$new])) {
        $data[$new] = $data[$list] ?? [];
      }
      unset($data[$list]);
      unset($data[$list . '_dependents']);
      unset($data[$list . '_skip_equal']);
    }
    $split
      ->setData($data);
    $split
      ->save(TRUE);
  }
}

Functions

Namesort descending Description
config_split_update_8001 Enable the config_filter module.
config_split_update_8002 Change the config schema for split entities.