You are here

function _varbase_media_managed_media_library_configs in Varbase Media 8.7

Same name and namespace in other branches
  1. 9.0.x varbase_media.install \_varbase_media_managed_media_library_configs()

Managed Varbase Media Library configurations.

Fix [Media Library] and the [Media Grid and Media Table] admin pages to work with Drupal ^8.8.x and ^8.7.x .

2 calls to _varbase_media_managed_media_library_configs()
varbase_media_install in ./varbase_media.install
Implements hook_install().
varbase_media_update_8701 in ./varbase_media.install
Issue #3098789: Fix [Media Library] and the [Media Grid and Media Table].

File

./varbase_media.install, line 190
Contains install and update for Varbase Media module.

Code

function _varbase_media_managed_media_library_configs() {
  $module_path = Drupal::service('module_handler')
    ->getModule('varbase_media')
    ->getPath();
  $managed_config_path = DRUPAL_ROOT . '/' . $module_path . '/config';
  if (version_compare(Drupal::VERSION, '8.8.0', 'lt') === TRUE) {
    $managed_config_path = $managed_config_path . '/managed/lt80800';
  }
  else {

    // Use the latest managed configs from the managed latest directory.
    $managed_config_path = $managed_config_path . '/managed/latest';
  }

  // Ovarride the media view.
  $media_config_path = $managed_config_path . '/views.view.media.yml';
  if (file_exists($media_config_path)) {
    $media_config_content = file_get_contents($media_config_path);
    $media_config_data = (array) Yaml::parse($media_config_content);
    $media_config_factory = \Drupal::configFactory()
      ->getEditable('views.view.media');
    $media_config_factory
      ->setData($media_config_data)
      ->save(TRUE);
  }

  // Ovarride the media library view.
  $media_library_config_path = $managed_config_path . '/views.view.media_library.yml';
  if (file_exists($media_library_config_path)) {
    $media_library_config_content = file_get_contents($media_library_config_path);
    $media_library_config_data = (array) Yaml::parse($media_library_config_content);
    $media_library_config_factory = \Drupal::configFactory()
      ->getEditable('views.view.media_library');
    $media_library_config_factory
      ->setData($media_library_config_data)
      ->save(TRUE);
  }
}