PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.3
4.7.3 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 All 93 releases
cookiebot / src / settings / Network_Menu_Settings.php

Network_Menu_Settings.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.3, at src/settings/Network_Menu_Settings.php

162 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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