Loading cookies.info.yml +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ name: 'COOKiES' type: module description: 'User consent management tool using library cookiesJSR.' core: 8.x core_version_requirement: ^8 || ^9 core_version_requirement: ^8 || ^9 || ^10 package: 'COOKiES' configure: cookies.config dependencies: Loading cookies.install +1 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ function cookies_update_8002() { $config->save(TRUE); } /** * Remove deprecated callback settings. */ Loading @@ -55,6 +54,6 @@ function cookies_update_8003() { $config->clear('callback_url'); } $config->set('store_auth_user_consent', false); $config->set('store_auth_user_consent', FALSE); $config->save(TRUE); } cookies.module +18 −21 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ function cookies_theme() { ]; } /** * Implements hook_menu_links_discovered_alter(). */ Loading Loading @@ -98,8 +97,8 @@ function cookies_theme() { 'options' => [ 'attributes' => [ 'class' => ['cookies-open-cookie-consent-dialog'], ] ] ], ], ]; } } Loading @@ -107,7 +106,7 @@ function cookies_theme() { /** * Implements hook_cookies_user_consent(). * * Changes of COOKiES cookie content are stored in the db if user is * Changes of COOKiES cookie content are stored in the db if the user is * authenticated. So his settings can be revived in sessions on other browsers. */ function cookies_cookies_user_consent($consent) { Loading @@ -120,8 +119,8 @@ function cookies_cookies_user_consent($consent) { $store->set($key, $consent); return [ 'cookies' => [ 'status' => t('Your cookie settings have been saved in your account.') ] 'status' => t('Your cookie settings have been saved in your account.'), ], ]; } return []; Loading @@ -144,15 +143,16 @@ function cookies_user_login(UserInterface $account) { if ($cookie_content = \Drupal::request()->cookies->get($cookie_name)) { // User has set or update cookie before logged in. // => Update cookie consent in db. $store->set($key, json_decode($cookie_content, true)); } elseif ($cookie_content = $store->get($key)) { $store->set($key, json_decode($cookie_content, TRUE)); } elseif ($cookie_content = $store->get($key)) { // User gets COOKiES-cookie from storage. $expires = $config->get('cookie_expires') ?? 365; $options = [ "expires" => \Drupal::time()->getRequestTime() + ($expires * 24 * 60 * 60), "path" => "/", "domain" => $config->get('cookie_domain') ?? "", "secure" => $config->get('cookie_secure') ?? false, "secure" => $config->get('cookie_secure') ?? FALSE, "samesite" => $config->get('cookie_same_site') ?? "Lax", ]; setcookie($cookie_name, json_encode($cookie_content), $options); Loading @@ -161,10 +161,9 @@ function cookies_user_login(UserInterface $account) { } /** * Implements hook_token_info() * Implements hook_token_info(). */ function cookies_token_info() { function cookies_token_info() { $type = [ 'name' => t('COOKiES'), 'description' => t('COOKiES related tokens.'), Loading @@ -173,7 +172,7 @@ function cookies_token_info() 'docs' => [ 'name' => t('Cookie Documentation'), 'description' => t('Provides the cookies documentation as markup.'), ] ], ]; return [ Loading @@ -186,12 +185,10 @@ function cookies_token_info() ]; } /** * Implements hook_tokens() * Implements hook_tokens(). */ function cookies_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) { function cookies_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) { $replacements = []; if ($type == 'cookies') { $lang_code = $options['langcode'] ?? NULL; Loading modules/cookies_facebook_pixel/tests/src/FunctionalJavascript/CookiesFacebookPixelFunctionalJavascriptTest.php +5 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,9 @@ class CookiesFacebookPixelFunctionalJavascriptTest extends WebDriverTestBase { $this->drupalGet('/node/' . $node->id()); // Consent denied, expected result: // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX" type="text/plain" id="facebook_tracking_pixel_script"></script> // @codingStandardsIgnoreStart // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX" type="text/plain" id="facebook_tracking_pixel_script"></script>. // @codingStandardsIgnoreEnd $session->elementExists('css', 'script#facebook_tracking_pixel_script'); $session->elementAttributeContains('css', 'script#facebook_tracking_pixel_script', 'type', 'text/plain'); $session->elementAttributeContains('css', 'script[src*="facebook_pixel.js"]', 'type', 'text/plain'); Loading @@ -100,7 +102,9 @@ class CookiesFacebookPixelFunctionalJavascriptTest extends WebDriverTestBase { // Since the id is removed on opt in, we have to look for our script like // this: // Consent given, expecte result: // @codingStandardsIgnoreStart // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX"></script> // @codingStandardsIgnoreEnd $session->elementNotExists('css', 'script#facebook_tracking_pixel_script'); $session->elementExists('css', 'script[src*="facebook_pixel.js"]'); $session->elementAttributeNotExists('css', 'script[src*="facebook_pixel.js"]', 'type'); Loading modules/cookies_filter/src/Form/CookiesServiceFilterEntityForm.php +1 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,7 @@ class CookiesServiceFilterEntityForm extends EntityForm { $this->cacheTagsInvalidator->invalidateTags(['config:cookies_filter.cookies_service_filter']); $form_state->setRedirectUrl($cookie_service_filter_entity->toUrl('collection')); return $status; } } Loading
cookies.info.yml +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ name: 'COOKiES' type: module description: 'User consent management tool using library cookiesJSR.' core: 8.x core_version_requirement: ^8 || ^9 core_version_requirement: ^8 || ^9 || ^10 package: 'COOKiES' configure: cookies.config dependencies: Loading
cookies.install +1 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ function cookies_update_8002() { $config->save(TRUE); } /** * Remove deprecated callback settings. */ Loading @@ -55,6 +54,6 @@ function cookies_update_8003() { $config->clear('callback_url'); } $config->set('store_auth_user_consent', false); $config->set('store_auth_user_consent', FALSE); $config->save(TRUE); }
cookies.module +18 −21 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ function cookies_theme() { ]; } /** * Implements hook_menu_links_discovered_alter(). */ Loading Loading @@ -98,8 +97,8 @@ function cookies_theme() { 'options' => [ 'attributes' => [ 'class' => ['cookies-open-cookie-consent-dialog'], ] ] ], ], ]; } } Loading @@ -107,7 +106,7 @@ function cookies_theme() { /** * Implements hook_cookies_user_consent(). * * Changes of COOKiES cookie content are stored in the db if user is * Changes of COOKiES cookie content are stored in the db if the user is * authenticated. So his settings can be revived in sessions on other browsers. */ function cookies_cookies_user_consent($consent) { Loading @@ -120,8 +119,8 @@ function cookies_cookies_user_consent($consent) { $store->set($key, $consent); return [ 'cookies' => [ 'status' => t('Your cookie settings have been saved in your account.') ] 'status' => t('Your cookie settings have been saved in your account.'), ], ]; } return []; Loading @@ -144,15 +143,16 @@ function cookies_user_login(UserInterface $account) { if ($cookie_content = \Drupal::request()->cookies->get($cookie_name)) { // User has set or update cookie before logged in. // => Update cookie consent in db. $store->set($key, json_decode($cookie_content, true)); } elseif ($cookie_content = $store->get($key)) { $store->set($key, json_decode($cookie_content, TRUE)); } elseif ($cookie_content = $store->get($key)) { // User gets COOKiES-cookie from storage. $expires = $config->get('cookie_expires') ?? 365; $options = [ "expires" => \Drupal::time()->getRequestTime() + ($expires * 24 * 60 * 60), "path" => "/", "domain" => $config->get('cookie_domain') ?? "", "secure" => $config->get('cookie_secure') ?? false, "secure" => $config->get('cookie_secure') ?? FALSE, "samesite" => $config->get('cookie_same_site') ?? "Lax", ]; setcookie($cookie_name, json_encode($cookie_content), $options); Loading @@ -161,10 +161,9 @@ function cookies_user_login(UserInterface $account) { } /** * Implements hook_token_info() * Implements hook_token_info(). */ function cookies_token_info() { function cookies_token_info() { $type = [ 'name' => t('COOKiES'), 'description' => t('COOKiES related tokens.'), Loading @@ -173,7 +172,7 @@ function cookies_token_info() 'docs' => [ 'name' => t('Cookie Documentation'), 'description' => t('Provides the cookies documentation as markup.'), ] ], ]; return [ Loading @@ -186,12 +185,10 @@ function cookies_token_info() ]; } /** * Implements hook_tokens() * Implements hook_tokens(). */ function cookies_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) { function cookies_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) { $replacements = []; if ($type == 'cookies') { $lang_code = $options['langcode'] ?? NULL; Loading
modules/cookies_facebook_pixel/tests/src/FunctionalJavascript/CookiesFacebookPixelFunctionalJavascriptTest.php +5 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,9 @@ class CookiesFacebookPixelFunctionalJavascriptTest extends WebDriverTestBase { $this->drupalGet('/node/' . $node->id()); // Consent denied, expected result: // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX" type="text/plain" id="facebook_tracking_pixel_script"></script> // @codingStandardsIgnoreStart // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX" type="text/plain" id="facebook_tracking_pixel_script"></script>. // @codingStandardsIgnoreEnd $session->elementExists('css', 'script#facebook_tracking_pixel_script'); $session->elementAttributeContains('css', 'script#facebook_tracking_pixel_script', 'type', 'text/plain'); $session->elementAttributeContains('css', 'script[src*="facebook_pixel.js"]', 'type', 'text/plain'); Loading @@ -100,7 +102,9 @@ class CookiesFacebookPixelFunctionalJavascriptTest extends WebDriverTestBase { // Since the id is removed on opt in, we have to look for our script like // this: // Consent given, expecte result: // @codingStandardsIgnoreStart // <script src="/modules/custom/facebook_pixel/js/facebook_pixel.js?v=XXXXXXX"></script> // @codingStandardsIgnoreEnd $session->elementNotExists('css', 'script#facebook_tracking_pixel_script'); $session->elementExists('css', 'script[src*="facebook_pixel.js"]'); $session->elementAttributeNotExists('css', 'script[src*="facebook_pixel.js"]', 'type'); Loading
modules/cookies_filter/src/Form/CookiesServiceFilterEntityForm.php +1 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,7 @@ class CookiesServiceFilterEntityForm extends EntityForm { $this->cacheTagsInvalidator->invalidateTags(['config:cookies_filter.cookies_service_filter']); $form_state->setRedirectUrl($cookie_service_filter_entity->toUrl('collection')); return $status; } }