You are here

function opigno_learning_path_update_9004 in Opigno Learning path 3.x

Import optional configs.

File

./opigno_learning_path.install, line 476
Install, update and uninstall functions for the module.

Code

function opigno_learning_path_update_9004() {
  $config_path = drupal_get_path('module', 'opigno_learning_path') . '/config/optional';
  $files = \Drupal::service('file_system')
    ->scanDirectory($config_path, '/\\.yml$/');

  // Import arbitrary config from a variable.
  $source = new FileStorage($config_path);

  /** @var \Drupal\Core\Config\CachedStorage $config_storage */
  $config_storage = \Drupal::service('config.storage');
  foreach ($files as $config) {
    $config_storage
      ->delete($config->name);
    $config_storage
      ->write($config->name, $source
      ->read($config->name));
  }

  /* @var \Drupal\Core\Config\ConfigInstaller $installer */
  $installer = \Drupal::service('config.installer');
  $installer
    ->installOptionalConfig($source);
}