etracker-8.x-3.x-dev/modules/cookies_etracker/cookies_etracker.install
modules/cookies_etracker/cookies_etracker.install
<?php /** * @file * Requirements and update functions for the cookies_etracker module. */ use Drupal\Core\Url; /** * @file * Installation information for the 'Cookies eTracker Analytics' module. */ /** * Implements hook_install(). */ function cookies_etracker_install(): void { // Load cookies_etracker module after the third-party library. module_set_weight('cookies_etracker', 11); // Enable data_block_cookies to ensure cookies are blocked after // the module has been enabled. $config_factory = \Drupal::configFactory(); $config = $config_factory->getEditable('etracker.settings'); $etracker_script_settings = $config->get('etracker_script_settings'); if (empty($etracker_script_settings['data_block_cookies'])) { $etracker_script_settings['data_block_cookies'] = TRUE; $config->set('etracker_script_settings', $etracker_script_settings); $config->save(TRUE); } \Drupal::messenger()->addMessage(t('COOKiES eTracker was installed successfully.<br /> "Privacy: Disable cookies" setting was enabled automatically to ensure eTracker cookies are blocked until you <a href=":configure-url">finalize your configuration here</a>.', [':configure-url' => Url::fromRoute('etracker.admin_settings_form')->toString()])); } /** * Update service config to enforce module dependency 'cookies_etracker'. */ function cookies_etracker_update_8001(): void { $config = \Drupal::configFactory() ->getEditable('cookies.cookies_service.analytics'); if (!$config->isNew()) { $dependencies = $config->get('dependencies'); $dependencies['enforced']['module'][] = 'cookies_etracker'; $config->set('dependencies', $dependencies)->save(TRUE); } } /** * Set default config for new configuration key 'knockout_mode'. */ function cookies_etracker_update_8002(): void { $config_factory = \Drupal::configFactory(); $config = $config_factory->getEditable('cookies_etracker.settings'); $knockout_mode = $config->get('knockout_mode'); if (empty($knockout_mode)) { // Set data_block_cookies_advanced to the previously existing behavior. $config->set('knockout_mode', 'block_cookies_true_without_consent'); $config->save(TRUE); } }