You are here

varbase_media.install in Varbase Media 8.5

Contains install and update for Varbase Media mdoule.

File

varbase_media.install
View source
<?php

/**
 * @file
 * Contains install and update for Varbase Media mdoule.
 */
use Symfony\Component\Yaml\Yaml;

/**
 * Implements hook_install().
 */
function varbase_media_install() {

  // Activate configurations to work with enable_multilingual.
  if (\Drupal::moduleHandler()
    ->moduleExists('varbase_internationalization')) {
    $module_path = Drupal::service('module_handler')
      ->getModule('varbase_media')
      ->getPath() . '/config/optional/';
    $config_path = $module_path . 'language.content_settings.media.file.yml';
    $config_content = file_get_contents($config_path);
    $config_data = (array) Yaml::parse($config_content);
    $config_factory = \Drupal::configFactory()
      ->getEditable('language.content_settings.media.file');
    $config_factory
      ->setData($config_data)
      ->save(TRUE);
    $config_path = $module_path . 'language.content_settings.media.image.yml';
    $config_content = file_get_contents($config_path);
    $config_data = (array) Yaml::parse($config_content);
    $config_factory = \Drupal::configFactory()
      ->getEditable('language.content_settings.media.image');
    $config_factory
      ->setData($config_data)
      ->save(TRUE);
    $config_path = $module_path . 'language.content_settings.media.video.yml';
    $config_content = file_get_contents($config_path);
    $config_data = (array) Yaml::parse($config_content);
    $config_factory = \Drupal::configFactory()
      ->getEditable('language.content_settings.media.video');
    $config_factory
      ->setData($config_data)
      ->save(TRUE);
    $config_path = $module_path . 'language.content_settings.media.video_embed.yml';
    $config_content = file_get_contents($config_path);
    $config_data = (array) Yaml::parse($config_content);
    $config_factory = \Drupal::configFactory()
      ->getEditable('language.content_settings.media.video_embed');
    $config_factory
      ->setData($config_data)
      ->save(TRUE);
  }
}

/**
 * Enable blazy module.
 */
function varbase_media_update_8001() {
  if (!\Drupal::moduleHandler()
    ->moduleExists('blazy')) {
    \Drupal::service('module_installer')
      ->install([
      'blazy',
    ], FALSE);
  }
}

/**
 * Updated field preview image style (150xTraditional 4:3).
 */
function varbase_media_update_8002() {
  $field_preview_image_style_config = \Drupal::service('config.factory')
    ->getEditable('image.style.field_preview');
  $field_preview_image_style_config_file = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/image.style.field_preview.yml';
  $field_preview_image_style_config_content = file_get_contents($field_preview_image_style_config_file);
  $field_preview_image_style_config_content_data = (array) Yaml::parse($field_preview_image_style_config_content);
  $field_preview_image_style_config
    ->setData($field_preview_image_style_config_content_data)
    ->save();
}

/**
 * Updated browser teaser image meida view mode.
 */
function varbase_media_update_8003() {
  $browser_teaser_view_mode_config = \Drupal::service('config.factory')
    ->getEditable('core.entity_view_display.media.image.browser_teaser');
  $browser_teaser_view_mode_config_file = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/core.entity_view_display.media.image.browser_teaser.yml';
  $browser_teaser_view_mode_config_content = file_get_contents($browser_view_mode_teaser_config_file);
  $browser_teaser_view_mode_config_content_data = (array) Yaml::parse($browser_teaser_view_mode_config_content);
  $browser_teaser_view_mode_config
    ->setData($browser_teaser_view_mode_config_content_data)
    ->save();
}

/**
 * Updated field preview image meida view mode.
 */
function varbase_media_update_8004() {
  $field_preview_view_mode_config = \Drupal::service('config.factory')
    ->getEditable('core.entity_view_display.media.image.field_preview');
  $field_preview_view_mode_config_file = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/core.entity_view_display.media.image.field_preview.yml';
  $field_preview_view_mode_config_content = file_get_contents($field_preview_view_mode_config_file);
  $field_preview_view_mode_config_content_data = (array) Yaml::parse($field_preview_view_mode_config_content);
  $field_preview_view_mode_config
    ->setData($field_preview_view_mode_config_content_data)
    ->save();
}

/**
 * Changed name of Media embed button to be "Media Library".
 */
