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();
}
