| @@ -82,8 +82,13 @@ | ||
| 82 | 82 | |
| 83 | 83 | // Sizes |
| 84 | 84 | $lz_env['size']['normal'] = 'Normal'; |
| 85 | 85 | $lz_env['size']['compact'] = 'Compact'; |
| 86 | + | |
| 87 | + // Size cloudflare (turnstile) | |
| 88 | + $lz_env['turnstile_size']['normal'] = 'Normal'; | |
| 89 | + $lz_env['turnstile_size']['compact'] = 'Compact'; | |
| 90 | + $lz_env['turnstile_size']['flexible'] = 'Flexible'; | |
| 86 | 91 | |
| 87 | 92 | // reCAPTCHA Domains |
| 88 | 93 | $lz_env['captcha_domains']['www.google.com'] = 'google.com'; |
| 89 | 94 | $lz_env['captcha_domains']['www.recaptcha.net'] = 'recaptcha.net'; |
| @@ -117,8 +122,13 @@ | ||
| 117 | 122 | $option['captcha_theme'] = lz_optpost('captcha_theme'); |
| 118 | 123 | $option['captcha_size'] = lz_optpost('captcha_size'); |
| 119 | 124 | $option['captcha_lang'] = lz_optpost('captcha_lang'); |
| 120 | 125 | $option['captcha_domain'] = lz_optpost('captcha_domain'); |
| 126 | + $option['captcha_score_threshold'] = lz_optpost('captcha_score_threshold'); | |
| 127 | + if(!is_numeric($option['captcha_score_threshold']) || $option['captcha_score_threshold'] > '1.0' || $option['captcha_score_threshold'] < '0.0'){ | |
| 128 | + $option['captcha_score_threshold'] = '0.5'; | |
| 129 | + } | |
| 130 | + | |
| 121 | 131 | $option['captcha_disable_btn'] = lz_optpost('captcha_disable_btn'); // Only for v2 reCaptcha Checkbox |
| 122 | 132 | |
| 123 | 133 | // Cloudflare Turnstil Captcha |
| 124 | 134 | $option['turn_captcha_key'] = lz_optpost('turn_captcha_key'); |
| @@ -143,8 +153,9 @@ | ||
| 143 | 153 | $option['captcha_resetpass'] = (int) lz_optpost('captcha_resetpass'); |
| 144 | 154 | $option['captcha_register'] = (int) lz_optpost('captcha_register'); |
| 145 | 155 | $option['captcha_comment'] = (int) lz_optpost('captcha_comment'); |
| 146 | 156 | $option['captcha_wc_checkout'] = (int) lz_optpost('captcha_wc_checkout'); |
| 157 | + $option['captcha_wc_checkout_pos'] = lz_optpost('captcha_wc_checkout_pos'); | |
| 147 | 158 | |
| 148 | 159 | // Are we to use Math Captcha ? |
| 149 | 160 | if(!empty($_POST['captcha_status']) && $_POST['captcha_status'] == 2){ |
| 150 | 161 | |
| @@ -197,9 +208,9 @@ | ||
| 197 | 208 | $lz_error['turn_captcha_theme'] = __('The Turnstile theme is invalid', 'loginizer'); |
| 198 | 209 | } |
| 199 | 210 | |
| 200 | 211 | // Is size valid ? |
| 201 | - if(empty($lz_env['size'][$option['turn_captcha_size']])){ | |
| 212 | + if(empty($lz_env['turnstile_size'][$option['turn_captcha_size']])){ | |
| 202 | 213 | $lz_error['turn_captcha_size'] = __('The Turnstile size is invalid', 'loginizer'); |
| 203 | 214 | } |
| 204 | 215 | |
| 205 | 216 | // Is lang valid ? |
| @@ -406,9 +417,9 @@ | ||
| 406 | 417 | <td> |
| 407 | 418 | <select name="captcha_theme" id="captcha_theme"> |
| 408 | 419 | <?php |
| 409 | 420 | foreach($lz_env['theme'] as $k => $v){ |
| 410 | - 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>'; | |
| 421 | + echo '<option '.lz_POSTselect('captcha_theme', $k, ((!empty($loginizer['captcha_theme']) && $loginizer['captcha_theme'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</option>'; | |
| 411 | 422 | } |
| 412 | 423 | ?> |
| 413 | 424 | </select> |
| 414 | 425 | </td> |
| @@ -418,9 +429,9 @@ | ||
| 418 | 429 | <td> |
| 419 | 430 | <select name="captcha_lang" id="captcha_lang"> |
| 420 | 431 | <?php |
| 421 | 432 | foreach($lz_env['lang'] as $k => $v){ |
| 422 | - 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>'; | |
| 433 | + echo '<option '.lz_POSTselect('captcha_lang', $k, ((!empty($loginizer['captcha_lang']) && $loginizer['captcha_lang'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</option>'; | |
| 423 | 434 | } |
| 424 | 435 | ?> |
| 425 | 436 | </select> |
| 426 | 437 | </td> |
| @@ -430,9 +441,9 @@ | ||
| 430 | 441 | <td> |
| 431 | 442 | <select name="captcha_size" id="captcha_size"> |
| 432 | 443 | <?php |
| 433 | 444 | foreach($lz_env['size'] as $k => $v){ |
| 434 | - 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>'; | |
| 445 | + echo '<option '.lz_POSTselect('captcha_size', $k, ((!empty($loginizer['captcha_size']) && $loginizer['captcha_size'] == $k) ? true : false)).' value="'.esc_attr($k).'">'.esc_html($v).'</option>'; | |
| 435 | 446 | } |
| 436 | 447 | ?> |
| 437 | 448 | </select> |
| 438 | 449 | </td> |
| @@ -445,9 +456,9 @@ | ||
| 445 | 456 | <td> |
| 446 | 457 | <select name="captcha_domain" id="captcha_domain"> |
| 447 | 458 | <?php |
| 448 | 459 | foreach($lz_env['captcha_domains'] as $k => $v){ |
| 449 | - 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>'; | |
| 460 | + 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') : '').'</option>'; | |
| 450 | 461 | } |
| 451 | 462 | ?> |
| 452 | 463 | </select> |
| 453 | 464 | </td> |
| @@ -452,8 +463,19 @@ | ||
| 452 | 463 | </select> |
| 453 | 464 | </td> |
| 454 | 465 | </tr> |
| 455 | 466 | |
| 467 | + <tr class="lz_google_cap lz_google_cap_v3"> | |
| 468 | + <td scope="row" valign="top"> | |
| 469 | + <label for="captcha_domain"><b><?php echo __('reCaptcha threshold', 'loginizer'); ?></b></label><br> | |
| 470 | + <?php echo __('Google returns a score between 0.0 and 1.0 — with 0.0 meaning it\'s likely a bot and 1.0 meaning it\'s likely a human. The default threshold is 0.5, but you can change it based on your needs.', 'loginizer'); ?> | |
| 471 | + </td> | |
| 472 | + <td> | |
| 473 | + <input type="number" max="1.0" min="0.0" step="0.1" name="captcha_score_threshold" id="captcha_score_threshold" value="<?php echo (!empty($loginizer['captcha_score_threshold']) ? esc_attr($loginizer['captcha_score_threshold']) : '0.5'); ?>"> | |
| 474 | + </select> | |
| 475 | + </td> | |
| 476 | + </tr> | |
| 477 | + | |
| 456 | 478 | <tr class="lz_turnstile_cap"> |
| 457 | 479 | <td scope="row" valign="top"><label for="turn_captcha_key"><b><?php echo __('Site Key', 'loginizer'); ?></b></label><br> |
| 458 | 480 | </td> |
| 459 | 481 | <td> |
| @@ -472,9 +494,9 @@ | ||
| 472 | 494 | <td> |
| 473 | 495 | <select name="turn_captcha_theme" id="turn_captcha_theme"> |
| 474 | 496 | <?php |
| 475 | 497 | foreach($lz_env['theme'] as $k => $v){ |
| 476 | - 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>'; | |
| 498 | + 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).'</option>'; | |
| 477 | 499 | } |
| 478 | 500 | ?> |
| 479 | 501 | </select> |
| 480 | 502 | </td> |
| @@ -485,21 +507,21 @@ | ||
| 485 | 507 | <td> |
| 486 | 508 | <select name="turn_captcha_lang" id="turn_captcha_lang"> |
| 487 | 509 | <?php |
| 488 | 510 | foreach($lz_env['lang'] as $k => $v){ |
| 489 | - echo '<option '.lz_POSTselect('turn_captcha_lang', $k, ((!empty($loginizer['turn_captcha_lang']) && $loginizer['turn_captcha_lang'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</value>'; | |
| 511 | + echo '<option '.lz_POSTselect('turn_captcha_lang', $k, ((!empty($loginizer['turn_captcha_lang']) && $loginizer['turn_captcha_lang'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</option>'; | |
| 490 | 512 | } |
| 491 | 513 | ?> |
| 492 | 514 | </select> |
| 493 | 515 | </td> |
| 494 | 516 | </tr> |
| 495 | - <tr class="lz_turnstile_cap lz_google_cap_size"> | |
| 517 | + <tr class="lz_turnstile_cap"> | |
| 496 | 518 | <td scope="row" valign="top"><label for="turn_captcha_size"><b><?php echo __('Size', 'loginizer'); ?></b></label></td> |
| 497 | 519 | <td> |
| 498 | 520 | <select name="turn_captcha_size" id="turn_captcha_size"> |
| 499 | 521 | <?php |
| 500 | - foreach($lz_env['size'] as $k => $v){ | |
| 501 | - echo '<option '.lz_POSTselect('turn_captcha_size', $k, ((!empty($loginizer['turn_captcha_size']) && $loginizer['turn_captcha_size'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</value>'; | |
| 522 | + foreach($lz_env['turnstile_size'] as $k => $v){ | |
| 523 | + echo '<option '.lz_POSTselect('turn_captcha_size', $k, ((!empty($loginizer['turn_captcha_size']) && $loginizer['turn_captcha_size'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</option>'; | |
| 502 | 524 | } |
| 503 | 525 | ?> |
| 504 | 526 | </select> |
| 505 | 527 | </td> |
| @@ -590,10 +612,19 @@ | ||
| 590 | 612 | |
| 591 | 613 | echo '<tr> |
| 592 | 614 | <td><label for="captcha_wc_checkout">'.__('WooCommerce Checkout', 'loginizer').'</label></td> |
| 593 | 615 | <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> |
| 616 | + </tr> | |
| 617 | + | |
| 618 | + <tr> | |
| 619 | + <td><label for="captcha_wc_checkout_pos">'.__('WooCommerce Checkout Position', 'loginizer').'</label></td> | |
| 620 | + <td> | |
| 621 | + <select value="'.lz_optpost('captcha_wc_checkout_pos').'" name="captcha_wc_checkout_pos" id="captcha_wc_checkout_pos" /> | |
| 622 | + <option value="" '.(isset($loginizer['captcha_wc_checkout_pos']) ? selected($loginizer['captcha_wc_checkout_pos'], '', false) : '').'>'.__('Before Payment', 'loginizer').'</option> | |
| 623 | + <option value="before_submit" '.(isset($loginizer['captcha_wc_checkout_pos']) ? selected($loginizer['captcha_wc_checkout_pos'], 'before_submit', false) : '').'>'.__('Before Order Button', 'loginizer').'</option> | |
| 624 | + </select> | |
| 625 | + </td> | |
| 594 | 626 | </tr>'; |
| 595 | - | |
| 596 | 627 | } |
| 597 | 628 | |
| 598 | 629 | ?> |
| 599 | 630 | </table> |
| @@ -666,11 +697,19 @@ | ||
| 666 | 697 | |
| 667 | 698 | var cur_captcha_type = jQuery("input:radio[name='captcha_type']:checked").val(); |
| 668 | 699 | |
| 669 | 700 | if(cur_captcha_type == 'v3' || cur_captcha_type == 'v2_invisible'){ |
| 701 | + if(cur_captcha_type == 'v3'){ | |
| 702 | + jQuery(".lz_google_cap_v3").show(); | |
| 703 | + } else { | |
| 704 | + jQuery(".lz_google_cap_v3").hide(); | |
| 705 | + } | |
| 706 | + | |
| 670 | 707 | jQuery(".lz_google_cap_size").hide(); |
| 671 | 708 | }else{ |
| 672 | 709 | jQuery(".lz_google_cap_size").show(); |
| 710 | + jQuery(".lz_google_cap_v3").hide(); | |
| 711 | + | |
| 673 | 712 | } |
| 674 | 713 | |
| 675 | 714 | } |
| 676 | 715 | |