PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.9
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.9
4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / src / settings / Menu_Settings.php
cookiebot / src / settings Last commit date
pages 1 year ago templates 1 year ago Menu_Settings.php 1 year ago Network_Menu_Settings.php 1 year ago
Menu_Settings.php
115 lines
1 <?php
2
3 namespace cybot\cookiebot\settings;
4
5 use cybot\cookiebot\settings\pages\Dashboard_Page;
6 use cybot\cookiebot\settings\pages\Gtm_Page;
7 use cybot\cookiebot\settings\pages\Iab_Page;
8 use cybot\cookiebot\settings\pages\Legislations_Page;
9 use cybot\cookiebot\settings\pages\Settings_Page;
10 use cybot\cookiebot\settings\pages\Support_Page;
11 use cybot\cookiebot\lib\Cookiebot_WP;
12
13 class Menu_Settings {
14
15
16 const MENU = array(
17 Dashboard_Page::class,
18 Support_Page::class,
19 Settings_Page::class,
20 );
21
22 public function add_menu() {
23 add_action( 'admin_menu', array( $this, 'load_menu' ), 1 );
24
25 // Register settings
26 add_action( 'admin_init', array( $this, 'register_cookiebot_settings' ) );
27 add_action( 'register_setting', array( $this, 'set_blocking_mode_to_auto' ), 10, 3 );
28 add_action( 'updated_option', array( $this, 'check_update_option_cbid' ), 10, 3 );
29 }
30
31 public function set_blocking_mode_to_auto( $option_group, $option_name, $args ) {
32 if ( $option_name === 'cookiebot-cbid' ) {
33 $cbid = get_option( 'cookiebot-cbid' );
34 // If the account was disconnected (empty CBID) set blocking mode to 'auto' and 'Hide cookie popup' to false.
35 // Later, if the account is re-connected, the banner will be visible by default.
36 if ( empty( $cbid ) ) {
37 update_site_option( 'cookiebot-nooutput', '' );
38 update_site_option( 'cookiebot-cookie-blocking-mode', 'auto' );
39 }
40 }
41 }
42
43 public function check_update_option_cbid( $option_name, $old_value, $option_value ) {
44 $auth_token = Cookiebot_WP::get_auth_token();
45 $user_data = Cookiebot_WP::get_user_data();
46
47 if ( $option_name === 'cookiebot-cbid' && empty( $option_value ) ) {
48 Cookiebot_WP::debug_log( 'Account Disconnected: clearing user_data' );
49 // Clean up all user data
50 delete_option( 'cookiebot-auth-token' );
51 delete_option( 'cookiebot-user-data' );
52 delete_option( 'cookiebot-configuration' );
53 delete_option( 'cookiebot-scan-id' );
54 delete_option( 'cookiebot-scan-status' );
55 delete_option( 'cookiebot-banner-enabled' );
56 delete_option( 'cookiebot_banner_live_dismissed' );
57 delete_option( 'cookiebot-cookie-blocking-mode' );
58 delete_option( 'cookiebot-uc-auto-blocking-mode' );
59 delete_option( 'cookiebot-uc-onboarded-via-signup' );
60 }
61 }
62
63 public function load_menu() {
64 foreach ( static::MENU as $menu ) {
65 ( new $menu() )->menu();
66 }
67 }
68
69 /**
70 * Cookiebot_WP Register Cookiebot settings
71 *
72 * @version 3.9.0
73 * @since 1.0.0
74 */
75 public function register_cookiebot_settings() {
76 register_setting( 'cookiebot', 'cookiebot-cbid' );
77 register_setting( 'cookiebot', 'cookiebot-cbid-override' );
78 register_setting( 'cookiebot', 'cookiebot-ruleset-id' );
79 register_setting( 'cookiebot', 'cookiebot-cbid-first-run' );
80 register_setting( 'cookiebot', 'cookiebot-language' );
81 register_setting( 'cookiebot', 'cookiebot-front-language' );
82 register_setting( 'cookiebot', 'cookiebot-nooutput' );
83 register_setting( 'cookiebot', 'cookiebot-nooutput-admin' );
84 register_setting( 'cookiebot', 'cookiebot-banner-enabled' );
85 register_setting( 'cookiebot', 'cookiebot-ignore-scripts' );
86 register_setting( 'cookiebot', 'cookiebot-autoupdate' );
87 register_setting( 'cookiebot', 'cookiebot-script-tag-uc-attribute' );
88 register_setting( 'cookiebot', 'cookiebot-script-tag-cd-attribute' );
89 register_setting( 'cookiebot', 'cookiebot-cookie-blocking-mode' );
90 register_setting( 'cookiebot', 'cookiebot-iab' );
91 register_setting( 'cookiebot', 'cookiebot-tcf-version' );
92 register_setting( 'cookiebot', 'cookiebot-tcf-purposes' );
93 register_setting( 'cookiebot', 'cookiebot-tcf-special-purposes' );
94 register_setting( 'cookiebot', 'cookiebot-tcf-features' );
95 register_setting( 'cookiebot', 'cookiebot-tcf-special-features' );
96 register_setting( 'cookiebot', 'cookiebot-tcf-vendors' );
97 register_setting( 'cookiebot', 'cookiebot-tcf-disallowed' );
98 register_setting( 'cookiebot', 'cookiebot-tcf-ac-vendors' );
99 register_setting( 'cookiebot', 'cookiebot-ccpa' );
100 register_setting( 'cookiebot-legislations', 'cookiebot-ccpa-domain-group-id' );
101 register_setting( 'cookiebot', 'cookiebot-gtm' );
102 register_setting( 'cookiebot', 'cookiebot-gtm-id' );
103 register_setting( 'cookiebot', 'cookiebot-gtm-cookies' );
104 register_setting( 'cookiebot', 'cookiebot-data-layer' );
105 register_setting( 'cookiebot', 'cookiebot-gcm' );
106 register_setting( 'cookiebot', 'cookiebot-gcm-first-run' );
107 register_setting( 'cookiebot', 'cookiebot-gcm-url-passthrough' );
108 register_setting( 'cookiebot', 'cookiebot-gcm-cookies' );
109 register_setting( 'cookiebot', 'cookiebot-multiple-config' );
110 register_setting( 'cookiebot', 'cookiebot-second-banner-regions' );
111 register_setting( 'cookiebot', 'cookiebot-second-banner-id' );
112 register_setting( 'cookiebot', 'cookiebot-multiple-banners' );
113 }
114 }
115