PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.6
CookieAdmin – Cookie Consent Banner v1.2.6
1.2.6 1.2.5 1.2.4 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 All 26 releases
← All changes | includes/admin/settings.php +87 -26 1.1.9 → 1.2.6 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($cookieadmin_policies[$c_law]) && !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 +}