PluginProbe
Loginizer / 1.9.2
Loginizer v1.9.2
2.1.0 2.0.9 2.0.8 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 All 74 releases
loginizer / main / settings / recaptcha.php

recaptcha.php in Loginizer 1.9.2, at main/settings/recaptcha.php

679 lines 29.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if(!defined('ABSPATH')){
4 die('Hacking Attempt!');
5 }
6
7 //---------------------
8 // Admin Menu Pro Pages
9 //---------------------
10
11 // Loginizer - reCaptcha Page
12 function loginizer_page_recaptcha(){
13
14 global $loginizer, $lz_error, $lz_env;
15
16 if(!current_user_can('manage_options')){
17 wp_die('Sorry, but you do not have permissions to change settings.');
18 }
19
20 if(!loginizer_is_premium() && count($_POST) > 0){
21 $lz_error['not_in_free'] = __('This feature is not available in the Free version. <a href="'.LOGINIZER_PRICING_URL.'" target="_blank" style="text-decoration:none; color:green;"><b>Upgrade to Pro</b></a>', 'loginizer');
22 return loginizer_page_recaptcha_T();
23 }
24
25 /* Make sure post was from this page */
26 if(count($_POST) > 0){
27 check_admin_referer('loginizer-options');
28 }
29
30 // Themes
31 $lz_env['theme']['light'] = 'Light';
32 $lz_env['theme']['dark'] = 'Dark';
33
34 // Langs
35 $lz_env['lang'][''] = 'Auto Detect';
36 $lz_env['lang']['ar'] = 'Arabic';
37 $lz_env['lang']['bg'] = 'Bulgarian';
38 $lz_env['lang']['ca'] = 'Catalan';
39 $lz_env['lang']['zh-CN'] = 'Chinese (Simplified)';
40 $lz_env['lang']['zh-TW'] = 'Chinese (Traditional)';
41 $lz_env['lang']['hr'] = 'Croatian';
42 $lz_env['lang']['cs'] = 'Czech';
43 $lz_env['lang']['da'] = 'Danish';
44 $lz_env['lang']['nl'] = 'Dutch';
45 $lz_env['lang']['en-GB'] = 'English (UK)';
46 $lz_env['lang']['en'] = 'English (US)';
47 $lz_env['lang']['fil'] = 'Filipino';
48 $lz_env['lang']['fi'] = 'Finnish';
49 $lz_env['lang']['fr'] = 'French';
50 $lz_env['lang']['fr-CA'] = 'French (Canadian)';
51 $lz_env['lang']['de'] = 'German';
52 $lz_env['lang']['de-AT'] = 'German (Austria)';
53 $lz_env['lang']['de-CH'] = 'German (Switzerland)';
54 $lz_env['lang']['el'] = 'Greek';
55 $lz_env['lang']['iw'] = 'Hebrew';
56 $lz_env['lang']['hi'] = 'Hindi';
57 $lz_env['lang']['hu'] = 'Hungarain';
58 $lz_env['lang']['id'] = 'Indonesian';
59 $lz_env['lang']['it'] = 'Italian';
60 $lz_env['lang']['ja'] = 'Japanese';
61 $lz_env['lang']['ko'] = 'Korean';
62 $lz_env['lang']['lv'] = 'Latvian';
63 $lz_env['lang']['lt'] = 'Lithuanian';
64 $lz_env['lang']['no'] = 'Norwegian';
65 $lz_env['lang']['fa'] = 'Persian';
66 $lz_env['lang']['pl'] = 'Polish';
67 $lz_env['lang']['pt'] = 'Portuguese';
68 $lz_env['lang']['pt-BR'] = 'Portuguese (Brazil)';
69 $lz_env['lang']['pt-PT'] = 'Portuguese (Portugal)';
70 $lz_env['lang']['ro'] = 'Romanian';
71 $lz_env['lang']['ru'] = 'Russian';
72 $lz_env['lang']['sr'] = 'Serbian';
73 $lz_env['lang']['sk'] = 'Slovak';
74 $lz_env['lang']['sl'] = 'Slovenian';
75 $lz_env['lang']['es'] = 'Spanish';
76 $lz_env['lang']['es-419'] = 'Spanish (Latin America)';
77 $lz_env['lang']['sv'] = 'Swedish';
78 $lz_env['lang']['th'] = 'Thai';
79 $lz_env['lang']['tr'] = 'Turkish';
80 $lz_env['lang']['uk'] = 'Ukrainian';
81 $lz_env['lang']['vi'] = 'Vietnamese';
82
83 // Sizes
84 $lz_env['size']['normal'] = 'Normal';
85 $lz_env['size']['compact'] = 'Compact';
86
87 // reCAPTCHA Domains
88 $lz_env['captcha_domains']['www.google.com'] = 'google.com';
89 $lz_env['captcha_domains']['www.recaptcha.net'] = 'recaptcha.net';
90
91 if(isset($_POST['save_lz'])){
92
93 // Clear captcha
94 if(empty($_POST['captcha_status'])){
95
96 // Save the options
97 update_option('loginizer_captcha', '');
98
99 // Mark as saved
100 $GLOBALS['lz_cleared'] = true;
101
102 }else{
103
104 $option['captcha_status'] = (int) lz_optpost('captcha_status');
105
106 //hcaptcha
107 $option['hcaptcha_secretkey'] = lz_optpost('hcaptcha_secretkey');
108 $option['hcaptcha_sitekey'] = lz_optpost('hcaptcha_sitekey');
109 $option['hcaptcha_lang'] = lz_optpost('hcaptcha_lang');
110 $option['hcaptcha_theme'] = lz_optpost('hcaptcha_theme');
111 $option['hcaptcha_size'] = lz_optpost('hcaptcha_size');
112
113 // Google Captcha
114 $option['captcha_type'] = lz_optpost('captcha_type');
115 $option['captcha_key'] = lz_optpost('captcha_key');
116 $option['captcha_secret'] = lz_optpost('captcha_secret');
117 $option['captcha_theme'] = lz_optpost('captcha_theme');
118 $option['captcha_size'] = lz_optpost('captcha_size');
119 $option['captcha_lang'] = lz_optpost('captcha_lang');
120 $option['captcha_domain'] = lz_optpost('captcha_domain');
121
122 // Cloudflare Turnstil Captcha
123 $option['turn_captcha_key'] = lz_optpost('turn_captcha_key');
124 $option['turn_captcha_secret'] = lz_optpost('turn_captcha_secret');
125 $option['turn_captcha_theme'] = lz_optpost('turn_captcha_theme');
126 $option['turn_captcha_size'] = lz_optpost('turn_captcha_size');
127 $option['turn_captcha_lang'] = lz_optpost('turn_captcha_lang');
128
129 // No Google Captcha
130 $option['captcha_text'] = lz_optpost('captcha_text');
131 $option['captcha_time'] = (int) lz_optpost('captcha_time');
132 $option['captcha_words'] = (int) lz_optpost('captcha_words');
133 $option['captcha_add'] = (int) lz_optpost('captcha_add');
134 $option['captcha_subtract'] = (int) lz_optpost('captcha_subtract');
135 $option['captcha_multiply'] = (int) lz_optpost('captcha_multiply');
136 $option['captcha_divide'] = (int) lz_optpost('captcha_divide');
137
138 // Checkboxes
139 $option['captcha_user_hide'] = (int) lz_optpost('captcha_user_hide');
140 $option['captcha_login'] = (int) lz_optpost('captcha_login');
141 $option['captcha_lostpass'] = (int) lz_optpost('captcha_lostpass');
142 $option['captcha_resetpass'] = (int) lz_optpost('captcha_resetpass');
143 $option['captcha_register'] = (int) lz_optpost('captcha_register');
144 $option['captcha_comment'] = (int) lz_optpost('captcha_comment');
145 $option['captcha_wc_checkout'] = (int) lz_optpost('captcha_wc_checkout');
146
147 // Are we to use Math Captcha ?
148 if(!empty($_POST['captcha_status']) && $_POST['captcha_status'] == 2){
149
150 $option['captcha_no_google'] = 1;
151
152 // Make the checks
153 if(strlen($option['captcha_text']) < 1){
154 $lz_error['captcha_text'] = __('The Captcha key was not submitted', 'loginizer');
155 }
156
157 }else if(!empty($_POST['captcha_status']) && $_POST['captcha_status'] == 3){
158
159 if(strlen($option['hcaptcha_sitekey']) < 32 || strlen($option['hcaptcha_sitekey']) > 50){
160 $lz_error['hcaptcha_sitekey'] = __('The hCAPTCHA key is invalid', 'loginizer');
161 }
162
163 // Is secret valid ?
164 if(strlen($option['hcaptcha_secretkey']) < 32 || strlen($option['hcaptcha_secretkey']) > 50){
165 $lz_error['hcaptcha_secretkey'] = __('The hCAPTCHA secret is invalid', 'loginizer');
166 }
167
168 // Is theme valid ?
169 if(empty($lz_env['theme'][$option['hcaptcha_theme']])){
170 $lz_error['hcaptcha_theme'] = __('The hCaptcha theme is invalid', 'loginizer');
171 }
172
173 // Is size valid ?
174 if(empty($lz_env['size'][$option['hcaptcha_size']])){
175 $lz_error['hcaptcha_size'] = __('The Turnstile size is invalid', 'loginizer');
176 }
177
178 // Is lang valid ?
179 if(empty($lz_env['lang'][$option['turn_captcha_lang']])){
180 $lz_error['turn_captcha_lang'] = __('The Turnstile language is invalid', 'loginizer');
181 }
182
183 }else if(!empty($_POST['captcha_status']) && $_POST['captcha_status'] == 4){
184
185 if(strlen($option['turn_captcha_key']) < 24 || strlen($option['turn_captcha_key']) > 50){
186 $lz_error['turn_captcha_key'] = __('The Turnstile Site key is invalid', 'loginizer');
187 }
188
189 // Is secret valid ?
190 if(strlen($option['turn_captcha_secret']) < 32 || strlen($option['turn_captcha_secret']) > 50){
191 $lz_error['turn_captcha_secret'] = __('The Turnstile secret key is invalid', 'loginizer');
192 }
193
194 // Is theme valid ?
195 if(empty($lz_env['theme'][$option['turn_captcha_theme']])){
196 $lz_error['turn_captcha_theme'] = __('The Turnstile theme is invalid', 'loginizer');
197 }
198
199 // Is size valid ?
200 if(empty($lz_env['size'][$option['turn_captcha_size']])){
201 $lz_error['turn_captcha_size'] = __('The Turnstile size is invalid', 'loginizer');
202 }
203
204 // Is lang valid ?
205 if(empty($lz_env['lang'][$option['turn_captcha_lang']])){
206 $lz_error['turn_captcha_lang'] = __('The Turnstile language is invalid', 'loginizer');
207 }
208
209 }else{
210
211 // Make the checks
212 if(strlen($option['captcha_key']) < 32 || strlen($option['captcha_key']) > 50){
213 $lz_error['captcha_key'] = __('The reCAPTCHA key is invalid', 'loginizer');
214 }
215
216 // Is secret valid ?
217 if(strlen($option['captcha_secret']) < 32 || strlen($option['captcha_secret']) > 50){
218 $lz_error['captcha_secret'] = __('The reCAPTCHA secret is invalid', 'loginizer');
219 }
220
221 // Is theme valid ?
222 if(empty($lz_env['theme'][$option['captcha_theme']])){
223 $lz_error['captcha_theme'] = __('The reCAPTCHA theme is invalid', 'loginizer');
224 }
225
226 // Is size valid ?
227 if(empty($lz_env['size'][$option['captcha_size']])){
228 $lz_error['captcha_size'] = __('The reCAPTCHA size is invalid', 'loginizer');
229 }
230
231 // Is lang valid ?
232 if(empty($lz_env['lang'][$option['captcha_lang']])){
233 $lz_error['captcha_lang'] = __('The reCAPTCHA language is invalid', 'loginizer');
234 }
235
236 if(empty($lz_env['captcha_domains'][$option['captcha_domain']])){
237 $lz_error['captcha_domain'] = __('The reCAPTCHA domain is invalid', 'loginizer');
238 }
239
240 }
241
242 // Is there an error ?
243 if(!empty($lz_error)){
244 return loginizer_page_recaptcha_T();
245 }
246
247 // Save the options
248 update_option('loginizer_captcha', $option);
249
250 // Mark as saved
251 $GLOBALS['lz_saved'] = true;
252 }
253
254 }
255
256 // Call the theme
257 loginizer_page_recaptcha_T();
258
259 }
260
261 // Loginizer - reCaptcha Page Theme
262 function loginizer_page_recaptcha_T(){
263
264 global $loginizer, $lz_error, $lz_env;
265
266 // Universal header
267 loginizer_page_header('reCAPTCHA Settings');
268
269 loginizer_feature_available('reCAPTCHA');
270
271 // Saved ?
272 if(!empty($GLOBALS['lz_saved'])){
273 echo '<div id="message" class="updated"><p>'. __('The settings were saved successfully', 'loginizer'). '</p></div><br />';
274 }
275
276 // Cleared ?
277 if(!empty($GLOBALS['lz_cleared'])){
278 echo '<div id="message" class="updated"><p>'. __('reCAPTCHA has been disabled !', 'loginizer'). '</p></div><br />';
279 }
280
281 // Any errors ?
282 if(!empty($lz_error)){
283 lz_report_error($lz_error);echo '<br />';
284 }
285
286 ?>
287
288 <style>
289 input[type="text"], textarea, select {
290 width: 70%;
291 }
292 </style>
293
294 <div id="" class="postbox">
295
296 <div class="postbox-header">
297 <h2 class="hndle ui-sortable-handle">
298 <span><?php echo __('reCAPTCHA Settings', 'loginizer'); ?></span>
299 </h2>
300 </div>
301
302 <div class="inside">
303
304 <form action="" method="post" enctype="multipart/form-data" loginizer-premium-only="1">
305 <?php wp_nonce_field('loginizer-options'); ?>
306 <table class="form-table">
307 <tr>
308 <td scope="row" valign="top" style="width:400px !important;"><label for="captcha_status"><b><?php echo __('Captcha Status', 'loginizer'); ?></b></label></td>
309 <td>
310 <select name="captcha_status" id="captcha_status" onchange="lz_captcha_status();">
311 <?php
312 echo '<option '.lz_POSTselect('captcha_status', 0, (empty($loginizer['captcha_key']) && empty($loginizer['captcha_no_google']) && empty($loginizer['captcha_status']) ? true : false)).' value="0">'.__('Disabled', 'loginizer').'</option>
313 <option '.lz_POSTselect('captcha_status', 1, (!empty($loginizer['captcha_key']) ? true : false)).' value="1">'.__('Google reCAPTCHA', 'loginizer').'</option>
314 <option '.lz_POSTselect('captcha_status', 2, (!empty($loginizer['captcha_no_google']) ? true : false)).' value="2">'.__('Math Captcha', 'loginizer').'</option>
315 <option '.lz_POSTselect('captcha_status', 3, ((!empty($loginizer['captcha_status']) && $loginizer['captcha_status'] == 3) ? true : false)).' value="3">'.__('hCAPTCHA', 'loginizer').'</option>
316 <option '.lz_POSTselect('captcha_status', 4, ((!empty($loginizer['captcha_status']) && $loginizer['captcha_status'] == 4) ? true : false)).' value="4">'.__('Cloudflare Turnstile', 'loginizer').'</option>';
317 ?>
318 </select>
319 </td>
320 </tr>
321
322 <tr class="hcaptcha">
323 <td scope="row" valign="top"><label for="hcaptcha_sitekey"><b><?php echo __('Site Key', 'loginizer'); ?></b></label><br>
324 <?php echo __('Make sure you enter the correct keys as per the reCAPTCHA type selected above', 'loginizer'); ?>
325 </td>
326 <td>
327 <input type="text" size="50" value="<?php echo lz_optpost('hcaptcha_sitekey', (!empty($loginizer['hcaptcha_sitekey']) ? $loginizer['hcaptcha_sitekey'] : '')); ?>" name="hcaptcha_sitekey" id="hcaptcha_sitekey" /><br />
328 <?php echo __('Get the Site Key and Secret Key from <a href="https://www.hcaptcha.com/" target="_blank">hcaptcha</a>', 'loginizer'); ?>
329 </td>
330 </tr>
331
332 <tr class="hcaptcha">
333 <td scope="row" valign="top"><label for="hcaptcha_secretkey"><b><?php echo __('Secret Key', 'loginizer'); ?></b></label></td>
334 <td>
335 <input type="text" size="50" value="<?php echo lz_optpost('hcaptcha_secretkey', (!empty($loginizer['hcaptcha_secretkey']) ? $loginizer['hcaptcha_secretkey'] : '')); ?>" name="hcaptcha_secretkey" id="hcaptcha_secretkey" />
336 </td>
337 </tr>
338 <tr class="hcaptcha">
339 <td scope="row" valign="top"><label for="hcaptcha_theme"><b><?php echo __('Theme', 'loginizer'); ?></b></label></td>
340 <td>
341 <select name="hcaptcha_theme" id="hcaptcha_theme">
342 <?php
343 foreach($lz_env['theme'] as $k => $v){
344 echo '<option '.lz_POSTselect('hcaptcha_theme', $k, ((!empty($loginizer['hcaptcha_theme']) && $loginizer['hcaptcha_theme'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
345 }
346 ?>
347 </select>
348 </td>
349 </tr>
350 <tr class="hcaptcha">
351 <td scope="row" valign="top"><label for="hcaptcha_lang"><b><?php echo __('Language', 'loginizer'); ?></b></label></td>
352 <td>
353 <select name="hcaptcha_lang" id="hcaptcha_lang">
354 <?php
355 foreach($lz_env['lang'] as $k => $v){
356 echo '<option '.lz_POSTselect('hcaptcha_lang', $k, ((!empty($loginizer['hcaptcha_lang']) && $loginizer['hcaptcha_lang'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_attr($v).'</value>';
357 }
358 ?>
359 </select>
360 </td>
361 </tr>
362
363 <tr class="hcaptcha">
364 <td scope="row" valign="top"><label for="hcaptcha_size"><b><?php echo __('Size', 'loginizer'); ?></b></label></td>
365 <td>
366 <select name="hcaptcha_size" id="hcaptcha_size">
367 <?php
368 foreach($lz_env['size'] as $k => $v){
369 echo '<option '.lz_POSTselect('hcaptcha_size', $k, ((!empty($loginizer['hcaptcha_size']) && $loginizer['hcaptcha_size'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
370 }
371 ?>
372 </select>
373 </td>
374 </tr>
375
376
377 <tr class="lz_google_cap">
378 <td scope="row" valign="top"><label><b><?php echo __('reCAPTCHA type', 'loginizer'); ?></b></label><br>
379 <?php echo __('Choose the type of reCAPTCHA', 'loginizer'); ?><br />
380 <?php echo __('<a href="https://g.co/recaptcha/sitetypes/" target="_blank">See Site Types for more details</a>', 'loginizer'); ?>
381 </td>
382 <td>
383 <input type="radio" value="v3" onchange="google_recaptcha_type()" <?php echo lz_POSTradio('captcha_type', 'v3', (!empty($loginizer['captcha_type']) ? $loginizer['captcha_type'] : '')); ?> name="captcha_type" id="captcha_type_v3" /> <label for="captcha_type_v3"><?php echo __('reCAPTCHA v3', 'loginizer'); ?></label><br /><br />
384 <input type="radio" value="" onchange="google_recaptcha_type()" <?php echo lz_POSTradio('captcha_type', '', (!empty($loginizer['captcha_type']) ? $loginizer['captcha_type'] : '')); ?> name="captcha_type" id="captcha_type_v2" /> <label for="captcha_type_v2"><?php echo __('reCAPTCHA v2 - Checkbox', 'loginizer'); ?></label><br /><br />
385 <input type="radio" value="v2_invisible" onchange="google_recaptcha_type()" <?php echo lz_POSTradio('captcha_type', 'v2_invisible', (!empty($loginizer['captcha_type']) ? $loginizer['captcha_type'] : '')); ?> name="captcha_type" id="captcha_type_v2_invisible" /> <label for="captcha_type_v2_invisible"><?php echo __('reCAPTCHA v2 - Invisible', 'loginizer'); ?></label><br />
386 </td>
387 </tr>
388 <tr class="lz_google_cap">
389 <td scope="row" valign="top"><label for="captcha_key"><b><?php echo __('Site Key', 'loginizer'); ?></b></label><br>
390 <?php echo __('Make sure you enter the correct keys as per the reCAPTCHA type selected above', 'loginizer'); ?>
391 </td>
392 <td>
393 <input type="text" size="50" value="<?php echo lz_optpost('captcha_key', (!empty($loginizer['captcha_key']) ? $loginizer['captcha_key'] : '')); ?>" name="captcha_key" id="captcha_key" /><br />
394 <?php echo __('Get the Site Key and Secret Key from <a href="https://www.google.com/recaptcha/admin/" target="_blank">Google</a>', 'loginizer'); ?>
395 </td>
396 </tr>
397 <tr class="lz_google_cap">
398 <td scope="row" valign="top"><label for="captcha_secret"><b><?php echo __('Secret Key', 'loginizer'); ?></b></label></td>
399 <td>
400 <input type="text" size="50" value="<?php echo lz_optpost('captcha_secret', (!empty($loginizer['captcha_secret']) ? $loginizer['captcha_secret'] : '')); ?>" name="captcha_secret" id="captcha_secret" />
401 </td>
402 </tr>
403 <tr class="lz_google_cap">
404 <td scope="row" valign="top"><label for="captcha_theme"><b><?php echo __('Theme', 'loginizer'); ?></b></label></td>
405 <td>
406 <select name="captcha_theme" id="captcha_theme">
407 <?php
408 foreach($lz_env['theme'] as $k => $v){
409 echo '<option '.lz_POSTselect('captcha_theme', $k, ((!empty($loginizer['captcha_theme']) && $loginizer['captcha_theme'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
410 }
411 ?>
412 </select>
413 </td>
414 </tr>
415 <tr class="lz_google_cap">
416 <td scope="row" valign="top"><label for="captcha_lang"><b><?php echo __('Language', 'loginizer'); ?></b></label></td>
417 <td>
418 <select name="captcha_lang" id="captcha_lang">
419 <?php
420 foreach($lz_env['lang'] as $k => $v){
421 echo '<option '.lz_POSTselect('captcha_lang', $k, ((!empty($loginizer['captcha_lang']) && $loginizer['captcha_lang'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
422 }
423 ?>
424 </select>
425 </td>
426 </tr>
427 <tr class="lz_google_cap lz_google_cap_size">
428 <td scope="row" valign="top"><label for="captcha_size"><b><?php echo __('Size', 'loginizer'); ?></b></label></td>
429 <td>
430 <select name="captcha_size" id="captcha_size">
431 <?php
432 foreach($lz_env['size'] as $k => $v){
433 echo '<option '.lz_POSTselect('captcha_size', $k, ((!empty($loginizer['captcha_size']) && $loginizer['captcha_size'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
434 }
435 ?>
436 </select>
437 </td>
438 </tr>
439 <tr class="lz_google_cap">
440 <td scope="row" valign="top">
441 <label for="captcha_domain"><b><?php echo __('reCAPTCHA Domain', 'loginizer'); ?></b></label><br>
442 <?php echo __('If Google is not accessible or blocked in your country select other one', 'loginizer'); ?>
443 </td>
444 <td>
445 <select name="captcha_domain" id="captcha_domain">
446 <?php
447 foreach($lz_env['captcha_domains'] as $k => $v){
448 echo '<option '.lz_POSTselect('captcha_domain', $k, ((!empty($loginizer['captcha_domain']) && $loginizer['captcha_domain'] == $k) ? true : false)).' value="'.$k.'">'.$v.($k == 'www.google.com' ? ' '.__('(Default)', 'loginizer') : '').'</value>';
449 }
450 ?>
451 </select>
452 </td>
453 </tr>
454
455 <tr class="lz_turnstile_cap">
456 <td scope="row" valign="top"><label for="turn_captcha_key"><b><?php echo __('Site Key', 'loginizer'); ?></b></label><br>
457 </td>
458 <td>
459 <input type="text" size="50" value="<?php echo lz_optpost('turn_captcha_key', (!empty($loginizer['turn_captcha_key']) ? $loginizer['turn_captcha_key'] : '')); ?>" name="turn_captcha_key" id="turn_captcha_key" /><br />
460 <?php echo __('Get the Site Key and Secret Key from <a href="https://dash.cloudflare.com/sign-up?to=/:account/turnstile" target="_blank">Cloudflare Turnstile</a>', 'loginizer'); ?>
461 </td>
462 </tr>
463 <tr class="lz_turnstile_cap">
464 <td scope="row" valign="top"><label for="turn_captcha_secret"><b><?php echo __('Secret Key', 'loginizer'); ?></b></label></td>
465 <td>
466 <input type="password" size="50" value="<?php echo lz_optpost('turn_captcha_secret', (!empty($loginizer['turn_captcha_secret']) ? $loginizer['turn_captcha_secret'] : '')); ?>" name="turn_captcha_secret" id="turn_captcha_secret" />
467 </td>
468 </tr>
469 <tr class="lz_turnstile_cap">
470 <td scope="row" valign="top"><label for="turn_captcha_theme"><b><?php echo __('Theme', 'loginizer'); ?></b></label></td>
471 <td>
472 <select name="turn_captcha_theme" id="turn_captcha_theme">
473 <?php
474 foreach($lz_env['theme'] as $k => $v){
475 echo '<option '.lz_POSTselect('turn_captcha_theme', $k, ((!empty($loginizer['turn_captcha_theme']) && $loginizer['turn_captcha_theme'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</value>';
476 }
477 ?>
478 </select>
479 </td>
480 </tr>
481
482 <tr class="lz_turnstile_cap">
483 <td scope="row" valign="top"><label for="turn_captcha_lang"><b><?php echo __('Language', 'loginizer'); ?></b></label></td>
484 <td>
485 <select name="turn_captcha_lang" id="turn_captcha_lang">
486 <?php
487 foreach($lz_env['lang'] as $k => $v){
488 echo '<option '.lz_POSTselect('turn_captcha_lang', $k, ((!empty($loginizer['turn_captcha_lang']) && $loginizer['turn_captcha_lang'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</value>';
489 }
490 ?>
491 </select>
492 </td>
493 </tr>
494 <tr class="lz_turnstile_cap lz_google_cap_size">
495 <td scope="row" valign="top"><label for="turn_captcha_size"><b><?php echo __('Size', 'loginizer'); ?></b></label></td>
496 <td>
497 <select name="turn_captcha_size" id="turn_captcha_size">
498 <?php
499 foreach($lz_env['size'] as $k => $v){
500 echo '<option '.lz_POSTselect('turn_captcha_size', $k, ((!empty($loginizer['turn_captcha_size']) && $loginizer['turn_captcha_size'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</value>';
501 }
502 ?>
503 </select>
504 </td>
505 </tr>
506
507 <tr class="lz_math_cap">
508 <td scope="row" valign="top">
509 <label for="captcha_text"><b><?php echo __('Captcha Text', 'loginizer'); ?></b></label><br>
510 <?php echo __('The text to be shown for the Captcha Field', 'loginizer'); ?>
511 </td>
512 <td>
513 <input type="text" size="30" value="<?php echo lz_optpost('captcha_text', (!empty($loginizer['captcha_text']) ? $loginizer['captcha_text'] : '')); ?>" name="captcha_text" id="captcha_text" />
514 </td>
515 </tr>
516 <tr class="lz_math_cap">
517 <td scope="row" valign="top">
518 <label for="captcha_time"><b><?php echo __('Captcha Time', 'loginizer'); ?></b></label><br>
519 <?php echo __('Enter the number of seconds, a user has to enter captcha value.', 'loginizer'); ?>
520 </td>
521 <td>
522 <input type="text" size="30" value="<?php echo lz_optpost('captcha_time', (!empty($loginizer['captcha_time']) ? $loginizer['captcha_time'] : '')); ?>" name="captcha_time" id="captcha_time" />
523 </td>
524 </tr>
525 <tr class="lz_math_cap">
526 <td scope="row" valign="top">
527 <label for="captcha_words"><b><?php echo __('Display Captcha in Words', 'loginizer'); ?></b></label><br>
528 <?php echo __('If selected the Captcha will be displayed in words rather than numbers', 'loginizer'); ?>
529 </td>
530 <td>
531 <input type="checkbox" value="1" name="captcha_words" id="captcha_words" <?php echo lz_POSTchecked('captcha_words', (empty($loginizer['captcha_words']) ? false : true));?> />
532 </td>
533 </tr>
534 <tr class="lz_math_cap">
535 <td scope="row" valign="top" style="vertical-align: top !important;">
536 <label><b><?php echo __('Mathematical operations', 'loginizer'); ?></b></label><br>
537 <?php echo __('The Mathematical operations to use for Captcha', 'loginizer'); ?>
538 </td>
539 <td valign="top">
540 <table class="wp-list-table fixed users" cellpadding="8" cellspacing="1">
541 <?php echo '
542 <tr>
543 <td><label for="captcha_add">'.__('Addition (+)', 'loginizer').'</label></td>
544 <td><input type="checkbox" value="1" name="captcha_add" id="captcha_add" '.lz_POSTchecked('captcha_add', (empty($loginizer['captcha_add']) ? false : true)).' /></td>
545 </tr>
546 <tr>
547 <td><label for="captcha_subtract">'.__('Subtraction (-)', 'loginizer').'</label></td>
548 <td><input type="checkbox" value="1" name="captcha_subtract" id="captcha_subtract" '.lz_POSTchecked('captcha_subtract', (empty($loginizer['captcha_subtract']) ? false : true)).' /></td>
549 </tr>
550 <tr>
551 <td><label for="captcha_multiply">'.__('Multiplication (x)', 'loginizer').'</label></td>
552 <td><input type="checkbox" value="1" name="captcha_multiply" id="captcha_multiply" '.lz_POSTchecked('captcha_multiply', (empty($loginizer['captcha_multiply']) ? false : true)).' /></td>
553 </tr>
554 <tr>
555 <td><label for="captcha_divide">'.__('Division (÷)', 'loginizer').'</label></td>
556 <td><input type="checkbox" value="1" name="captcha_divide" id="captcha_divide" '.lz_POSTchecked('captcha_divide', (empty($loginizer['captcha_divide']) ? false : true)).' /></td>
557 </tr>';
558 ?>
559 </table>
560 </td>
561 </tr>
562 <tr class="lz_cap">
563 <td scope="row" valign="top"><label><b><?php echo __('Show Captcha On', 'loginizer'); ?></b></label></td>
564 <td valign="top">
565 <table class="wp-list-table fixed users" cellpadding="8" cellspacing="1">
566 <?php echo '
567 <tr>
568 <td><label for="captcha_login">'.__('Login Form', 'loginizer').'</label></td>
569 <td><input type="checkbox" value="1" name="captcha_login" id="captcha_login" '.lz_POSTchecked('captcha_login', (empty($loginizer['captcha_login']) ? false : true)).' /></td>
570 </tr>
571 <tr>
572 <td><label for="captcha_lostpass">'.__('Lost Password Form', 'loginizer').'</label></td>
573 <td><input type="checkbox" value="1" name="captcha_lostpass" id="captcha_lostpass" '.lz_POSTchecked('captcha_lostpass', (empty($loginizer['captcha_lostpass']) ? false : true)).' /></td>
574 </tr>
575 <tr>
576 <td><label for="captcha_resetpass">'.__('Reset Password Form', 'loginizer').'</label></td>
577 <td><input type="checkbox" value="1" name="captcha_resetpass" id="captcha_resetpass" '.lz_POSTchecked('captcha_resetpass', (empty($loginizer['captcha_resetpass']) ? false : true)).' /></td>
578 </tr>
579 <tr>
580 <td><label for="captcha_register">'.__('Registration Form', 'loginizer').'</label></td>
581 <td><input type="checkbox" value="1" name="captcha_register" id="captcha_register" '.lz_POSTchecked('captcha_register', (empty($loginizer['captcha_register']) ? false : true)).' /></td>
582 </tr>
583 <tr>
584 <td><label for="captcha_comment">'.__('Comment Form', 'loginizer').'</label></td>
585 <td><input type="checkbox" value="1" name="captcha_comment" id="captcha_comment" '.lz_POSTchecked('captcha_comment', (empty($loginizer['captcha_comment']) ? false : true)).' /></td>
586 </tr>';
587
588 if(!defined('SITEPAD')){
589
590 echo '<tr>
591 <td><label for="captcha_wc_checkout">'.__('WooCommerce Checkout', 'loginizer').'</label></td>
592 <td><input type="checkbox" value="1" name="captcha_wc_checkout" id="captcha_wc_checkout" '.lz_POSTchecked('captcha_wc_checkout', (empty($loginizer['captcha_wc_checkout']) ? false : true)).' /></td>
593 </tr>';
594
595 }
596
597 ?>
598 </table>
599 </td>
600 </tr>
601 <tr class="lz_cap">
602 <td scope="row" valign="top"><label for="captcha_user_hide"><b><?php echo __('Hide CAPTCHA for logged in Users', 'loginizer'); ?></b></label></td>
603 <td>
604 <input type="checkbox" value="1" name="captcha_user_hide" id="captcha_user_hide" <?php echo lz_POSTchecked('captcha_user_hide', (empty($loginizer['captcha_user_hide']) ? false : true)); ?> />
605 </td>
606 </tr>
607 </table><br />
608 <center><input name="save_lz" class="button button-primary action" value="<?php echo __('Save Settings','loginizer'); ?>" type="submit" /></center>
609 </form>
610
611 </div>
612 </div>
613 <br />
614
615 <script type="text/javascript">
616
617 function lz_captcha_status(){
618
619 var cur_captcha_status = jQuery("#captcha_status option:selected").val();
620
621 if(cur_captcha_status == 1){
622 jQuery(".lz_google_cap").show();
623 jQuery(".lz_math_cap").hide();
624 jQuery('.lz_turnstile_cap').hide();
625 jQuery(".lz_cap").show();
626 google_recaptcha_type();
627 jQuery(".hcaptcha").hide();
628
629 }else if(cur_captcha_status == 2){
630 jQuery(".lz_google_cap").hide();
631 jQuery(".lz_math_cap").show();
632 jQuery('.lz_turnstile_cap').hide();
633 jQuery(".lz_cap").show();
634 jQuery(".hcaptcha").hide();
635
636 }else if(cur_captcha_status == 3){
637 jQuery(".hcaptcha").show();
638 jQuery(".lz_math_cap").hide();
639 jQuery('.lz_turnstile_cap').hide();
640 jQuery(".lz_cap").show();
641 jQuery(".lz_google_cap").hide();
642 }else if(cur_captcha_status == 4){
643 jQuery(".hcaptcha").hide();
644 jQuery(".lz_math_cap").hide();
645 jQuery('.lz_turnstile_cap').show();
646 jQuery(".lz_cap").show();
647 jQuery(".lz_google_cap").hide();
648 }else{
649 jQuery(".hcaptcha").hide();
650 jQuery(".lz_google_cap").hide();
651 jQuery(".lz_math_cap").hide();
652 jQuery('.lz_turnstile_cap').hide();
653 jQuery(".lz_cap").hide();
654 }
655
656 }
657
658 function google_recaptcha_type(){
659
660 var cur_captcha_type = jQuery("input:radio[name='captcha_type']:checked").val();
661
662 if(cur_captcha_type == 'v3' || cur_captcha_type == 'v2_invisible'){
663 jQuery(".lz_google_cap_size").hide();
664 }else{
665 jQuery(".lz_google_cap_size").show();
666 }
667
668 }
669
670 jQuery(document).ready(function(){
671 lz_captcha_status();
672 });
673
674 </script>
675
676 <?php
677 loginizer_page_footer();
678
679 }