Plugin Directory

Changeset 3011903


Ignore:
Timestamp:
12/19/2023 12:10:29 PM (2 years ago)
Author:
teamzt
Message:

Addressed comment form redirect issue, when captcha not verified.

Location:
zt-captcha
Files:
27 added
2 edited

Legend:

Unmodified
Added
Removed
  • zt-captcha/trunk/readme.txt

    r2959830 r3011903  
    44Contributors: teamzt
    55Tested up to: 6.3
    6 Stable tag: 1.0.1
     6Stable tag: 1.0.2
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    7272*  New: Added Captcha for woocommerce lost password form.
    7373*  Update: All functionality was updated for WordPress 6.3.
     74
     75 = 1.0.2 =
     76
     77*   Addressed comment form redirect issue, when captcha not verified, ensuring error messages are presented within the same page for a smoother user flow.
     78
     79*  Update: All functionality was updated for WordPress 6.4.2
  • zt-captcha/trunk/zt-captcha.php

    r2959830 r3011903  
    33Plugin Name: ZT Captcha
    44Description: The simple captcha plugin was developed to keep the WordPress website safe. Captcha helps protect you from spam and password decryption by asking you to complete a simple test that proves you are human and not a computer trying to break into a password-protected account.
    5 Version: 1.0.1
     5Version: 1.0.2
    66Author: Webcresty
    77Author URI: https://www.webcresty.com/
     
    1212define('ZTCPT_CAPTCHA_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
    1313define('ZTCPT_CAPTCHA_URL_DIR',plugin_dir_url( __FILE__ ) );
    14 define('ZTCPT_CAPTCHA_VERSION','1.0.1');
     14define('ZTCPT_CAPTCHA_VERSION','1.0.2');
    1515define('ZTCPT_VALIDATE_REQ','a_c_validate');
    1616define('ZTCPT_SESSION_STORAGE','a_security_code');
     
    4747        /*script*/
    4848        $jquery=array('jquery');
     49        wp_enqueue_script( 'jquery' );
    4950        wp_register_script('ztcpt_captcha_app_js', ZTCPT_CAPTCHA_URL_DIR.'js/app.js',$jquery, ZTCPT_CAPTCHA_VERSION, false);
    5051        wp_register_script('ztcpt_captcha_propper_js',ZTCPT_CAPTCHA_URL_DIR.'js/popper.min.js',$jquery, ZTCPT_CAPTCHA_VERSION, false);
     
    549550                    $ZTCPT_VALIDATE_REQ = sanitize_text_field($_REQUEST[ZTCPT_VALIDATE_REQ]);
    550551                    if(!isset($_SESSION[ZTCPT_SESSION_STORAGE])  || !isset($_SESSION[ZTCPT_SESSION_STORAGE]['wp_comment']) || $_SESSION[ZTCPT_SESSION_STORAGE]['wp_comment']!=$ZTCPT_VALIDATE_REQ){
    551                        
    552                         $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    553                         wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
    554                     }
    555                 }
    556                 else{
     552
     553                        $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
     554                        set_transient('captcha_error_message', $message, 60);
     555                            wp_redirect(wp_get_referer());
     556                            exit();
     557                     
     558                    }
     559                }
     560                else{ 
     561                    $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
     562                    set_transient('captcha_error_message', $message, 60);
     563                        wp_redirect(wp_get_referer());
     564                        exit();
    557565                   
    558                     $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    559                     wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
    560                 }
    561             }
    562             else{
    563            
    564                 $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    565                 wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
     566                }
     567            }
     568            else{
     569                 $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
     570                set_transient('captcha_error_message', $message, 60);
     571                    wp_redirect(wp_get_referer());
     572                    exit();
     573
    566574            }
    567575        }
     
    578586                    $ZTCPT_VALIDATE_REQ = sanitize_text_field($_REQUEST[ZTCPT_VALIDATE_REQ]);
    579587                    if(!isset($_SESSION[ZTCPT_SESSION_STORAGE])  || !isset($_SESSION[ZTCPT_SESSION_STORAGE]['wp_comment']) || $_SESSION[ZTCPT_SESSION_STORAGE]['wp_comment']!=$ZTCPT_VALIDATE_REQ){
    580                         $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    581                         wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
    582                     }
    583                 }
    584                 else{
     588
     589                        $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
     590                       set_transient('captcha_error_message', $message, 60);
     591                        wp_redirect(wp_get_referer());
     592                        exit();
     593                    }
     594                }
     595                else{ 
     596
    585597                    $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    586                     wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
    587                 }
    588             }
    589             else{
    590                 $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
    591                 wp_die( esc_html_e($message . '<br />' . 'Click the <a href="#" onclick="window.history.back();">BACK</a> button on your browser, and try again.', ZTCPT_TEXT_DOMAIN));
     598                    set_transient('captcha_error_message', $message, 60);
     599                        wp_redirect(wp_get_referer());
     600                        exit();
     601                }
     602            }
     603            else{
     604               
     605                $message = esc_html__( $zt_captcha_error_message, ZTCPT_TEXT_DOMAIN);
     606                set_transient('captcha_error_message', $message, 60);   
     607                  wp_redirect(wp_get_referer());
     608                    exit();
    592609            }
    593610        }   
     
    728745    }
    729746}
     747
     748
     749
     750         /**
     751         * Display the Comment form Error Message
     752         *
     753         */
     754
     755function display_captcha_error_message() {
     756    // Check if the transient exists
     757    if (false !== ($captcha_error_message = get_transient('captcha_error_message'))) {
     758
     759        echo '<script>
     760            jQuery(document).ready(function() {
     761                var errorMessage = \'' . esc_js($captcha_error_message) . '\';
     762                var postCommentButton = jQuery(".zt_captcha_field");
     763
     764                // Insert the error message above the "Post Comment" button
     765                postCommentButton.before(\'<div class="captcha-error">\' + errorMessage + \'</div>\');
     766
     767             
     768            });
     769        </script>';
     770
     771
     772  delete_transient('captcha_error_message');
     773
     774
     775    }
     776}
     777add_action('comment_form', 'display_captcha_error_message');
     778
Note: See TracChangeset for help on using the changeset viewer.