varbase_layout_builder-9.0.0-alpha2/includes/updates/v10-0.inc

includes/updates/v10-0.inc
<?php

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

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

/**
 * Issue #3210657: Add Boxed options ( Wide, Medium, Narrow, Tiny )
 */
function varbase_layout_builder_update_10001() {
  $module_path = Drupal::service('module_handler')->getModule('varbase_layout_builder')->getPath();

  // Install configs path.
  $install_path = $module_path . '/' . InstallStorage::CONFIG_INSTALL_DIRECTORY;
  if (is_dir($install_path)) {

    // Have forced configs import.
    $forced_configs_import = [
      'varbase_layout_builder.layout_defaults',
    ];

    foreach ($forced_configs_import as $config_name) {

      $config_path = $install_path . '/' . $config_name . '.yml';
      if (file_exists($config_path)) {
        $config_content = file_get_contents($config_path);
        $config_data = (array) Yaml::parse($config_content);
        $config_factory = \Drupal::configFactory()->getEditable($config_name);
        $config_factory->setData($config_data)->save(TRUE);
      }
    }
  }
}

/**
 * Issue #3218194: Add Vertical and Horizontal alignments.
 *
 * To section styling settings.
 */
function varbase_layout_builder_update_10002() {
  $config_factory = \Drupal::configFactory()->getEditable('bootstrap_styles.settings');
  $config_factory->set('horizontal_alignment', "justify-content-start|Align start\r\njustify-content-center|Align center\r\njustify-content-end|Align end");
  $config_factory->set('vertical_alignment', "align-items-start|Align top\r\nalign-items-center|Align middle\r\nalign-items-end|Align bottom");
  $config_factory->save();
}

/**
 * Issue #3244849: Fix border color (side) variation classes.
 *
 * In Bootstrap Styles for Varbase Layout Builder default configs.
 */
