PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.2
CookieAdmin – Cookie Consent Banner v1.2.2
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
cookieadmin / includes / admin / consent.php

consent.php in CookieAdmin – Cookie Consent Banner 1.2.2, at includes/admin/consent.php

497 lines 37.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace CookieAdmin\Admin;
4
5 if(!defined('COOKIEADMIN_VERSION') || !defined('ABSPATH')){
6 die('Hacking Attempt');
7 }
8
9 class Consent{
10
11 static function consent_form(){
12 global $cookieadmin_lang, $cookieadmin_error, $cookieadmin_msg;
13
14 $view = get_option('cookieadmin_law', 'cookieadmin_gdpr');
15 $policy = cookieadmin_load_policy();
16
17 $raw_template = cookieadmin_load_consent_template($policy[$view], $view);
18
19 if(!is_array($raw_template) || empty($raw_template)){
20 return false;
21 }
22
23 $templates = implode('', $raw_template);
24
25 if(empty($templates)){
26 echo '<div class="notice notice-error">
27 <p>
28 <strong>CookieAdmin Error:</strong> Cannot load required template file.
29 Please reinstall the plugin or contact support.
30 </p>
31 </div>';
32 return false;
33 }
34
35 $cookieadmin_requires_pro = \CookieAdmin\Admin::is_feature_available(1);
36
37 $icons_grid = apply_filters('cookieadmin_reconsent_icons', '', $policy[$view]);
38
39 //Start UI
40 \CookieAdmin\Admin::header_theme(__('Consent Form', 'cookieadmin'));
41
42 echo '
43 <div class="cookieadmin_consent-wrap">
44 <form action="" method="post" id="consent_submenu">
45
46 <div class="cookieadmin-card">
47 <div class="cookieadmin-card-header">
48 <span class="cookieadmin-card-title">'.esc_html__('General Settings', 'cookieadmin').'</span>
49 </div>
50 <div class="cookieadmin-card-body">
51
52 <div class="cookieadmin-setting">
53 <label class="cookieadmin-title" for="cookieadmin_consent_type">'.esc_html__('Consent Type', 'cookieadmin').'</label>
54 <div class="cookieadmin-setting-contents">
55 <select name="cookieadmin_consent_type" id="cookieadmin_consent_type">
56 <option name="cookieadmin_gdpr" id="cookieadmin_gdpr" '.((!empty($view) && $view === 'cookieadmin_gdpr') ? 'selected' : '').' value="cookieadmin_gdpr">'.esc_html__('GDPR', 'cookieadmin').'</option>
57 <option name="cookieadmin_us" id="cookieadmin_us" '.((!empty($view) && $view === 'cookieadmin_us') ? 'selected' : '').' value="cookieadmin_us">'.esc_html__('US State Laws', 'cookieadmin').'</option>
58 </select>
59 </div>
60 </div>
61
62 <div class="cookieadmin-setting cookieadmin_consent-expiry">
63 <label class="cookieadmin-title" for="cookieadmin_consent_expiry">'.esc_html__('Consent Expiry', 'cookieadmin').'</label>
64 <div class="cookieadmin-setting-contents">
65 <input type="number" name="cookieadmin_days" id="cookieadmin_consent_expiry" style="max-width:80px;" value="'.esc_attr($policy[$view]['cookieadmin_days']).'"> <span class="cookieadmin-text-muted" style="font-size:13px;">'.esc_html__('days', 'cookieadmin').'</span>
66 </div>
67 </div>
68
69 <div class="cookieadmin-setting consent-layout">
70 <label class="cookieadmin-title">'.esc_html__('Notice Type', 'cookieadmin').'</label>
71 <div class="cookieadmin-setting-contents">
72 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
73 <input name="cookieadmin_layout" type="radio" id="cookieadmin_layout_box" value="box">
74 '.esc_html__('Box', 'cookieadmin').'
75 </label>
76 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
77 <input name="cookieadmin_layout" type="radio" id="cookieadmin_layout_footer" value="footer">
78 '.esc_html__('Footer', 'cookieadmin').'
79 </label>
80 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
81 <input name="cookieadmin_layout" type="radio" id="cookieadmin_layout_popup" value="popup">
82 '.esc_html__('Popup', 'cookieadmin').'
83 </label>
84 </div>
85 </div>
86
87 <div class="cookieadmin-setting consent-position">
88 <label class="cookieadmin-title">'.esc_html__('Notice Position', 'cookieadmin').'</label>
89 <div class="cookieadmin-setting-contents">
90 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
91 <input class="cookieadmin_box_layout" id="cookieadmin_position_bottom_left" name="cookieadmin_position" type="radio" value="bottom_left" checked>
92 '.esc_html__('Bottom Left', 'cookieadmin').'
93 </label>
94 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
95 <input class="cookieadmin_box_layout" id="cookieadmin_position_bottom_right" name="cookieadmin_position" type="radio" value="bottom_right">
96 '.esc_html__('Bottom Right', 'cookieadmin').'
97 </label>
98 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
99 <input class="cookieadmin_box_layout" id="cookieadmin_position_top_left" name="cookieadmin_position" type="radio" value="top_left">
100 '.esc_html__('Top Left', 'cookieadmin').'
101 </label>
102 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
103 <input class="cookieadmin_box_layout" id="cookieadmin_position_top_right" name="cookieadmin_position" type="radio" value="top_right">
104 '.esc_html__('Top Right', 'cookieadmin').'
105 </label>
106 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400; display:none;">
107 <input class="cookieadmin_footer_layout" id="cookieadmin_position_top" name="cookieadmin_position" type="radio" value="top">
108 '.esc_html__('Top', 'cookieadmin').'
109 </label>
110 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400; display:none;">
111 <input class="cookieadmin_footer_layout" id="cookieadmin_position_bottom" name="cookieadmin_position" type="radio" value="bottom">
112 '.esc_html__('Bottom', 'cookieadmin').'
113 </label>
114 </div>
115 </div>
116
117 <div class="cookieadmin-setting consent-modal-layout">
118 <label class="cookieadmin-title">'.esc_html__('Preference Position', 'cookieadmin').'</label>
119 <div class="cookieadmin-setting-contents">
120 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
121 <input id="cookieadmin_modal_center" name="cookieadmin_modal" type="radio" value="center" checked>
122 '.esc_html__('Center', 'cookieadmin').'
123 </label>
124 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
125 <input id="cookieadmin_modal_side" name="cookieadmin_modal" type="radio" value="side">
126 '.esc_html__('Side', 'cookieadmin').'
127 </label>
128 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
129 <input id="cookieadmin_modal_down" name="cookieadmin_modal" type="radio" value="down">
130 '.esc_html__('Draw down', 'cookieadmin').'
131 </label>
132 </div>
133 </div>
134 </div>
135 </div>
136 <div class="cookieadmin-card cookieadmin-mt-16">
137 <div class="cookieadmin-card-header">
138 <span class="cookieadmin-card-title">'.esc_html__('Notice Content', 'cookieadmin').'</span>
139 </div>
140 <div class="cookieadmin-card-body">
141 <div class="cookieadmin-vertical" style="gap:16px;">
142 <div>
143 <label for="cookieadmin_notice_title_layout" style="display:block; font-weight:600; font-size:13px; margin-bottom:6px;">'.esc_html__('Title', 'cookieadmin').'</label>
144 <input type="text" id="cookieadmin_notice_title_layout" name="cookieadmin_notice_title" style="width:100%; max-width:600px;" value="'.esc_attr($policy[$view]['cookieadmin_notice_title']).'">
145 </div>
146 <div>
147 <label for="cookieadmin_notice_layout" style="display:block; font-weight:600; font-size:13px; margin-bottom:6px;">'.esc_html__('Notice Text', 'cookieadmin').'</label>
148 <textarea rows="4" id="cookieadmin_notice_layout" name="cookieadmin_notice" style="width:100%; max-width:600px;">'.esc_html($policy[$view]['cookieadmin_notice']).'</textarea>
149 </div>
150 <div>
151 <label style="display:block; font-weight:600; font-size:13px; margin-bottom:10px;">'.esc_html__('Colors', 'cookieadmin').'</label>
152 <div class="cookieadmin-horizontal" style="flex-wrap:wrap; gap:16px;">
153 <div class="cookieadmin-vertical" style="gap:4px;">
154 <label for="cookieadmin_notice_title_color" style="font-size:12px; font-weight:500;">'.esc_html__('Title', 'cookieadmin').'</label>
155 <div class="cookieadmin-color-holder">
156 <input type="color" id="cookieadmin_notice_title_color_box" name="cookieadmin_notice_title_color_box" value="'.esc_attr($policy[$view]['cookieadmin_notice_title_color']).'">
157 <input type="text" id="cookieadmin_notice_title_color" name="cookieadmin_notice_title_color" value="'.esc_attr($policy[$view]['cookieadmin_notice_title_color']).'" class="cookieadmin-color-input">
158 </div>
159 </div>
160 <div class="cookieadmin-vertical" style="gap:4px;">
161 <label for="cookieadmin_notice_color" style="font-size:12px; font-weight:500;">'.esc_html__('Content', 'cookieadmin').'</label>
162 <div class="cookieadmin-color-holder">
163 <input type="color" id="cookieadmin_notice_color_box" name="cookieadmin_notice_color_box" value="'.esc_attr($policy[$view]['cookieadmin_notice_color']).'">
164 <input type="text" id="cookieadmin_notice_color" name="cookieadmin_notice_color" value="'.esc_attr($policy[$view]['cookieadmin_notice_color']).'" class="cookieadmin-color-input">
165 </div>
166 </div>
167 <div class="cookieadmin-vertical" style="gap:4px;">
168 <label for="cookieadmin_consent_inside_bg_color" style="font-size:12px; font-weight:500;">'.esc_html__('Background', 'cookieadmin').'</label>
169 <div class="cookieadmin-color-holder">
170 <input type="color" id="cookieadmin_consent_inside_bg_color_box" name="cookieadmin_consent_inside_bg_color_box" value="'.esc_attr($policy[$view]['cookieadmin_consent_inside_bg_color']).'">
171 <input type="text" id="cookieadmin_consent_inside_bg_color" name="cookieadmin_consent_inside_bg_color" value="'.esc_attr($policy[$view]['cookieadmin_consent_inside_bg_color']).'" class="cookieadmin-color-input">
172 </div>
173 </div>
174 <div class="cookieadmin-vertical" style="gap:4px;">
175 <label for="cookieadmin_consent_inside_border_color" style="font-size:12px; font-weight:500;">'.esc_html__('Border', 'cookieadmin').'</label>
176 <div class="cookieadmin-color-holder">
177 <input type="color" id="cookieadmin_consent_inside_border_color_box" name="cookieadmin_consent_inside_border_color_box" value="'.esc_attr($policy[$view]['cookieadmin_consent_inside_border_color']).'">
178 <input type="text" id="cookieadmin_consent_inside_border_color" name="cookieadmin_consent_inside_border_color" value="'.esc_attr($policy[$view]['cookieadmin_consent_inside_border_color']).'" class="cookieadmin-color-input">
179 </div>
180 </div>
181 </div>
182 </div>
183 </div>
184 </div>
185 </div>
186 <div class="cookieadmin-card">
187 <div class="cookieadmin-card-header">
188 <span class="cookieadmin-card-title">'.esc_html__('Button Settings', 'cookieadmin').'</span>
189 </div>
190 <div class="cookieadmin-card-body">
191 <div class="cookieadmin-vertical" style="gap:24px;">';
192
193 $button_labels = [
194 'cookieadmin_customize_btn' => __('Customize', 'cookieadmin'),
195 'cookieadmin_reject_btn' => __('Reject All', 'cookieadmin'),
196 'cookieadmin_accept_btn' => __('Accept All', 'cookieadmin'),
197 'cookieadmin_save_btn' => __('Save Preferences', 'cookieadmin')
198 ];
199
200 foreach($button_labels as $btn_key => $btn_label):
201 echo '
202 <div class="cookieadmin-horizontal" style="align-items:flex-start; gap:24px; flex-wrap:wrap;">
203 <div class="cookieadmin-vertical" style="gap:4px; min-width:180px;">
204 <label for="'.esc_attr($btn_key).'" style="font-size:12px; font-weight:500;">'.esc_html($btn_label).'</label>
205 <input id="'.esc_attr($btn_key).'" name="'.esc_attr($btn_key).'" style="max-width:180px; text-align:center;" value="'.esc_attr($policy[$view][$btn_key]).'">
206 </div>
207 <div class="cookieadmin-vertical" style="gap:4px;">
208 <label for="'.esc_attr($btn_key.'_color').'" style="font-size:12px; font-weight:500;">'.esc_html__('Text Color', 'cookieadmin').'</label>
209 <div class="cookieadmin-color-holder">
210 <input type="color" id="'.esc_attr($btn_key.'_color_box').'" name="'.esc_attr($btn_key.'_color_box').'" value="'.esc_attr($policy[$view][$btn_key.'_color']).'">
211 <input type="text" id="'.esc_attr($btn_key.'_color').'" name="'.esc_attr($btn_key.'_color').'" value="'.esc_attr($policy[$view][$btn_key.'_color']).'" class="cookieadmin-color-input">
212 </div>
213 </div>
214 <div class="cookieadmin-vertical" style="gap:4px;">
215 <label for="'.esc_attr($btn_key.'_bg_color').'" style="font-size:12px; font-weight:500;">'.esc_html__('Background', 'cookieadmin').'</label>
216 <div class="cookieadmin-color-holder">
217 <input type="color" id="'.esc_attr($btn_key.'_bg_color_box').'" name="'.esc_attr($btn_key.'_bg_color_box').'" value="'.esc_attr($policy[$view][$btn_key.'_bg_color']).'">
218 <input type="text" id="'.esc_attr($btn_key.'_bg_color').'" name="'.esc_attr($btn_key.'_bg_color').'" value="'.esc_attr($policy[$view][$btn_key.'_bg_color']).'" class="cookieadmin-color-input">
219 </div>
220 </div>
221 </div>';
222 endforeach;
223
224 echo '</div>
225 </div>
226 </div>
227 <div class="cookieadmin-card">
228 <div class="cookieadmin-card-header">
229 <span class="cookieadmin-card-title">'.esc_html__('Preference Content', 'cookieadmin').'</span>
230 </div>
231 <div class="cookieadmin-card-body">
232 <div class="cookieadmin-vertical" style="gap:16px;">
233 <div>
234 <label for="cookieadmin_preference_title_layout" style="display:block; font-weight:600; font-size:13px; margin-bottom:6px;">'.esc_html__('Title', 'cookieadmin').'</label>
235 <input type="text" id="cookieadmin_preference_title_layout" name="cookieadmin_preference_title" style="width:100%; max-width:600px;" value="'.esc_html($policy[$view]['cookieadmin_preference_title']).'">
236 </div>
237 <div>
238 <label for="cookieadmin_preference_layout" style="display:block; font-weight:600; font-size:13px; margin-bottom:6px;">'.esc_html__('Privacy Notice', 'cookieadmin').'</label>
239 <textarea rows="4" id="cookieadmin_preference_layout" name="cookieadmin_preference" style="width:100%; max-width:600px;">'.esc_html($policy[$view]['cookieadmin_preference']).'</textarea>
240 </div>
241 <div>
242 <label style="display:block; font-weight:600; font-size:13px; margin-bottom:10px;">'.esc_html__('Colors', 'cookieadmin').'</label>
243 <div class="cookieadmin-horizontal" style="flex-wrap:wrap; gap:16px;">
244 <div class="cookieadmin-vertical" style="gap:4px;">
245 <label for="cookieadmin_preference_title_color" style="font-size:12px; font-weight:500;">'.esc_html__('Title', 'cookieadmin').'</label>
246 <div class="cookieadmin-color-holder">
247 <input type="color" id="cookieadmin_preference_title_color_box" name="cookieadmin_preference_title_color_box" value="'.esc_attr($policy[$view]['cookieadmin_preference_title_color']).'">
248 <input type="text" id="cookieadmin_preference_title_color" name="cookieadmin_preference_title_color" value="'.esc_attr($policy[$view]['cookieadmin_preference_title_color']).'" class="cookieadmin-color-input">
249 </div>
250 </div>
251 <div class="cookieadmin-vertical" style="gap:4px;">
252 <label for="cookieadmin_details_wrapper_color" style="font-size:12px; font-weight:500;">'.esc_html__('Content', 'cookieadmin').'</label>
253 <div class="cookieadmin-color-holder">
254 <input type="color" id="cookieadmin_details_wrapper_color_box" name="cookieadmin_details_wrapper_color_box" value="'.esc_attr($policy[$view]['cookieadmin_details_wrapper_color']).'">
255 <input type="text" id="cookieadmin_details_wrapper_color" name="cookieadmin_details_wrapper_color" value="'.esc_attr($policy[$view]['cookieadmin_details_wrapper_color']).'" class="cookieadmin-color-input">
256 </div>
257 </div>
258 <div class="cookieadmin-vertical" style="gap:4px;">
259 <label for="cookieadmin_cookie_modal_bg_color" style="font-size:12px; font-weight:500;">'.esc_html__('Background', 'cookieadmin').'</label>
260 <div class="cookieadmin-color-holder">
261 <input type="color" id="cookieadmin_cookie_modal_bg_color_box" name="cookieadmin_cookie_modal_bg_color_box" value="'.esc_attr($policy[$view]['cookieadmin_cookie_modal_bg_color']).'">
262 <input type="text" id="cookieadmin_cookie_modal_bg_color" name="cookieadmin_cookie_modal_bg_color" value="'.esc_attr($policy[$view]['cookieadmin_cookie_modal_bg_color']).'" class="cookieadmin-color-input">
263 </div>
264 </div>
265 <div class="cookieadmin-vertical" style="gap:4px;">
266 <label for="cookieadmin_cookie_modal_border_color" style="font-size:12px; font-weight:500;">'.esc_html__('Border', 'cookieadmin').'</label>
267 <div class="cookieadmin-color-holder">
268 <input type="color" id="cookieadmin_cookie_modal_border_color_box" name="cookieadmin_cookie_modal_border_color_box" value="'.esc_attr($policy[$view]['cookieadmin_cookie_modal_border_color']).'">
269 <input type="text" id="cookieadmin_cookie_modal_border_color" name="cookieadmin_cookie_modal_border_color" value="'.esc_attr($policy[$view]['cookieadmin_cookie_modal_border_color']).'" class="cookieadmin-color-input">
270 </div>
271 </div>
272 </div>
273 </div>
274 <div>
275 <label style="display:block; font-weight:600; font-size:13px; margin-bottom:10px;">'.esc_html__('Additional Colors', 'cookieadmin').'</label>
276 <div class="cookieadmin-horizontal" style="flex-wrap:wrap; gap:16px;">
277 <div class="cookieadmin-vertical" style="gap:4px;">
278 <label for="cookieadmin_links_color" style="font-size:12px; font-weight:500;">'.esc_html__('Links', 'cookieadmin').'</label>
279 <div class="cookieadmin-color-holder">
280 <input type="color" id="cookieadmin_links_color_box" name="cookieadmin_links_color_box" value="'.esc_attr($policy[$view]['cookieadmin_links_color']).'">
281 <input type="text" id="cookieadmin_links_color" name="cookieadmin_links_color" value="'.esc_attr($policy[$view]['cookieadmin_links_color']).'" class="cookieadmin-color-input">
282 </div>
283 </div>
284 <div class="cookieadmin-vertical" style="gap:4px;">
285 <label for="cookieadmin_slider_on_bg_color" style="font-size:12px; font-weight:500;">'.esc_html__('Button Switch On', 'cookieadmin').'</label>
286 <div class="cookieadmin-color-holder">
287 <input type="color" id="cookieadmin_slider_on_bg_color_box" name="cookieadmin_slider_on_bg_color_box" value="'.esc_attr($policy[$view]['cookieadmin_slider_on_bg_color']).'">
288 <input type="text" id="cookieadmin_slider_on_bg_color" name="cookieadmin_slider_on_bg_color" value="'.esc_attr($policy[$view]['cookieadmin_slider_on_bg_color']).'" class="cookieadmin-color-input">
289 </div>
290 </div>
291 <div class="cookieadmin-vertical" style="gap:4px;">
292 <label for="cookieadmin_slider_off_bg_color" style="font-size:12px; font-weight:500;">'.esc_html__('Button Switch Off', 'cookieadmin').'</label>
293 <div class="cookieadmin-color-holder">
294 <input type="color" id="cookieadmin_slider_off_bg_color_box" name="cookieadmin_slider_off_bg_color_box" value="'.esc_attr($policy[$view]['cookieadmin_slider_off_bg_color']).'">
295 <input type="text" id="cookieadmin_slider_off_bg_color" name="cookieadmin_slider_off_bg_color" value="'.esc_attr($policy[$view]['cookieadmin_slider_off_bg_color']).'" class="cookieadmin-color-input">
296 </div>
297 </div>
298 </div>
299 </div>
300 </div>
301 </div>
302 </div>
303
304 <div class="cookieadmin-card" cookieadmin-pro-only="1">
305 <div class="cookieadmin-card-header">
306 <span class="cookieadmin-card-title">'.esc_html__('Re-consent Icon', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'</span>
307 </div>
308 <div class="cookieadmin-card-body">
309 <div class="cookieadmin-vertical" style="gap:12px;">
310 <div class="cookieadmin-reconsent-icons-grid">
311 <div class="cookieadmin-reconsent-icons-list">
312 ' . wp_kses($icons_grid, cookieadmin_kses_allowed_html()) . '
313 </div>
314 <div class="cookieadmin-custom-reconsent-url cookieadmin-mt-16">
315 <input type="text" id="cookieadmin_reconsent_img_url" name="cookieadmin_reconsent_img_url" style="width:100%; max-width:500px;" placeholder="'.esc_attr__('Insert custom icon url here', 'cookieadmin').'" value="'.(!empty($policy[$view]['cookieadmin_reconsent_img_url']) ? esc_attr($policy[$view]['cookieadmin_reconsent_img_url']) : '').'">
316 </div>
317 <div class="cookieadmin-mt-16">
318 <input type="button" class="cookieadmin-btn cookieadmin-btn-secondary" id="cookieadmin_upload_icon_btn" value="'.esc_attr__( 'Upload Icon', 'cookieadmin' ).'">
319 </div>
320 </div>
321 <div class="cookieadmin-vertical" style="gap:4px; margin-top:16px;">
322 <label for="cookieadmin_re_consent_bg_color" style="font-size:12px; font-weight:500;">'.esc_html__('Background', 'cookieadmin').'</label>
323 <div class="cookieadmin-color-holder">
324 <input type="color" id="cookieadmin_re_consent_bg_color_box" name="cookieadmin_re_consent_bg_color_box" value="'.(!empty($policy[$view]['cookieadmin_re_consent_bg_color']) ? esc_attr($policy[$view]['cookieadmin_re_consent_bg_color']) : '#374FD4').'">
325 <input type="text" id="cookieadmin_re_consent_bg_color" name="cookieadmin_re_consent_bg_color" value="'.(!empty($policy[$view]['cookieadmin_re_consent_bg_color']) ? esc_attr($policy[$view]['cookieadmin_re_consent_bg_color']) : '#374FD4').'" class="cookieadmin-color-input">
326 </div>
327 </div>
328 </div>
329 </div>
330 </div>
331
332 <div class="cookieadmin-card cookieadmin-mt-16" cookieadmin-pro-only="1">
333 <div class="cookieadmin-card-header">
334 <span class="cookieadmin-card-title">'.esc_html__('Policy Links', 'cookieadmin').wp_kses_post($cookieadmin_requires_pro).'</span>
335 </div>
336 <div class="cookieadmin-card-body">
337 <div class="cookieadmin-vertical" style="gap:16px;">
338 <div class="cookieadmin-vertical" style="gap:4px;">
339 <label for="cookieadmin_privacy_policy" style="font-size:13px; font-weight:500;">'.esc_html__('Privacy Policy', 'cookieadmin').'</label>
340 <input type="text" id="cookieadmin_privacy_policy" name="cookieadmin_privacy_policy" style="width:100%; max-width:500px;" placeholder="'.__('Insert Privacy Policy link here...', 'cookieadmin').'" value="'.(!empty($policy[$view]['cookieadmin_privacy_policy']) ? esc_attr($policy[$view]['cookieadmin_privacy_policy']) : '').'">
341 </div>
342 <div class="cookieadmin-vertical" style="gap:4px;">
343 <label for="cookieadmin_cookie_policy" style="font-size:13px; font-weight:500;">'.esc_html__('Cookie Policy', 'cookieadmin').'</label>
344 <input type="text" id="cookieadmin_cookie_policy" name="cookieadmin_cookie_policy" style="width:100%; max-width:500px;" placeholder="'.__('Insert Cookie Policy link here...', 'cookieadmin').'" value="'.(!empty($policy[$view]['cookieadmin_cookie_policy']) ? esc_attr($policy[$view]['cookieadmin_cookie_policy']) : '').'">
345 </div>
346 <div>
347 <label style="font-size:13px; font-weight:500; display:block; margin-bottom:8px;">'.esc_html__('Visibility', 'cookieadmin').'</label>
348 <div class="cookieadmin-horizontal" style="gap:16px;">
349 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
350 <input type="checkbox" id="cookieadmin_privacy_policy_banner" name="cookieadmin_privacy_policy_banner" '.(!empty($policy[$view]['cookieadmin_privacy_policy_banner']) ? 'checked' : '').'>
351 '.esc_html__('Banner', 'cookieadmin').'
352 </label>
353 <label class="cookieadmin-horizontal" style="cursor:pointer; font-weight:400;">
354 <input type="checkbox" id="cookieadmin_privacy_policy_pref" name="cookieadmin_privacy_policy_pref" '.(!empty($policy[$view]['cookieadmin_privacy_policy_pref']) ? 'checked' : '').'>
355 '.esc_html__('Preference', 'cookieadmin').'
356 </label>
357 </div>
358 </div>
359 <div class="cookieadmin-vertical" style="gap:4px;">
360 <label for="cookieadmin_policy_link_color" style="font-size:12px; font-weight:500;">'.esc_html__('Link Color', 'cookieadmin').'</label>
361 <div class="cookieadmin-color-holder">
362 <input type="color" id="cookieadmin_policy_link_color_box" name="cookieadmin_policy_link_color_box" value="'.(!empty($policy[$view]['cookieadmin_policy_link_color']) ? esc_attr($policy[$view]['cookieadmin_policy_link_color']) : '').'">
363 <input type="text" id="cookieadmin_policy_link_color" name="cookieadmin_policy_link_color" value="'.(!empty($policy[$view]['cookieadmin_policy_link_color']) ? esc_attr($policy[$view]['cookieadmin_policy_link_color']) : '').'" class="cookieadmin-color-input">
364 </div>
365 </div>
366 </div>
367 </div>
368 </div>';
369
370 wp_nonce_field('cookieadmin_admin_nonce', 'cookieadmin_security');
371
372 echo '
373 <div class="cookieadmin-save-bar">
374 <button type="button" id="cookieadmin_show_preview" class="cookieadmin-btn cookieadmin-btn-ghost"><span class="dashicons dashicons-visibility"></span>'.esc_html__('Show Preview', 'cookieadmin').'</button>
375 <button type="button" id="cookieadmin_hide_preview" class="cookieadmin-btn cookieadmin-btn-ghost" style="display:none;"><span class="dashicons dashicons-hidden"></span>'.esc_html__('Hide Preview', 'cookieadmin').'</button>
376 <input type="submit" name="cookieadmin_save_settings" class="cookieadmin-btn cookieadmin-btn-primary" value="'.esc_html__('Save Settings', 'cookieadmin').'">
377 </div>
378
379 </form>
380 </div>';
381 \CookieAdmin\Admin::footer_theme();
382
383 $allowed_tags = cookieadmin_kses_allowed_html();
384 echo wp_kses($templates, $allowed_tags);
385 }
386
387 static function save_consent_form(){
388 global $cookieadmin_lang, $cookieadmin_error, $cookieadmin_msg, $cookieadmin_settings, $cookieadmin_policies;
389 // debug_print_backtrace();die;
390
391 check_admin_referer('cookieadmin_admin_nonce', 'cookieadmin_security');
392
393 if(!current_user_can('administrator')){
394 wp_send_json_error(array('message' => __('Sorry, but you do not have permissions to perform this action', 'cookieadmin')));
395 }
396
397 $policy = cookieadmin_load_policy();
398
399 $cookieadmin_consent_type = isset( $_REQUEST['cookieadmin_consent_type'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['cookieadmin_consent_type'] ) ) : '';
400
401 if(!empty($cookieadmin_consent_type)){
402
403 $laws = array('cookieadmin_gdpr' => '', 'cookieadmin_us' => '');
404
405 $law = array_key_exists($cookieadmin_consent_type, $laws) ? $cookieadmin_consent_type : 'cookieadmin_gdpr';
406
407 if(empty($cookieadmin_error)){
408 update_option('cookieadmin_law', $law);
409 }
410 }
411
412 $setting['cookieadmin_geo_tgt'] = (!empty($_REQUEST['cookieadmin_geo_tgt'])) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_geo_tgt'])) : 'www';
413
414 $setting['cookieadmin_layout'] = (!empty($_REQUEST['cookieadmin_layout']) && in_array($_REQUEST['cookieadmin_layout'], array('box', 'footer', 'popup'))) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_layout'])) : (!empty($policy[$law]['cookieadmin_layout']) ? $policy[$law]['cookieadmin_layout'] : 'box');
415
416 $setting['cookieadmin_position'] = (!empty($_REQUEST['cookieadmin_position']) && in_array($_REQUEST['cookieadmin_position'], array('bottom_left', 'bottom_right', 'top_left', 'top_right', 'top', 'bottom'))) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_position'])) : (!empty($policy[$law]['cookieadmin_position']) ? $policy[$law]['cookieadmin_position'] : 'bottom_left');
417
418 $setting['cookieadmin_modal'] = (isset($_REQUEST['cookieadmin_modal']) && in_array($_REQUEST['cookieadmin_modal'], array('center', 'side', 'down'))) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_modal'])) : (!empty($policy[$law]['cookieadmin_modal']) ? $policy[$law]['cookieadmin_modal'] : 'center');
419
420 if($setting['cookieadmin_layout'] == 'popup'){
421 $setting['cookieadmin_modal'] = 'center';
422 unset($setting['cookieadmin_position']);
423 }
424
425 $setting['cookieadmin_notice_title'] = !empty($_REQUEST['cookieadmin_notice_title']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_notice_title'])) : $policy[$law]['cookieadmin_notice_title'];
426 $setting['cookieadmin_notice_title_color'] = !empty($_REQUEST['cookieadmin_notice_title_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_notice_title_color'])) : (!empty($policy[$law]['cookieadmin_notice_title_color']) ? $policy[$law]['cookieadmin_notice_title_color'] : '#000000');
427
428 $setting['cookieadmin_notice'] = !empty($_REQUEST['cookieadmin_notice']) ? wp_kses(wp_unslash($_REQUEST['cookieadmin_notice']), cookieadmin_kses_allowed_html()) : $policy[$law]['cookieadmin_notice'];
429 $setting['cookieadmin_notice_color'] = !empty($_REQUEST['cookieadmin_notice_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_notice_color'])) : (!empty($policy[$law]['cookieadmin_notice_color']) ? $policy[$law]['cookieadmin_notice_color'] : '#000000');
430
431 $setting['cookieadmin_consent_inside_bg_color'] = !empty($_REQUEST['cookieadmin_consent_inside_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_consent_inside_bg_color'])) : (!empty($policy[$law]['cookieadmin_consent_inside_bg_color']) ? $policy[$law]['cookieadmin_consent_inside_bg_color'] : '#ffffff');
432 $setting['cookieadmin_consent_inside_border_color'] = !empty($_REQUEST['cookieadmin_consent_inside_border_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_consent_inside_border_color'])) : (!empty($policy[$law]['cookieadmin_consent_inside_border_color']) ? $policy[$law]['cookieadmin_consent_inside_border_color'] : '#000000');
433
434 $setting['cookieadmin_customize_btn'] = !empty($_REQUEST['cookieadmin_customize_btn']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_customize_btn'])) : (!empty($policy[$law]['cookieadmin_customize_btn']) ? $policy[$law]['cookieadmin_customize_btn'] : 'Customize');
435 $setting['cookieadmin_customize_btn_color'] = !empty($_REQUEST['cookieadmin_customize_btn_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_customize_btn_color'])) : (!empty($policy[$law]['cookieadmin_customize_btn_color']) ? $policy[$law]['cookieadmin_customize_btn_color'] : '#ffffff');
436 $setting['cookieadmin_customize_btn_bg_color'] = !empty($_REQUEST['cookieadmin_customize_btn_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_customize_btn_bg_color'])) : (!empty($policy[$law]['cookieadmin_customize_btn_bg_color']) ? $policy[$law]['cookieadmin_customize_btn_bg_color'] : '#0000ff');
437
438 $setting['cookieadmin_reject_btn'] = !empty($_REQUEST['cookieadmin_reject_btn']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reject_btn'])) : (!empty($policy[$law]['cookieadmin_reject_btn']) ? $policy[$law]['cookieadmin_reject_btn'] : 'Reject All');
439 $setting['cookieadmin_reject_btn_color'] = !empty($_REQUEST['cookieadmin_reject_btn_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reject_btn_color'])) : (!empty($policy[$law]['cookieadmin_reject_btn_color']) ? $policy[$law]['cookieadmin_reject_btn_color'] : '#ffffff');
440 $setting['cookieadmin_reject_btn_bg_color'] = !empty($_REQUEST['cookieadmin_reject_btn_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reject_btn_bg_color'])) : (!empty($policy[$law]['cookieadmin_reject_btn_bg_color']) ? $policy[$law]['cookieadmin_reject_btn_bg_color'] : '#ff0000');
441
442 $setting['cookieadmin_accept_btn'] = !empty($_REQUEST['cookieadmin_accept_btn']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_accept_btn'])) : (!empty($policy[$law]['cookieadmin_accept_btn']) ? $policy[$law]['cookieadmin_accept_btn'] : 'Accept All');
443 $setting['cookieadmin_accept_btn_color'] = !empty($_REQUEST['cookieadmin_accept_btn_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_accept_btn_color'])) : (!empty($policy[$law]['cookieadmin_accept_btn']) ? $policy[$law]['cookieadmin_accept_btn_color'] : '#ffffff');
444 $setting['cookieadmin_accept_btn_bg_color'] = !empty($_REQUEST['cookieadmin_accept_btn_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_accept_btn_bg_color'])) : (!empty($policy[$law]['cookieadmin_accept_btn_bg_color']) ? $policy[$law]['cookieadmin_accept_btn_bg_color'] : '#00ff00');
445
446 $setting['cookieadmin_save_btn'] = !empty($_REQUEST['cookieadmin_save_btn']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_save_btn'])) : (!empty($policy[$law]['cookieadmin_save_btn']) ? $policy[$law]['cookieadmin_save_btn'] : 'Save Preferences');
447 $setting['cookieadmin_save_btn_color'] = !empty($_REQUEST['cookieadmin_save_btn_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_save_btn_color'])) : (!empty($policy[$law]['cookieadmin_save_btn_color']) ? $policy[$law]['cookieadmin_save_btn_color'] : '#ffffff');
448 $setting['cookieadmin_save_btn_bg_color'] = !empty($_REQUEST['cookieadmin_save_btn_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_save_btn_bg_color'])) : (!empty($policy[$law]['cookieadmin_save_btn_bg_color']) ? $policy[$law]['cookieadmin_save_btn_bg_color'] : '#183833');
449
450 $setting['cookieadmin_preference_title'] = !empty($_REQUEST['cookieadmin_preference_title']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_preference_title'])) : $policy[$law]['cookieadmin_preference_title'];
451 $setting['cookieadmin_preference_title_color'] = !empty($_REQUEST['cookieadmin_preference_title_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_preference_title_color'])) : (!empty($policy[$law]['cookieadmin_preference_title_color']) ? $policy[$law]['cookieadmin_preference_title_color'] : '#000000');
452
453 $setting['cookieadmin_preference'] = !empty($_REQUEST['cookieadmin_preference']) ? wp_kses(wp_unslash($_REQUEST['cookieadmin_preference']), cookieadmin_kses_allowed_html()) : $policy[$law]['cookieadmin_preference'];
454 $setting['cookieadmin_details_wrapper_color'] = !empty($_REQUEST['cookieadmin_details_wrapper_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_details_wrapper_color'])) : (!empty($policy[$law]['cookieadmin_details_wrapper_color']) ? $policy[$law]['cookieadmin_details_wrapper_color'] : '#000000');
455
456 $setting['cookieadmin_cookie_modal_bg_color'] = !empty($_REQUEST['cookieadmin_cookie_modal_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_cookie_modal_bg_color'])) : (!empty($policy[$law]['cookieadmin_cookie_modal_bg_color']) ? $policy[$law]['cookieadmin_cookie_modal_bg_color'] : '#ffffff');
457 $setting['cookieadmin_cookie_modal_border_color'] = !empty($_REQUEST['cookieadmin_cookie_modal_border_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_cookie_modal_border_color'])) : (!empty($policy[$law]['cookieadmin_cookie_modal_border_color']) ? $policy[$law]['cookieadmin_cookie_modal_border_color'] : '#000000');
458
459 $setting['cookieadmin_slider_off_bg_color'] = !empty($_REQUEST['cookieadmin_slider_off_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_slider_off_bg_color'])) : (!empty($policy[$law]['cookieadmin_slider_off_bg_color']) ? $policy[$law]['cookieadmin_slider_off_bg_color'] : '#808080');
460 $setting['cookieadmin_slider_on_bg_color'] = !empty($_REQUEST['cookieadmin_slider_on_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_slider_on_bg_color'])) : (!empty($policy[$law]['cookieadmin_slider_on_bg_color']) ? $policy[$law]['cookieadmin_slider_on_bg_color'] : '#3582c4');
461 $setting['cookieadmin_links_color'] = !empty($_REQUEST['cookieadmin_links_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_links_color'])) : (!empty($policy[$law]['cookieadmin_links_color']) ? $policy[$law]['cookieadmin_links_color'] : '#1863dc');
462
463 // Set Reconsent Icons
464 $setting['cookieadmin_reconsent_icon'] = !empty($_REQUEST['cookieadmin_reconsent_icon']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reconsent_icon'])) : '';
465 $setting['cookieadmin_reconsent_img_url'] = !empty($_REQUEST['cookieadmin_reconsent_img_url']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_reconsent_img_url'])) : '';
466 $setting['cookieadmin_re_consent_bg_color'] = !empty($_REQUEST['cookieadmin_re_consent_bg_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_re_consent_bg_color'])) : (!empty($policy[$law]['cookieadmin_re_consent_bg_color']) ? $policy[$law]['cookieadmin_re_consent_bg_color'] : '#374FD4');
467
468 // Set Policy Links
469 $setting['cookieadmin_privacy_policy'] = !empty($_REQUEST['cookieadmin_privacy_policy']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_privacy_policy'])) : '';
470 $setting['cookieadmin_cookie_policy'] = !empty($_REQUEST['cookieadmin_cookie_policy']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_cookie_policy'])) : '';
471 $setting['cookieadmin_privacy_policy_banner'] = !empty($_REQUEST['cookieadmin_privacy_policy_banner']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_privacy_policy_banner'])) : 0;
472 $setting['cookieadmin_privacy_policy_pref'] = !empty($_REQUEST['cookieadmin_privacy_policy_pref']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_privacy_policy_pref'])) : 0;
473 $setting['cookieadmin_policy_link_color'] = !empty($_REQUEST['cookieadmin_policy_link_color']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_policy_link_color'])) : '#cbba8d';
474
475 $setting['cookieadmin_days'] = !empty($_REQUEST['cookieadmin_days']) ? sanitize_text_field(wp_unslash($_REQUEST['cookieadmin_days'])) : (!empty($policy[$law]['cookieadmin_days']) ? $policy[$law]['cookieadmin_days'] : '365');
476
477 $policy[$law] = $setting;
478
479 // Check for certain fields to be saved only if their values is not the same as default
480 $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');
481
482 foreach($cookieadmin_check_changes as $c_field){
483 foreach($policy as $c_law => $c_val){
484 if(!empty($c_val[$c_field]) && $c_val[$c_field] == $cookieadmin_policies[$c_law][$c_field]){
485 unset($policy[$c_law][$c_field]);
486 }
487 }
488 }
489
490 update_option('cookieadmin_consent_settings', $policy);
491
492 if(empty($cookieadmin_error)){
493 $cookieadmin_msg = __('Settings saved successfully', 'cookieadmin');
494 }
495 }
496 }
497