eu_cookie_compliance_rocketship-1.0.x-dev/eu_cookie_compliance_rocketship.install

eu_cookie_compliance_rocketship.install
<?php

/**
 * @file
 * Install, update and uninstall functions for Rocketship Eucc module.
 */

use Drupal\Core\Config\ExtensionInstallStorage;
use Drupal\Core\Config\InstallStorage;

/**
 * Implements hook_install().
 */
function eu_cookie_compliance_rocketship_install($is_syncing) {
  // In case the module is being installed from config return early.
  if ($is_syncing) {
    return;
  }

  // Get custom config.
  $cfg = \Drupal::configFactory()->getEditable('eu_cookie_compliance_rocketship.eu_cookie_compliance.settings');
  // Get Config object.
  $settings = \Drupal::configFactory()->getEditable('eu_cookie_compliance.settings');
  // Override all data that can be overridden.
  $settings->setData($cfg->get())->save();
  // Get rid of your custom config.
  $cfg->delete();

  // Do the same for the translated config
  foreach (\Drupal::languageManager()->getLanguages() as $language) {
    $install_storage = new ExtensionInstallStorage(
      \Drupal::service('config.storage'),
      'config/install/language/' . $language->getId(),
      InstallStorage::DEFAULT_COLLECTION,
      TRUE,
      NULL
    );
    $cfg_translation = $install_storage->read('eu_cookie_compliance_rocketship.eu_cookie_compliance.settings');
    if (is_array($cfg_translation)) {
      $settings_translation = \Drupal::languageManager()
        ->getLanguageConfigOverride($language->getId(), 'eu_cookie_compliance.settings');
      $settings_translation->setData($cfg_translation);
      $settings_translation->save();
    }
  }
}

/**
 * Implements hook_uninstall().
 */
function eu_cookie_compliance_rocketship_uninstall() {
  $config_factory = \Drupal::service('config.factory');
  // Get all cookie_categories config.
  $configNames = \Drupal::service('config.storage')
    ->listAll('eu_cookie_compliance.cookie_category');
  // Loop over all the configs & delete them.
  foreach ($configNames as $configName) {
    $config_factory->getEditable($configName)->delete();
  }
}

/**
 * Set default value for new options introduced.
 */
function eu_cookie_compliance_rocketship_update_8001() {
  $settings = \Drupal::configFactory()
    ->getEditable('eu_cookie_compliance_rocketship.settings');
  $settings->set('language_switcher', 1);
  $settings->save();
}

/**
 * Set default value for new options introduced.
 */
function eu_cookie_compliance_rocketship_update_8002() {
  $settings = \Drupal::configFactory()->getEditable('eu_cookie_compliance_rocketship.settings');
  $settings->set('accept_all_label', "Accept all cookies");
  $settings->set('manage_categories_label', "Manage cookies");
  $settings->set('accept_selection_label', "Save preferences");
  $settings->set('accept_minimal_label', "Accept necessary only");
  $settings->save();
}

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

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