function varbase_layout_builder_update_10003() {
  $config_factory = \Drupal::configFactory()->getEditable('bootstrap_styles.settings');

  // Only update if the border_left_color current config
  // value is not changed from the old config.
  $current_border_left_color = $config_factory->get('border_left_color');
  $old_border_left_color = "border-start border-primary|Primary\r\nborder-start border-secondary|Secondary\r\nborder-start border-success|Success\r\nborder-start border-danger|Danger\r\nborder-start border-warning|Warning\r\nborder-start border-info|Info\r\nborder-start border-light|Light\r\nborder-start border-dark|Dark\r\nborder-start border-white|White";
  $new_border_left_color = "border-start border-start-primary|Primary\r\nborder-start border-start-secondary|Secondary\r\nborder-start border-start-success|Success\r\nborder-start border-start-danger|Danger\r\nborder-start border-start-warning|Warning\r\nborder-start border-start-info|Info\r\nborder-start border-start-light|Light\r\nborder-start border-start-dark|Dark\r\nborder-start border-start-white|White";
  if ($current_border_left_color === $old_border_left_color) {
    $config_factory->set('border_left_color', $new_border_left_color);
    $config_factory->save();
  }

  // Only update if the border_top_color current config
  // value is not changed from the old config.
  $current_border_top_color = $config_factory->get('border_top_color');
  $old_border_top_color = "border-top border-primary|Primary\r\nborder-top border-secondary|Secondary\r\nborder-top border-success|Success\r\nborder-top border-danger|Danger\r\nborder-top border-warning|Warning\r\nborder-top border-info|Info\r\nborder-top border-light|Light\r\nborder-top border-dark|Dark\r\nborder-top border-white|White";
  $new_border_top_color = "border-top border-top-primary|Primary\r\nborder-top border-top-secondary|Secondary\r\nborder-top border-top-success|Success\r\nborder-top border-top-danger|Danger\r\nborder-top border-top-warning|Warning\r\nborder-top border-top-info|Info\r\nborder-top border-top-light|Light\r\nborder-top border-top-dark|Dark\r\nborder-top border-top-white|White";
  if ($current_border_top_color === $old_border_top_color) {
    $config_factory->set('border_top_color', $new_border_top_color);
    $config_factory->save();
  }

  // Only update if the border_right_color current
  // config value is not changed from the old config.
  $current_border_right_color = $config_factory->get('border_right_color');
  $old_border_right_color = "border-end border-primary|Primary\r\nborder-end border-secondary|Secondary\r\nborder-end border-success|Success\r\nborder-end border-danger|Danger\r\nborder-end border-warning|Warning\r\nborder-end border-info|Info\r\nborder-end border-light|Light\r\nborder-end border-dark|Dark\r\nborder-end border-white|White";
  $new_border_right_color = "border-end border-end-primary|Primary\r\nborder-end border-end-secondary|Secondary\r\nborder-end border-end-success|Success\r\nborder-end border-end-danger|Danger\r\nborder-end border-end-warning|Warning\r\nborder-end border-end-info|Info\r\nborder-end border-end-light|Light\r\nborder-end border-end-dark|Dark\r\nborder-end border-end-white|White";
  if ($current_border_right_color === $old_border_right_color) {
    $config_factory->set('border_right_color', $new_border_right_color);
    $config_factory->save();
  }

  // Only update if the border_bottom_color current
  // config value is not changed from the old config.
  $current_border_bottom_color = $config_factory->get('border_bottom_color');
  $old_border_bottom_color = "border-bottom border-primary|Primary\r\nborder-bottom border-secondary|Secondary\r\nborder-bottom border-success|Success\r\nborder-bottom border-danger|Danger\r\nborder-bottom border-warning|Warning\r\nborder-bottom border-info|Info\r\nborder-bottom border-light|Light\r\nborder-bottom border-dark|Dark\r\nborder-bottom border-white|White";
  $new_border_bottom_color = "border-bottom border-bottom-primary|Primary\r\nborder-bottom border-bottom-secondary|Secondary\r\nborder-bottom border-bottom-success|Success\r\nborder-bottom border-bottom-danger|Danger\r\nborder-bottom border-bottom-warning|Warning\r\nborder-bottom border-bottom-info|Info\r\nborder-bottom border-bottom-light|Light\r\nborder-bottom border-bottom-dark|Dark\r\nborder-bottom border-bottom-white|White";
  if ($current_border_bottom_color === $old_border_bottom_color) {
    $config_factory->set('border_bottom_color', $new_border_bottom_color);
    $config_factory->save();
  }
}

/**
 * Issue #3272216: Switch to use the Module Installer Factory.
 *
 * In the Varbase Layout Builder module.
 */
function varbase_layout_builder_update_10004() {
  // Set the weight of the module after installation of list of modules.
  // To make sure that any hook or event subscriber works after
  // all used modules.
  ModuleInstallerFactory::setModuleWeightAfterInstallation('varbase_layout_builder');
}

/**
 * Issue #3272221: Prevent anonymous users from accessing.
 *
 * The Sections Library page.
 */
function varbase_layout_builder_update_10005() {
  if (\Drupal::service('module_handler')->moduleExists('section_library')) {
    $viewSectionLibrary = \Drupal::service('config.factory')->getEditable('views.view.section_library');
    $permission = $viewSectionLibrary->get('display.default.display_options.access.options.perm');

    if ($permission === 'access content') {
      $viewSectionLibrary->set('display.default.display_options.access.options.perm', 'view section library templates')->save(TRUE);
    }
  }
}

/**
 * Issue #3337351: Fix empty/missing box shadow configs.
 *
 * For the Bootstrap Styles.
 */
function varbase_layout_builder_update_10006() {
  if (\Drupal::service('module_handler')->moduleExists('bootstrap_styles')) {
    $bootstrap_styles_settings = \Drupal::service('config.factory')->getEditable('bootstrap_styles.settings');
    $bootstrap_styles_settings->set('box_shadow', "shadow-sm|Small\r\nshadow|Regular\r\nshadow-lg|Large")->save(TRUE);
  }
}

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

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