PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.3
CookieAdmin – Cookie Consent Banner v1.2.3
1.2.3 1.2.2 1.2.1 1.2.0 1.1.9 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
← All changes | includes/admin/settings.php +87 -26 1.1.91.2.3 View file →
@@ -17,8 +17,12 @@
17 17 $cookieadmin_requires_pro = \CookieAdmin\Admin::is_feature_available(1);
18 18
19 19 \CookieAdmin\Admin::header_theme(__('Settings', 'cookieadmin'));
20 20
21 + if(empty($cookieadmin_settings)){
22 + $cookieadmin_settings = get_option('cookieadmin_settings', []);
23 + }
24 +
21 25 echo '
22 26 <div class="cookieadmin_consent-wrap">
23 27 <form action="" method="post" id="setting_submenu">
24 28
@@ -67,14 +71,66 @@
67 71 </div>
68 72 </div>
69 73 </div>
70 74 </div>';
75 +
76 + // Card: Resource blocking
77 + echo '
78 + <div class="cookieadmin-card cookieadmin-mt-16">
79 + <div class="cookieadmin-card-header">
80 + <span class="cookieadmin-card-title"><span class="dashicons dashicons-media-document"></span> '.esc_html__('Resource Blocking', 'cookieadmin').'</span>
81 + </div>
82 + <div class="cookieadmin-card-body">
83 + <div class="cookieadmin-setting">
84 + <label class="cookieadmin-title" for="cookieadmin_block_scripts">'.esc_html__('Block scripts', 'cookieadmin').'
85 + <span class="dashicons dashicons-info cookieadmin-tooltip-box" data-tip="'.esc_html__('It blocks the scripts related to the scanned Cookies.', 'cookieadmin').'"></span>
86 + </label>
87 + <div class="cookieadmin-setting-contents">
88 + <label class="cookieadmin-toggle-wrap">
89 + <input name="cookieadmin_block_scripts" type="checkbox" id="cookieadmin_block_scripts" '.(!empty($cookieadmin_settings['block_scripts']) ? 'checked' : '').'>
90 + <div class="cookieadmin-toggle-track">
91 + <div class="cookieadmin-toggle-thumb"></div>
92 + </div>
93 + </label>
94 + </div>
95 + </div>
96 + <div class="cookieadmin-setting setting-blocking" cookieadmin-pro-only="1">
97 + <label class="cookieadmin-title" for="cookieadmin_content_blocking">'.esc_html__('Content Blocking', 'cookieadmin').'
98 + <span class="dashicons dashicons-info cookieadmin-tooltip-box" data-tip="'.esc_html__('Block third-party content which uses iframes to load cookies until user consent is given.', 'cookieadmin').'"></span>
99 + </label>
100 + <div class="cookieadmin-setting-contents">
101 + <label class="cookieadmin-toggle-wrap">';
102 + if(defined('COOKIEADMIN_PRO_VERSION')){
103 + echo '<input name="cookieadmin_content_blocking" type="checkbox" id="cookieadmin_content_blocking" '.(!empty($cookieadmin_settings['content_blocking']) && cookieadmin_is_pro() ? 'checked' : '').' />';
104 + } else {
105 + echo '<input type="checkbox" id="cookieadmin_content_blocking" />';
106 + }
107 +
108 + echo '<div class="cookieadmin-toggle-track">
109 + <div class="cookieadmin-toggle-thumb"></div>
110 + </div>
111 + '.wp_kses_post($cookieadmin_requires_pro).'
112 + </label>
113 + </div>
114 + </div>
71 115
116 + <div class="cookieadmin-content-blocking-options" style="display: '.(!empty($cookieadmin_settings['content_blocking']) ? 'block' : 'none').';">
117 + <div class="cookieadmin-cb-services">
118 + <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="youtube" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('youtube', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('YouTube', 'cookieadmin').'</label>
119 + <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="vimeo" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('vimeo', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Vimeo', 'cookieadmin').'</label>
120 + <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="soundcloud" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('soundcloud', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('SoundCloud', 'cookieadmin').'</label>
121 + <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="dailymotion" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('dailymotion', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Dailymotion', 'cookieadmin').'</label>
122 + <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="maps" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('maps', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Google Maps', 'cookieadmin').'</label>
123 + </div>
124 + </div>
125 + </div>
126 + </div>';
127 +
72 128 // Card: Advanced Features (PRO)
73 129 echo '
74 130 <div class="cookieadmin-card cookieadmin-mt-16" cookieadmin-pro-only="1">
75 131 <div class="cookieadmin-card-header">
76 - <span class="cookieadmin-card-title"><span class="dashicons dashicons-star-filled"></span> '.esc_html__('Advanced Features', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'</span>
132 + <span class="cookieadmin-card-title"><span class="dashicons dashicons-admin-generic"></span> '.esc_html__('Advanced Features', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'</span>
77 133 </div>
78 134 <div class="cookieadmin-card-body">
79 135 <div class="cookieadmin-setting">
80 136 <label class="cookieadmin-title" for="cookieadmin_google_consent_mode_v2">'.esc_html__('Google Consent Mode v2', 'cookieadmin').'
@@ -90,8 +146,22 @@
90 146 </div>
91 147 </div>
92 148
93 149 <div class="cookieadmin-setting">
150 + <label class="cookieadmin-title" for="cookieadmin_google_advance_consent_mode">'.esc_html__('Load Google tags before consent', 'cookieadmin').'
151 + <span class="dashicons dashicons-info cookieadmin-tooltip-box" data-tip="'.esc_html__('Google tags will fire immediately on the page load before consent.', 'cookieadmin').'"></span>
152 + </label>
153 + <div class="cookieadmin-setting-contents">
154 + <label class="cookieadmin-toggle-wrap">
155 + <input name="cookieadmin_google_advance_consent_mode" type="checkbox" id="cookieadmin_google_advance_consent_mode" '.(!empty($cookieadmin_settings['cookieadmin_google_advance_consent_mode']) && cookieadmin_is_pro() ? 'checked' : '').'>
156 + <div class="cookieadmin-toggle-track">
157 + <div class="cookieadmin-toggle-thumb"></div>
158 + </div>
159 + </label>
160 + </div>
161 + </div>
162 +
163 + <div class="cookieadmin-setting">
94 164 <label class="cookieadmin-title" for="cookieadmin_clarity_consent">'.esc_html__('Clarity Consent Mode V2', 'cookieadmin').'
95 165 <span class="dashicons dashicons-info cookieadmin-tooltip-box" data-tip="'.esc_html__('Enable Microsoft Clarity consent mode v2.', 'cookieadmin').'"></span>
96 166 </label>
97 167 <div class="cookieadmin-setting-contents">
@@ -157,32 +227,8 @@
157 227 </div>
158 228 </label>
159 229 </div>
160 230 </div>
161 -
162 - <div class="cookieadmin-setting setting-blocking">
163 - <label class="cookieadmin-title" for="cookieadmin_content_blocking">'.esc_html__('Content Blocking', 'cookieadmin').'
164 - <span class="dashicons dashicons-info cookieadmin-tooltip-box" data-tip="'.esc_html__('Block third-party content which uses iframes to load cookies until user consent is given.', 'cookieadmin').'"></span>
165 - </label>
166 - <div class="cookieadmin-setting-contents">
167 - <label class="cookieadmin-toggle-wrap">
168 - <input name="cookieadmin_content_blocking" type="checkbox" id="cookieadmin_content_blocking" '.(!empty($cookieadmin_settings['content_blocking']) && cookieadmin_is_pro() ? 'checked' : '').'>
169 - <div class="cookieadmin-toggle-track">
170 - <div class="cookieadmin-toggle-thumb"></div>
171 - </div>
172 - </label>
173 - </div>
174 - </div>
175 -
176 - <div class="cookieadmin-content-blocking-options" style="display: '.(!empty($cookieadmin_settings['content_blocking']) ? 'block' : 'none').';">
177 - <div class="cookieadmin-cb-services">
178 - <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="youtube" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('youtube', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('YouTube', 'cookieadmin').'</label>
179 - <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="vimeo" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('vimeo', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Vimeo', 'cookieadmin').'</label>
180 - <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="soundcloud" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('soundcloud', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('SoundCloud', 'cookieadmin').'</label>
181 - <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="dailymotion" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('dailymotion', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Dailymotion', 'cookieadmin').'</label>
182 - <label class="cookieadmin-title"><input type="checkbox" name="cookieadmin_content_blocking_services[]" value="maps" '.(!empty($cookieadmin_settings['content_blocking_services']) && in_array('maps', $cookieadmin_settings['content_blocking_services']) ? 'checked' : '').'> '.esc_html__('Google Maps', 'cookieadmin').'</label>
183 - </div>
184 - </div>
185 231 </div>
186 232 </div>';
187 233
188 234 // Card: Data Management (PRO)
@@ -276,8 +322,9 @@
276 322
277 323 $cookieadmin_settings = get_option('cookieadmin_settings', []);
278 324
279 325 // Save cookieadmin_settings only on settings page
326 + $cookieadmin_settings['block_scripts'] = !empty($_REQUEST['cookieadmin_block_scripts']);
280 327 $cookieadmin_settings['google_consent_mode_v2'] = (isset( $_REQUEST['cookieadmin_google_consent_mode_v2'] ) ? 1 : 0);
281 328 $cookieadmin_settings['hide_powered_by'] = (isset( $_REQUEST['cookieadmin_hide_powered_by'] ) ? 1 : 0);
282 329 $cookieadmin_settings['hide_reconsent'] = (isset( $_REQUEST['cookieadmin_hide_reconsent'] ) ? 1 : 0);
283 330 $cookieadmin_settings['cookieadmin_auto_scan'] = (isset( $_REQUEST['cookieadmin_auto_scan'] ) ? 1 : 0);
@@ -291,8 +338,11 @@
291 338 if(!empty($_REQUEST['cookieadmin_content_blocking_services'])){
292 339 $cookieadmin_settings['content_blocking_services'] = array_map('sanitize_text_field', wp_unslash($_REQUEST['cookieadmin_content_blocking_services']));
293 340 }
294 341
342 + // Google's advance consent mode (Google tags will be loaded on page load is enabled)
343 + $cookieadmin_settings['cookieadmin_google_advance_consent_mode'] = (isset( $_REQUEST['cookieadmin_google_advance_consent_mode'] ) ? 1 : 0);
344 +
295 345 if(empty($cookieadmin_error)){
296 346 update_option('cookieadmin_settings', $cookieadmin_settings);
297 347 }
298 348
@@ -311,9 +361,20 @@
311 361
312 362 //set preload and consent field for "cookieadmin-settings" page
313 363 $policy[$law]['preload'] = !empty($_REQUEST['cookieadmin_preload']) ? array_map('sanitize_text_field', wp_unslash($_REQUEST['cookieadmin_preload'])) : [];
314 364 $policy[$law]['reload_on_consent'] = !empty($_REQUEST['cookieadmin_reload_on_consent']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reload_on_consent'])) : '';
365 +
366 + // Check for certain fields to be saved only if their values is not the same as default
367 + $cookieadmin_check_changes = array('cookieadmin_notice_title', 'cookieadmin_notice', 'cookieadmin_preference_title', 'cookieadmin_preference', 'reConsent_title', 'cookieadmin_customize_btn', 'cookieadmin_reject_btn', 'cookieadmin_accept_btn', 'cookieadmin_save_btn');
315 368
369 + foreach($cookieadmin_check_changes as $c_field){
370 + foreach($policy as $c_law => $c_val){
371 + if(!empty($c_val[$c_field]) && $c_val[$c_field] == $cookieadmin_policies[$c_law][$c_field]){
372 + unset($policy[$c_law][$c_field]);
373 + }
374 + }
375 + }
376 +
316 377 update_option('cookieadmin_consent_settings', $policy);
317 378
318 379 if(empty($cookieadmin_error)){
319 380 $cookieadmin_msg = __('Settings saved successfully', 'cookieadmin');
@@ -318,5 +379,5 @@
318 379 if(empty($cookieadmin_error)){
319 380 $cookieadmin_msg = __('Settings saved successfully', 'cookieadmin');
320 381 }
321 382 }
322 -}
383 +}