function varbase_media_update_8005() {
  $embed_button_config = \Drupal::service('config.factory')
    ->getEditable('embed.button.media');
  if (strtolower($embed_button_config
    ->get('label')) === 'media') {
    $embed_button_config
      ->set('label', 'Media Library')
      ->save();
  }
}

/**
 * Issue #2893965: [Varbase Media] Media (image) widget field preview.
 *
 * Updated field preview image meida view mode.
 */
function varbase_media_update_8006() {
  $image_style_field_preview_config = \Drupal::service('config.factory')
    ->getEditable('image.style.field_preview');
  $image_style_field_preview_config_file = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/image.style.field_preview.yml';
  $image_style_field_preview_config_content = file_get_contents($image_style_field_preview_config_file);
  $image_style_field_preview_config_content_data = (array) Yaml::parse($image_style_field_preview_config_content);
  $image_style_field_preview_config
    ->setData($image_style_field_preview_config_content_data)
    ->save();
}

/**
 * Issue #2905259: Added ALT and TITLE columns for images.
 *
 * In Media content page admin/content/media.
 */
function varbase_media_update_8007() {
  $config = \Drupal::configFactory()
    ->getEditable('views.view.media');
  $config_file = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/views.view.media.yml';
  $data = (array) Yaml::parse($config_file);
  $config
    ->setData($data)
    ->save(TRUE);
}

/**
 * Issue #2917363: Added Display Edge-to-Edge 4:1 responsive image style.
 */
function varbase_media_update_8008() {
  $config_path = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/';
  $config_names = [
    'image.style.de2e_4_1',
    'image.style.de2e_4_1_md',
    'image.style.de2e_4_1_sm',
    'image.style.de2e_4_1_xs',
    'responsive_image.styles.de2e_4_1',
    'core.entity_view_mode.media.se2e_4_1',
    'core.entity_view_display.media.image.se2e_4_1',
  ];
  foreach ($config_names as $config_name) {
    $config_file = $config_path . $config_name . '.yml';
    if (file_exists($config_file)) {
      $config = \Drupal::service('config.factory')
        ->getEditable($config_name);
      $config_content = file_get_contents($config_file);
      $config_content_data = (array) Yaml::parse($config_content);
      $config
        ->setData($config_content_data)
        ->save();
    }
  }
}

/**
 * Added social large, medium, and small image styles.
 */
function varbase_media_update_8009() {
  $config_path = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/';
  $config_names = [
    'image.style.social_large',
    'image.style.social_medium',
    'image.style.social_small',
  ];
  foreach ($config_names as $config_name) {
    $config_file = $config_path . $config_name . '.yml';
    if (file_exists($config_file)) {
      $config = \Drupal::service('config.factory')
        ->getEditable($config_name);
      $config_content = file_get_contents($config_file);
      $config_content_data = (array) Yaml::parse($config_content);
      $config
        ->setData($config_content_data)
        ->save();
    }
  }
}

/**
 * Update entity form display for media image type, to use the latest config
 * from the focal point module.
 */
function varbase_media_update_8010() {
  $config_path = \Drupal::root() . '/' . drupal_get_path('module', 'varbase_media') . '/config/install/';
  $config_names = [
    'core.entity_form_display.media.image.default',
  ];
  foreach ($config_names as $config_name) {
    $config_file = $config_path . $config_name . '.yml';
    if (file_exists($config_file)) {
      $config = \Drupal::service('config.factory')
        ->getEditable($config_name);
      $config_content = file_get_contents($config_file);
      $config_content_data = (array) Yaml::parse($config_content);
      $config
        ->setData($config_content_data)
        ->save();
    }
  }
}

Functions

Namesort descending Description
varbase_media_install Implements hook_install().
varbase_media_update_8001 Enable blazy module.
varbase_media_update_8002 Updated field preview image style (150xTraditional 4:3).
varbase_media_update_8003 Updated browser teaser image meida view mode.
varbase_media_update_8004 Updated field preview image meida view mode.
varbase_media_update_8005 Changed name of Media embed button to be "Media Library".
varbase_media_update_8006 Issue #2893965: [Varbase Media] Media (image) widget field preview.
varbase_media_update_8007 Issue #2905259: Added ALT and TITLE columns for images.
varbase_media_update_8008 Issue #2917363: Added Display Edge-to-Edge 4:1 responsive image style.
varbase_media_update_8009 Added social large, medium, and small image styles.
varbase_media_update_8010 Update entity form display for media image type, to use the latest config from the focal point module.