PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / trunk
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode vtrunk
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 3 months ago templates 10 months ago Menu_Settings.php 3 months ago Network_Menu_Settings.php 3 months ago
Network_Menu_Settings.php
162 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 if ( ! current_user_can( 'manage_network_options' ) ) {
72 wp_die( esc_html__( 'You do not have permission to manage network options.', 'cookiebot' ), 403 );
73 }
74
75 update_site_option(
76 'cookiebot-cbid',
77 ! empty( $_POST['cookiebot-cbid'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-cbid'] ) ) : ''
78 );
79 update_site_option(
80 'cookiebot-ruleset-id',
81 ! empty( $_POST['cookiebot-ruleset-id'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-ruleset-id'] ) ) : ''
82 );
83 update_site_option(
84 'cookiebot-script-tag-uc-attribute',
85 ! empty( $_POST['cookiebot-script-tag-uc-attribute'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-script-tag-uc-attribute'] ) ) : ''
86 );
87 update_site_option(
88 'cookiebot-script-tag-cd-attribute',
89 ! empty( $_POST['cookiebot-script-tag-cd-attribute'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-script-tag-cd-attribute'] ) ) : ''
90 );
91 update_site_option(
92 'cookiebot-autoupdate',
93 ! empty( $_POST['cookiebot-autoupdate'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-autoupdate'] ) ) : ''
94 );
95 update_site_option(
96 'cookiebot-nooutput',
97 ! empty( $_POST['cookiebot-nooutput'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-nooutput'] ) ) : ''
98 );
99 update_site_option(
100 'cookiebot-nooutput-admin',
101 ! empty( $_POST['cookiebot-nooutput-admin'] ) ? sanitize_text_field( wp_unslash( $_POST['cookiebot-nooutput-admin'] ) ) : ''
102 );
103 update_site_option(
104 'cookiebot-cookie-blocking-mode',
105 'manual'
106 );
107
108 wp_safe_redirect(
109 add_query_arg(
110 array(
111 'page' => 'cookiebot_network',
112 'updated' => true,
113 ),
114 network_admin_url( 'admin.php' )
115 )
116 );
117 exit;
118 }
119
120 /**
121 * Cookiebot_WP Cookiebot network setting page
122 *
123 * @throws InvalidArgumentException
124 * @since 2.2.0
125 * @version 2.2.0
126 */
127 public function display() {
128 $cbm = get_site_option( 'cookiebot-cookie-blocking-mode', 'manual' );
129
130 wp_enqueue_script(
131 'cookiebot-network-settings-page-js',
132 asset_url( 'js/backend/network-settings-page.js' ),
133 null,
134 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION,
135 true
136 );
137
138 wp_add_inline_script(
139 'cookiebot-network-settings-page-js',
140 'const cookiebotNetworkSettings = ' . wp_json_encode( array( 'cbm' => esc_attr( $cbm ) ) ),
141 'before'
142 );
143
144 wp_enqueue_style(
145 'cookiebot-settings-page-css',
146 asset_url( 'css/backend/settings-page.css' ),
147 null,
148 Cookiebot_WP::COOKIEBOT_PLUGIN_VERSION
149 );
150
151 include_view(
152 Cookiebot_Frame::get_view_path( true ) . 'network-settings-page.php',
153 array(
154 'cookiebot_gdpr_url' => 'https://www.cookiebot.com/' . Cookiebot_WP::get_manager_language() . '/gdpr/?utm_source=wordpress&utm_medium=referral&utm_campaign=banner',
155 'logo' => logo_url(),
156 'cbm' => $cbm,
157 'ruleset_id' => ! empty( get_site_option( 'cookiebot-ruleset-id' ) ) ? get_site_option( 'cookiebot-ruleset-id' ) : 'settings',
158 )
159 );
160 }
161 }
162