PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.6.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.6.2
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 / Network_Menu_Settings.php
cookiebot / src / settings Last commit date
pages 7 months ago templates 10 months ago Menu_Settings.php 10 months ago Network_Menu_Settings.php 10 months ago
Network_Menu_Settings.php
158 lines
1 <?php
2
3 namespace cybot\cookiebot\settings;
4
5 use cybot\cookiebot\lib\Cookiebot_Frame;
6 use cybot\cookiebot\lib\Cookiebot_WP;
7 use cybot\cookiebot\settings\pages\Support_Page;
8 use InvalidArgumentException;
9 use function cybot\cookiebot\lib\asset_url;
10 use function cybot\cookiebot\lib\include_view;
11 use function cybot\cookiebot\lib\logo_url;
12
13 class Network_Menu_Settings {
14
15
16 const ICON = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzY0ODFfMzE4MTUpIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01Ljg2MTYgNS44MDUyVjE5LjgxMTRDNS44NjE2IDI3LjUzNjMgMTIuMjAzOSAzMy44MTc2IDIwLjAwMzkgMzMuODE3NkMyNy44MDM4IDMzLjgxNzYgMzQuMTQ2MiAyNy41MzYzIDM0LjE0NjIgMTkuODExNFY1LjgwNTJINS44NjE2Wk0yMCAzOS42MjI4QzguOTc2MzggMzkuNjIwNyAwIDMwLjczNzEgMCAxOS44MTE0VjBINDBWMTkuODExNEM0MCAzMC43Mjk0IDMxLjAzMTQgMzkuNjIwNyAyMCAzOS42MjI4Wk0yMi42ODk0IDI2Ljk0ODZMMjIuNjg4OCAyNi45NDk5SDE1LjkyTDE1LjkzMTIgMjYuOTI2Nkw5Ljk4OTIxIDE2LjU4MjFIMTYuNzY1N0wxOS4wMTA2IDIwLjQ5MDJMMjMuNzEyMiAxMC42NjMxSDMwLjQ4ODhMMjIuNzAzNSAyNi45MTkyTDIyLjcyMDQgMjYuOTQ4NkgyMi42ODk0WiIgZmlsbD0iYmxhY2siLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF82NDgxXzMxODE1Ij4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=';
17
18 public function add_menu() {
19 add_action( 'network_admin_menu', array( $this, 'add_network_menu' ), 1 );
20 add_action(
21 'network_admin_edit_cookiebot_network_settings',
22 array(
23 $this,
24 'network_settings_save',
25 )
26 );
27 }
28
29 /**
30 * Cookiebot_WP Add menu for network sites
31 *
32 * @version 2.2.0
33 * @since 2.2.0
34 */
35 public function add_network_menu() {
36 add_menu_page(
37 'Cookiebot',
38 __( 'Cookiebot', 'cookiebot' ),
39 'manage_network_options',
40 'cookiebot_network',
41 array( $this, 'display' ),
42 static::ICON
43 );
44 add_submenu_page(
45 'cookiebot_network',
46 __( 'Cookiebot Settings', 'cookiebot' ),
47 __( 'Settings', 'cookiebot' ),
48 'network_settings_page',
49 'cookiebot_network',
50 array( $this, 'display' )
51 );
52 add_submenu_page(
53 'cookiebot_network',
54 __( 'Cookiebot Support', 'cookiebot' ),
55 __( 'Support', 'cookiebot' ),
56 'network_settings_page',
57 'cookiebot_support',
58 array( new Support_Page(), 'display' )
59 );
60 }
61
62 /**
63 * Cookiebot_WP Cookiebot save network settings
64 *
65 * @version 2.2.0
66 * @since 2.2.0
67 */
68 public function network_settings_save() {
69 check_admin_referer( 'cookiebot-network-settings' );
70
71 update_site_option(
72 'cookiebot-cbid',
73 ! empty( $_POST['cookiebot-cbid'] ) ? $_POST['cookiebot-cbid'] : ''
74 );
75 update_site_option(
76 'cookiebot-ruleset-id',
77 ! empty( $_POST['cookiebot-ruleset-id'] ) ? $_POST['cookiebot-ruleset-id'] : ''
78 );
79 update_site_option(
80 'cookiebot-script-tag-uc-attribute',
81 ! empty( $_POST['cookiebot-script-tag-uc-attribute'] ) ? $_POST['cookiebot-script-tag-uc-attribute'] : ''
82 );
83 update_site_option(
84 'cookiebot-script-tag-cd-attribute',
85 ! empty( $_POST['cookiebot-script-tag-cd-attribute'] ) ? $_POST['cookiebot-script-tag-cd-attribute'] : ''
86 );
87 update_site_option(
88 'cookiebot-autoupdate',
89 ! empty( $_POST['cookiebot-autoupdate'] ) ? $_POST['cookiebot-autoupdate'] : ''
90 );
91 update_site_option(
92 'cookiebot-nooutput',
93 ! empty( $_POST['cookiebot-nooutput'] ) ? $_POST['cookiebot-nooutput'] : ''
94 );
95 update_site_option(
96 'cookiebot-nooutput-admin',
97 ! empty( $_POST['cookiebot-nooutput-admin'] ) ? $_POST['cookiebot-nooutput-admin'] : ''
98 );
99 update_site_option(
100 'cookiebot-cookie-blocking-mode',
101 'manual'
102 );
103
104 wp_safe_redirect(
105 add_query_arg(
106 array(
107 'page' => 'cookiebot_network',
108 'updated' => true,
109 ),
110 network_admin_url( 'admin.php' )
111 )
112 );
113 exit;
114 }
115
116 /**
117 * Cookiebot_WP Cookiebot network setting page
118 *
119 * @throws InvalidArgumentException
120 * @since 2.2.0
121 * @version 2.2.0
122 */
123 public function display() {
124 $cbm = get_site_option( 'cookiebot-cookie-blocking-mode', 'manual' );
125
126 wp_enqueue_script(
127 'cookiebot-network-settings-page-js',
128 asset_url( 'js/backend/network-settings-page.js' ),
129 null,
130 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION,
131 true
132 );
133
134 wp_add_inline_script(
135 'cookiebot-network-settings-page-js',
136 'const cookiebotNetworkSettings = ' . wp_json_encode( array( 'cbm' => esc_attr( $cbm ) ) ),
137 'before'
138 );
139
140 wp_enqueue_style(
141 'cookiebot-settings-page-css',
142 asset_url( 'css/backend/settings-page.css' ),
143 null,
144 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION
145 );
146
147 include_view(
148 Cookiebot_Frame::get_view_path( true ) . 'network-settings-page.php',
149 array(
150 'cookiebot_gdpr_url' => 'https://www.cookiebot.com/' . Cookiebot_WP::get_manager_language() . '/gdpr/?utm_source=wordpress&utm_medium=referral&utm_campaign=banner',
151 'logo' => logo_url(),
152 'cbm' => $cbm,
153 'ruleset_id' => ! empty( get_site_option( 'cookiebot-ruleset-id' ) ) ? get_site_option( 'cookiebot-ruleset-id' ) : 'settings',
154 )
155 );
156 }
157 }
158