You are here

varbase_internationalization.install in Varbase Core 8.8

Contains install and update for Varbase Internationalization module.

File

modules/varbase_internationalization/varbase_internationalization.install
View source
<?php

/**
 * @file
 * Contains install and update for Varbase Internationalization module.
 */
use Symfony\Component\Yaml\Yaml;
use Drupal\varbase\Entity\VarbaseEntityDefinitionUpdateManager;

/**
 * Implements hook_install().
 */
function varbase_internationalization_install() {
  $module_name = preg_replace('/_install$/', '', __FUNCTION__);
  $module_path = Drupal::service('module_handler')
    ->getModule($module_name)
    ->getPath();

  // Processer for install: in [$module_name].info.yml file.
  // ---------------------------------------------------------------------------.
  $module_info_file = $module_path . '/' . $module_name . '.info.yml';
  if (file_exists($module_info_file)) {
    $module_info_data = (array) Yaml::parse(file_get_contents($module_info_file));
    if (isset($module_info_data['install']) && is_array($module_info_data['install'])) {
      foreach ($module_info_data['install'] as $module) {
        if (!\Drupal::moduleHandler()
          ->moduleExists($module)) {
          \Drupal::service('module_installer')
            ->install([
            $module,
          ], TRUE);
        }
      }
    }
  }

  // ---------------------------------------------------------------------------
  // Entity updates to clear up any mismatched entity and/or field definitions
  // And Fix changes were detected in the entity type and field definitions.
  \Drupal::classResolver()
    ->getInstanceFromDefinition(VarbaseEntityDefinitionUpdateManager::class)
    ->applyUpdates();
}

/**
 * Issue #3032661: Changed [Varbase Internationalization] not to use.
 *
 * The [Localization client] module by disabling it for old sites and not to
 * install it in new Varbase installations.
 */
function varbase_internationalization_update_86001() {
  if (\Drupal::moduleHandler()
    ->moduleExists('l10n_client_ui')) {
    \Drupal::service('module_installer')
      ->uninstall([
      'l10n_client_ui',
    ], FALSE);
  }
}

Functions

Namesort descending Description
varbase_internationalization_install Implements hook_install().
varbase_internationalization_update_86001 Issue #3032661: Changed [Varbase Internationalization] not to use.