PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.5.5
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.5.5
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
105 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 ) && ! empty( $auth_token ) && ! empty( $user_data ) ) {
48 Cookiebot_WP::debug_log( 'Account Disconnected: clearing user_data' );
49 delete_option( 'cookiebot-user-data' );
50 }
51 }
52
53 public function load_menu() {
54 foreach ( static::MENU as $menu ) {
55 ( new $menu() )->menu();
56 }
57 }
58
59 /**
60 * Cookiebot_WP Register Cookiebot settings
61 *
62 * @version 3.9.0
63 * @since 1.0.0
64 */
65 public function register_cookiebot_settings() {
66 register_setting( 'cookiebot', 'cookiebot-cbid' );
67 register_setting( 'cookiebot', 'cookiebot-cbid-override' );
68 register_setting( 'cookiebot', 'cookiebot-ruleset-id' );
69 register_setting( 'cookiebot', 'cookiebot-cbid-first-run' );
70 register_setting( 'cookiebot', 'cookiebot-language' );
71 register_setting( 'cookiebot', 'cookiebot-front-language' );
72 register_setting( 'cookiebot', 'cookiebot-nooutput' );
73 register_setting( 'cookiebot', 'cookiebot-nooutput-admin' );
74 register_setting( 'cookiebot', 'cookiebot-banner-enabled' );
75 register_setting( 'cookiebot', 'cookiebot-ignore-scripts' );
76 register_setting( 'cookiebot', 'cookiebot-autoupdate' );
77 register_setting( 'cookiebot', 'cookiebot-script-tag-uc-attribute' );
78 register_setting( 'cookiebot', 'cookiebot-script-tag-cd-attribute' );
79 register_setting( 'cookiebot', 'cookiebot-cookie-blocking-mode' );
80 register_setting( 'cookiebot', 'cookiebot-iab' );
81 register_setting( 'cookiebot', 'cookiebot-tcf-version' );
82 register_setting( 'cookiebot', 'cookiebot-tcf-purposes' );
83 register_setting( 'cookiebot', 'cookiebot-tcf-special-purposes' );
84 register_setting( 'cookiebot', 'cookiebot-tcf-features' );
85 register_setting( 'cookiebot', 'cookiebot-tcf-special-features' );
86 register_setting( 'cookiebot', 'cookiebot-tcf-vendors' );
87 register_setting( 'cookiebot', 'cookiebot-tcf-disallowed' );
88 register_setting( 'cookiebot', 'cookiebot-tcf-ac-vendors' );
89 register_setting( 'cookiebot', 'cookiebot-ccpa' );
90 register_setting( 'cookiebot-legislations', 'cookiebot-ccpa-domain-group-id' );
91 register_setting( 'cookiebot', 'cookiebot-gtm' );
92 register_setting( 'cookiebot', 'cookiebot-gtm-id' );
93 register_setting( 'cookiebot', 'cookiebot-gtm-cookies' );
94 register_setting( 'cookiebot', 'cookiebot-data-layer' );
95 register_setting( 'cookiebot', 'cookiebot-gcm' );
96 register_setting( 'cookiebot', 'cookiebot-gcm-first-run' );
97 register_setting( 'cookiebot', 'cookiebot-gcm-url-passthrough' );
98 register_setting( 'cookiebot', 'cookiebot-gcm-cookies' );
99 register_setting( 'cookiebot', 'cookiebot-multiple-config' );
100 register_setting( 'cookiebot', 'cookiebot-second-banner-regions' );
101 register_setting( 'cookiebot', 'cookiebot-second-banner-id' );
102 register_setting( 'cookiebot', 'cookiebot-multiple-banners' );
103 }
104 }
105