Plugin Directory

Changeset 3300515


Ignore:
Timestamp:
05/26/2025 08:26:59 AM (10 months ago)
Author:
captchaeu
Message:

Update to version v1.0.57 from GitLab (http://gitlab.krone.at/CAPTCHA/wp-plugin; http://gitlab.krone.at/CAPTCHA/wp-plugin/-/jobs/484025)

Location:
captcha-eu
Files:
4 added
4 deleted
22 edited
1 copied

Legend:

Unmodified
Added
Removed
  • captcha-eu/tags/v1.0.57/assets/js/partials/wpforms.js

    r2906129 r3300515  
    33    var $forms = jQuery('.wpforms-form');
    44
    5     // Intercept Form, w/o auto submit handler
     5    // Intercept Form, but only on final submission
    66    $forms.each(function() {
    77        var $form = jQuery(this);
    8         var $btn = $form.find(':submit');
     8        // Target submit buttons more specifically, excluding page navigation buttons
     9        var $submitBtn = $form.find('input[type="submit"], button[type="submit"]:not(.wpforms-page-button), .wpforms-submit');
    910
    10         $btn.click(function(e) {
     11        $submitBtn.click(function(e) {
    1112            var $btn = jQuery(this);
     13           
     14            // Check if this is a multistep form and we're not on the last page
     15            if (isMultistepForm($form) && !isLastPage($form, $btn)) {
     16                // Let it proceed normally for "Next" buttons
     17                return true;
     18            }
     19           
     20            // This is either a single-page form or the final submit on a multistep form
    1221            e.preventDefault();
    1322            $btn.attr('disabled', true);
     
    2635    });
    2736});
     37
     38function isMultistepForm($form) {
     39    return $form.find('.wpforms-page-break').length > 0 ||
     40           $form.hasClass('wpforms-form-pages') ||
     41           $form.find('.wpforms-page-prev, .wpforms-page-next').length > 0;
     42}
     43
     44function isLastPage($form, $button) {
     45    // If this is a page navigation button (Next/Previous), it's not the final submit
     46    if ($button.hasClass('wpforms-page-button') ||
     47        $button.hasClass('wpforms-page-next') ||
     48        $button.hasClass('wpforms-page-prev')) {
     49        return false;
     50    }
     51   
     52    // Check if this button has the wpforms[submit] name attribute (final submit button)
     53    if ($button.attr('name') === 'wpforms[submit]') {
     54        return true;
     55    }
     56   
     57    // Also check if it has the wpforms-submit class (final submit button)
     58    if ($button.hasClass('wpforms-submit')) {
     59        return true;
     60    }
     61   
     62    return false;
     63}
  • captcha-eu/tags/v1.0.57/readme.txt

    r3293554 r3300515  
    55Tested up to: 6.7
    66Requires PHP: 7.0
    7 Stable tag: 1.0.56
     7Stable tag: 1.0.57
    88License: GPL
    99License URI: https://opensource.org/license/gpl/
     
    6161
    6262== Changelog ==
     63= v1.0.57 =
     64fix wpforms multipage forms only triggering one captcha at the final page
    6365= v1.0.56 =
    6466fix ajax security isse with potential SFFR
  • captcha-eu/tags/v1.0.57/vendor/autoload.php

    r3293554 r3300515  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99::getLoader();
     25return ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d::getLoader();
  • captcha-eu/tags/v1.0.57/vendor/composer/autoload_real.php

    r3293554 r3300515  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99
     5class ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::getInitializer($loader));
    3333
    3434        $loader->register(true);
  • captcha-eu/tags/v1.0.57/vendor/composer/autoload_static.php

    r3293554 r3300515  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99
     7class ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    3434    {
    3535        return \Closure::bind(function () use ($loader) {
    36             $loader->prefixLengthsPsr4 = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$prefixLengthsPsr4;
    37             $loader->prefixDirsPsr4 = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$prefixDirsPsr4;
    38             $loader->classMap = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$classMap;
     36            $loader->prefixLengthsPsr4 = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$prefixLengthsPsr4;
     37            $loader->prefixDirsPsr4 = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$prefixDirsPsr4;
     38            $loader->classMap = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$classMap;
    3939
    4040        }, null, ClassLoader::class);
  • captcha-eu/tags/v1.0.57/vendor/composer/installers/.git/logs/HEAD

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
    2 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 d20a64ed3c94748397ff5973488761b22f6d3f19 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   checkout: moving from main to v1.12.0
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     25b390889ecbb17bfa69ed5a030fa2e6075a19ba0 d20a64ed3c94748397ff5973488761b22f6d3f19 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   checkout: moving from main to v1.12.0
  • captcha-eu/tags/v1.0.57/vendor/composer/installers/.git/logs/refs/heads/main

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
  • captcha-eu/tags/v1.0.57/vendor/composer/installers/.git/logs/refs/remotes/origin/HEAD

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
  • captcha-eu/tags/v1.0.57/vendor/composer/installers/.git/objects/info/packs

    r3293554 r3300515  
    1 P pack-04c7ba8ae7e276950059dab3ee637313bbfebe28.pack
     1P pack-3fe4cc45a8bb1578d99991de109c373b08e72027.pack
    22
  • captcha-eu/tags/v1.0.57/wp-captcha.php

    r3293554 r3300515  
    44 * Description: Captcha.eu provides a GDPR compliant protection against bots and spammers.
    55 * Plugin URI:  https://www.captcha.eu
    6  * Version:     1.0.56
     6 * Version:     1.0.57
    77 * Author:      captchaeu
    88 * Author URI:  https://profiles.wordpress.org/captchaeu/
  • captcha-eu/trunk/assets/js/partials/wpforms.js

    r2906129 r3300515  
    33    var $forms = jQuery('.wpforms-form');
    44
    5     // Intercept Form, w/o auto submit handler
     5    // Intercept Form, but only on final submission
    66    $forms.each(function() {
    77        var $form = jQuery(this);
    8         var $btn = $form.find(':submit');
     8        // Target submit buttons more specifically, excluding page navigation buttons
     9        var $submitBtn = $form.find('input[type="submit"], button[type="submit"]:not(.wpforms-page-button), .wpforms-submit');
    910
    10         $btn.click(function(e) {
     11        $submitBtn.click(function(e) {
    1112            var $btn = jQuery(this);
     13           
     14            // Check if this is a multistep form and we're not on the last page
     15            if (isMultistepForm($form) && !isLastPage($form, $btn)) {
     16                // Let it proceed normally for "Next" buttons
     17                return true;
     18            }
     19           
     20            // This is either a single-page form or the final submit on a multistep form
    1221            e.preventDefault();
    1322            $btn.attr('disabled', true);
     
    2635    });
    2736});
     37
     38function isMultistepForm($form) {
     39    return $form.find('.wpforms-page-break').length > 0 ||
     40           $form.hasClass('wpforms-form-pages') ||
     41           $form.find('.wpforms-page-prev, .wpforms-page-next').length > 0;
     42}
     43
     44function isLastPage($form, $button) {
     45    // If this is a page navigation button (Next/Previous), it's not the final submit
     46    if ($button.hasClass('wpforms-page-button') ||
     47        $button.hasClass('wpforms-page-next') ||
     48        $button.hasClass('wpforms-page-prev')) {
     49        return false;
     50    }
     51   
     52    // Check if this button has the wpforms[submit] name attribute (final submit button)
     53    if ($button.attr('name') === 'wpforms[submit]') {
     54        return true;
     55    }
     56   
     57    // Also check if it has the wpforms-submit class (final submit button)
     58    if ($button.hasClass('wpforms-submit')) {
     59        return true;
     60    }
     61   
     62    return false;
     63}
  • captcha-eu/trunk/readme.txt

    r3293554 r3300515  
    55Tested up to: 6.7
    66Requires PHP: 7.0
    7 Stable tag: 1.0.56
     7Stable tag: 1.0.57
    88License: GPL
    99License URI: https://opensource.org/license/gpl/
     
    6161
    6262== Changelog ==
     63= v1.0.57 =
     64fix wpforms multipage forms only triggering one captcha at the final page
    6365= v1.0.56 =
    6466fix ajax security isse with potential SFFR
  • captcha-eu/trunk/vendor/autoload.php

    r3293554 r3300515  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99::getLoader();
     25return ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d::getLoader();
  • captcha-eu/trunk/vendor/composer/autoload_real.php

    r3293554 r3300515  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99
     5class ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit502ef7fd5134d4d1dc63a8b7c8727e99', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit2ed25d6f7b4372e0a4c780924fa9141d', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::getInitializer($loader));
    3333
    3434        $loader->register(true);
  • captcha-eu/trunk/vendor/composer/autoload_static.php

    r3293554 r3300515  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99
     7class ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    3434    {
    3535        return \Closure::bind(function () use ($loader) {
    36             $loader->prefixLengthsPsr4 = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$prefixLengthsPsr4;
    37             $loader->prefixDirsPsr4 = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$prefixDirsPsr4;
    38             $loader->classMap = ComposerStaticInit502ef7fd5134d4d1dc63a8b7c8727e99::$classMap;
     36            $loader->prefixLengthsPsr4 = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$prefixLengthsPsr4;
     37            $loader->prefixDirsPsr4 = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$prefixDirsPsr4;
     38            $loader->classMap = ComposerStaticInit2ed25d6f7b4372e0a4c780924fa9141d::$classMap;
    3939
    4040        }, null, ClassLoader::class);
  • captcha-eu/trunk/vendor/composer/installers/.git/logs/HEAD

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
    2 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 d20a64ed3c94748397ff5973488761b22f6d3f19 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   checkout: moving from main to v1.12.0
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     25b390889ecbb17bfa69ed5a030fa2e6075a19ba0 d20a64ed3c94748397ff5973488761b22f6d3f19 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   checkout: moving from main to v1.12.0
  • captcha-eu/trunk/vendor/composer/installers/.git/logs/refs/heads/main

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
  • captcha-eu/trunk/vendor/composer/installers/.git/logs/refs/remotes/origin/HEAD

    r3293554 r3300515  
    1 0000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1747258660 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
     10000000000000000000000000000000000000000 5b390889ecbb17bfa69ed5a030fa2e6075a19ba0 Erick Hitter (GitLab CI) <git-contrib+ci@ethitter.com> 1748247998 +0000   clone: from /root/.composer/cache/vcs/https---github.com-composer-installers.git/
  • captcha-eu/trunk/vendor/composer/installers/.git/objects/info/packs

    r3293554 r3300515  
    1 P pack-04c7ba8ae7e276950059dab3ee637313bbfebe28.pack
     1P pack-3fe4cc45a8bb1578d99991de109c373b08e72027.pack
    22
  • captcha-eu/trunk/wp-captcha.php

    r3293554 r3300515  
    44 * Description: Captcha.eu provides a GDPR compliant protection against bots and spammers.
    55 * Plugin URI:  https://www.captcha.eu
    6  * Version:     1.0.56
     6 * Version:     1.0.57
    77 * Author:      captchaeu
    88 * Author URI:  https://profiles.wordpress.org/captchaeu/
Note: See TracChangeset for help on using the changeset viewer.