varbase_media-9.0.0-alpha1/includes/updates/v9.inc

includes/updates/v9.inc
<?php

/**
 * @file
 * Contains varbase_media_update_9###(s) hook updates.
 */

use Symfony\Component\Yaml\Yaml;
use Drupal\Core\Config\InstallStorage;
use Vardot\Installer\ModuleInstallerFactory;
use Drupal\Core\Recipe\Recipe;
use Drupal\Core\Recipe\RecipeRunner;

/**
 * Issue #3192175: Add WebP module ~1.0 and enable by default.
 */
function varbase_media_update_9001() {
  if (!\Drupal::moduleHandler()->moduleExists('webp')) {
    \Drupal::service('module_installer')->install(['webp'], FALSE);
  }
}

/**
 * Issue #3206185: Add Media Bulk Upload module.
 */
function varbase_media_update_9002() {
  if (!\Drupal::moduleHandler()->moduleExists('media_bulk_upload')) {
    // Enable Media upload module.
    \Drupal::service('module_installer')->install(['media_bulk_upload'], FALSE);

    $module_path = Drupal::service('module_handler')->getModule('varbase_media')->getPath();
    $optional_install_path = $module_path . '/' . InstallStorage::CONFIG_OPTIONAL_DIRECTORY;

    // List of media bulk upload configs needed for Varbase media.
    $media_bulk_upload_configs = [
      'core.entity_form_mode.media.bulk_upload',
      'core.entity_form_display.media.audio.bulk_upload',
      'core.entity_form_display.media.file.bulk_upload',
      'core.entity_form_display.media.image.bulk_upload',
      'core.entity_form_display.media.video.bulk_upload',
      'media_bulk_upload.media_bulk_config.media_bulk_upload',
    ];

    // Import list of needed configs for Media bulk Upload.
    foreach ($media_bulk_upload_configs as $media_bulk_upload_config) {
      $media_config_path = $optional_install_path . '/' . $media_bulk_upload_config . '.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($media_bulk_upload_config);
        $media_config_factory->setData($media_config_data)->save(TRUE);
      }
    }
  }
}

/**
 * Issue #3271439: Fix Entity Browser bundle media type filter.
 *
 * Not to use and empty exposed operator.
 */
function varbase_media_update_9003() {

  $media_browsers_config_factory = \Drupal::configFactory()->getEditable('views.view.media_browsers');
  $media_browsers_view_display = $media_browsers_config_factory->get('display');

  if (isset($media_browsers_view_display)
    && isset($media_browsers_view_display['default'])
    && isset($media_browsers_view_display['default']['display_options'])
    && isset($media_browsers_view_display['default']['display_options']['filters'])
    && isset($media_browsers_view_display['default']['display_options']['filters']['entity_browser_bundle'])
    && isset($media_browsers_view_display['default']['display_options']['filters']['entity_browser_bundle']['expose'])
    && isset($media_browsers_view_display['default']['display_options']['filters']['entity_browser_bundle']['expose']['use_operator'])
    && $media_browsers_view_display['default']['display_options']['filters']['entity_browser_bundle']['expose']['use_operator'] == TRUE) {
    $media_browsers_view_display['default']['display_options']['filters']['entity_browser_bundle']['expose']['use_operator'] = FALSE;
    $media_browsers_config_factory->set('display', $media_browsers_view_display)->save(TRUE);
  }
}

/**
 * Issue #3274535: Update Media Bulk Upload module.
 *
 * From ~1.0 to ~3.0 new stable and supported branch
 * And enable the Media Bulk Upload Dropzone.js sub-module.
 */
function varbase_media_update_90004() {
  if (\Drupal::moduleHandler()->moduleExists('media_bulk_upload')
    && !\Drupal::moduleHandler()->moduleExists('media_bulk_upload_dropzonejs')) {
    // Enable Media upload DropzoneJs sub module.
    \Drupal::service('module_installer')->install(['media_bulk_upload_dropzonejs'], FALSE);
  }
}

/**
 * Issue #3272289: Switch to use the Module Installer Factory.
 *
 * In the Varbase Media module.
 */
function varbase_media_update_90005() {
  // Set the weight of the module after installation of list of modules.
  // To make sure that any hook or event subscriber worker
  // after all used modules.
  ModuleInstallerFactory::setModuleWeightAfterInstallation('varbase_media');
}

/**
 * Issue #3398691: Fix not rendered selection checkbox.
 *
 * For Media Library grid widget after searching.
 */
function varbase_media_update_90006() {

  $config_factory = \Drupal::configFactory()->getEditable('views.view.media_library');
  $config_factory->set('display.default.display_options.sorts.created.expose.field_identifier', 'created');
  $config_factory->set('display.default.display_options.sorts.name.expose.field_identifier', 'name');
  $config_factory->set('display.default.display_options.sorts.name_1.expose.field_identifier', 'name_1');

  $config_factory->set('display.page.display_options.sorts.created.expose.field_identifier', 'created');
  $config_factory->set('display.page.display_options.sorts.name.expose.field_identifier', 'name');
  $config_factory->set('display.page.display_options.sorts.name_1.expose.field_identifier', 'name_1');

  $config_factory->set('display.widget.display_options.sorts.created.expose.field_identifier', 'created');
  $config_factory->set('display.widget.display_options.sorts.name.expose.field_identifier', 'name');
  $config_factory->set('display.widget.display_options.sorts.name_1.expose.field_identifier', 'name_1');

  $config_factory->set('display.widget_table.display_options.sorts.created.expose.field_identifier', 'created');
  $config_factory->set('display.widget_table.display_options.sorts.name.expose.field_identifier', 'name');
  $config_factory->set('display.widget_table.display_options.sorts.name_1.expose.field_identifier', 'name_1');

  $config_factory->save(TRUE);
}

/**
 * Issue #3442970: Disable no longer needed Media Revisions UI contrib module as its functionality was added to Drupal Core.
 *
 * Disable media revision ui as it is already provided from core.
 */
function varbase_media_update_90007() {
  if (\Drupal::moduleHandler()->moduleExists('media_revisions_ui')) {
    \Drupal::service('module_installer')->uninstall(['media_revisions_ui'], FALSE);
  }
}

/**
 * Issue #3394223: Fix Status Report for updates with Embed button.
 *
 * CKEditor5 compatibility after updating.
 */
function varbase_media_update_90008() {
  $module_path = Drupal::service('module_handler')->getModule('varbase_media')->getPath();
  $recipe = Recipe::createFromDirectory($module_path . '/recipes/updates/varbase_media_update_90008');
  RecipeRunner::processRecipe($recipe);
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc