varbase_core-8.x-8.18/modules/varbase_internationalization/varbase_internationalization.install
modules/varbase_internationalization/varbase_internationalization.install
<?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'])) {
\Drupal::service('module_installer')->install($module_info_data['install'], 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);
}
}
