You are here

function media_directories_editor_install in Media Directories 2.x

Same name and namespace in other branches
  1. 8 modules/media_directories_editor/media_directories_editor.install \media_directories_editor_install()

Implements hook_install().

File

modules/media_directories_editor/media_directories_editor.install, line 15
Install and database hook implementations.

Code

function media_directories_editor_install() {

  // Do not add button config, if we aren't installing from configuration.
  if (!\Drupal::isConfigSyncing()) {
    $config = \Drupal::configFactory()
      ->getEditable('embed.button.media_directories');

    // Add the standard media types for the embed button, if available.
    $media_types_to_add = [
      'image',
      'remote_video',
    ];
    $media_types = MediaType::loadMultiple();
    foreach ($media_types_to_add as $delta => $type) {
      if (!isset($media_types[$type])) {
        unset($media_types_to_add[$delta]);
      }
    }
    if (count($media_types_to_add) > 0) {
      $config
        ->set('type_settings.bundles', $media_types_to_add);
    }

    // Add the standard media entity view mode, if available.
    $media_full_view_mode = EntityViewMode::load('media.full');
    if ($media_full_view_mode) {
      $display_plugins = $config
        ->get('type_settings.display_plugins');
      $display_plugins[] = 'view_mode:' . $media_full_view_mode
        ->id();
      $config
        ->set('type_settings.display_plugins', $display_plugins);
    }
    $config
      ->save();
  }
}