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