Plugin Directory

Changeset 3080369


Ignore:
Timestamp:
05/02/2024 12:08:03 PM (11 months ago)
Author:
friendlycaptcha
Message:

Update to version 1.13.0 from GitHub

Location:
friendly-captcha
Files:
20 added
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • friendly-captcha/tags/1.13.0/friendly-captcha.php

    r3045871 r3080369  
    44 * Plugin Name: Friendly Captcha for WordPress
    55 * Description: Protect WordPress website forms from spam and abuse with Friendly Captcha, a privacy-first anti-bot solution.
    6  * Version: 1.12.3
     6 * Version: 1.13.0
    77 * Requires at least: 5.0
    88 * Requires PHP: 7.3
     
    2020}
    2121
    22 define('FRIENDLY_CAPTCHA_VERSION', '1.12.3');
     22define('FRIENDLY_CAPTCHA_VERSION', '1.13.0');
    2323define('FRIENDLY_CAPTCHA_FRIENDLY_CHALLENGE_VERSION', '0.9.12');
    2424define('FRIENDLY_CAPTCHA_SUPPORTED_LANGUAGES', [
  • friendly-captcha/tags/1.13.0/includes/core.php

    r2988129 r3080369  
    11<?php
    22
    3 /* Main entry point */ 
     3/* Main entry point */
    44
    55// TODO: is this necessary? It breaks intellisense..
    6 // if ( !class_exists( 'FriendlyCaptcha_Plugin' ) ) {   
     6// if ( !class_exists( 'FriendlyCaptcha_Plugin' ) ) {
    77    class FriendlyCaptcha_Plugin {
    88
     
    3333        public static $option_html_forms_integration_active_name = "frcaptcha_html_forms_integration_active";
    3434        public static $option_forminator_integration_active_name = "frcaptcha_forminator_integration_active";
     35        public static $option_formidable_integration_active_name = "frcaptcha_formidable_integration_active";
    3536        public static $option_avada_forms_integration_active_name = "frcaptcha_avada_forms_integration_active";
    3637
     
    4546        public static $option_wc_lost_password_integration_active_name = "frcaptcha_wc_lost_password_integration_active";
    4647        public static $option_wc_checkout_integration_active_name = "frcaptcha_wc_checkout_integration_active";
    47        
     48
    4849        public static $option_um_login_integration_active_name = "frcaptcha_um_login_integration_active";
    4950        public static $option_um_register_integration_active_name = "frcaptcha_um_register_integration_active";
     
    5354        public static $option_wpum_login_integration_active_name = "frcaptcha_wpum_login_integration_active";
    5455        public static $option_wpum_password_recovery_integration_active_name = "frcaptcha_wpum_password_recovery_integration_active";
    55        
     56
    5657        public static $option_pb_login_integration_active_name = "frcaptcha_pb_login_integration_active";
    5758        public static $option_pb_register_integration_active_name = "frcaptcha_pb_register_integration_active";
    5859        public static $option_pb_reset_password_integration_active_name = "frcaptcha_pb_reset_password_integration_active";
     60        public static $option_divi_integration_active_name = "frcaptcha_divi_integration_active";
    5961
    6062        public static $option_widget_language_name = "frcaptcha_widget_language";
     
    6365        public static $option_global_puzzle_endpoint_active_name = "frcaptcha_global_endpoint_active";
    6466        public static $option_eu_puzzle_endpoint_active_name = "frcaptcha_eu_endpoint_active";
    65        
     67
    6668
    6769        public function init() {
     
    141143            return get_option(FriendlyCaptcha_Plugin::$option_forminator_integration_active_name) == 1;
    142144        }
    143            
     145
     146        public function get_formidable_active() {
     147            return get_option(FriendlyCaptcha_Plugin::$option_formidable_integration_active_name) == 1;
     148        }
     149
    144150        public function get_avada_forms_active() {
    145151            return get_option(FriendlyCaptcha_Plugin::$option_avada_forms_integration_active_name) == 1;
     
    217223            return get_option(FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name) == 1;
    218224        }
     225
     226        public function get_divi_active() {
     227            return get_option(FriendlyCaptcha_Plugin::$option_divi_integration_active_name) == 1;
     228        }
     229
    219230
    220231        /* Widget options */
     
    259270    require plugin_dir_path( __FILE__ ) . 'helpers.php';
    260271    require plugin_dir_path( __FILE__ ) . 'verification.php';
    261    
     272
    262273    // Register widget routines
    263274    require plugin_dir_path( __FILE__ ) . '../public/widgets.php';
     
    299310    }
    300311
     312    if (FriendlyCaptcha_Plugin::$instance->get_formidable_active()) {
     313        require plugin_dir_path( __FILE__ ) . '../modules/formidable/formidable.php';
     314    }
     315
    301316    if (FriendlyCaptcha_Plugin::$instance->get_avada_forms_active()) {
    302317        require plugin_dir_path( __FILE__ ) . '../modules/avada-forms/avada-forms.php';
     
    371386
    372387    if (FriendlyCaptcha_Plugin::$instance->get_pb_reset_password_active()) {
    373         require plugin_dir_path( __FILE__ ) . '../modules/profile-builder/profile_builder_reset_password.php';
     388        require plugin_dir_path(__FILE__) . '../modules/profile-builder/profile_builder_reset_password.php';
     389    }
     390
     391    if (FriendlyCaptcha_Plugin::$instance->get_divi_active()) {
     392        require plugin_dir_path( __FILE__ ) . '../modules/divi/divi.php';
    374393    }
    375394// }
  • friendly-captcha/tags/1.13.0/includes/settings.php

    r2986098 r3080369  
    6262        register_setting(
    6363            FriendlyCaptcha_Plugin::$option_group,
     64            FriendlyCaptcha_Plugin::$option_formidable_integration_active_name
     65        );
     66        register_setting(
     67            FriendlyCaptcha_Plugin::$option_group,
    6468            FriendlyCaptcha_Plugin::$option_avada_forms_integration_active_name
    6569        );
     
    135139            FriendlyCaptcha_Plugin::$option_group,
    136140            FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name
     141        );
     142
     143        register_setting(
     144            FriendlyCaptcha_Plugin::$option_group,
     145            FriendlyCaptcha_Plugin::$option_divi_integration_active_name
    137146        );
    138147
     
    310319
    311320        add_settings_field(
     321            'frcaptcha_settings_formidable_integration_field',
     322            'Formidable', 'frcaptcha_settings_field_callback',
     323            'friendly_captcha_admin',
     324            'frcaptcha_integrations_settings_section',
     325            array(
     326                "option_name" => FriendlyCaptcha_Plugin::$option_formidable_integration_active_name,
     327                "description" => "Enable Friendly Captcha for <a href=\"https://wordpress.org/plugins/formidable/\" target=\"_blank\">Formidable</a>.<br /><strong>Important:</strong> Make sure to add the new Friendly Captcha field to your forms.",
     328                "type" => "checkbox"
     329            )
     330        );
     331
     332        add_settings_field(
    312333            'frcaptcha_settings_avada_forms_integration_field',
    313334            'Avada Form Builder', 'frcaptcha_settings_field_callback',
     
    533554                "option_name" => FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name,
    534555                "description" => "Enable Friendly Captcha for the <a href=\"https://de.wordpress.org/plugins/profile-builder/\" target=\"_blank\">Profile Builder</a> reset password form.",
     556                "type" => "checkbox"
     557            )
     558        );
     559
     560        add_settings_field(
     561            'frcaptcha_settings_divi_integration_field',
     562            'Divi Theme Contact Form', 'frcaptcha_settings_field_callback',
     563            'friendly_captcha_admin',
     564            'frcaptcha_integrations_settings_section',
     565            array(
     566                "option_name" => FriendlyCaptcha_Plugin::$option_divi_integration_active_name,
     567                "description" => "Enable Friendly Captcha and replace ReCaptcha in the <a href=\"https://www.elegantthemes.com/gallery/divi//\" target=\"_blank\">Divi Theme</a> contact form.<br /><strong>Important:</strong> Please choose 'FriendlyCaptcha verification' as spam protection in each individual Divi contact form.",
    535568                "type" => "checkbox"
    536569            )
  • friendly-captcha/tags/1.13.0/public/mutation-observer.js

    r2986098 r3080369  
    11(function () {
    22  function findCaptchaElements(node) {
    3     return node.querySelectorAll(".frc-captcha");
     3    if (node.querySelectorAll) {
     4      return node.querySelectorAll(".frc-captcha");
     5    } else {
     6      return [];
     7    }
    48  }
    59
     
    2933      const mutation = mutationList[m];
    3034
    31       if (mutation.type === "childList") {
    32         // We only care about new nodes being added
    33         const nodes = mutation.addedNodes;
     35      const nodes = mutation.addedNodes;
    3436
    35         for (let n = 0; n < nodes.length; n++) {
    36           setupCaptchaElements(nodes[n]);
    37         }
     37      for (let n = 0; n < nodes.length; n++) {
     38        setupCaptchaElements(nodes[n]);
    3839      }
    3940    }
    4041  });
    4142
    42   // Start observing the document body for changes
    43   observer.observe(document.body, {
    44     attributes: false,
    45     childList: true,
    46     subtree: false,
    47   });
     43  function init()  {
     44    // Start observing the document body for changes
     45    observer.observe(document.body, {
     46      attributes: false,
     47      childList: true,
     48      subtree: true,
     49  })};
     50
     51  init();
    4852})();
  • friendly-captcha/tags/1.13.0/public/widgets.php

    r2986098 r3080369  
    11<?php
    22
    3 function frcaptcha_enqueue_widget_scripts() {
     3function frcaptcha_enqueue_widget_scripts($forceMutationObserver = false) {
    44    $plugin = FriendlyCaptcha_Plugin::$instance;
    55
     
    2626    );
    2727
    28     if ( $plugin->get_enable_mutation_observer() ) {
     28    if ( $forceMutationObserver || $plugin->get_enable_mutation_observer() ) {
    2929        wp_enqueue_script( 'friendly-captcha-mutation-observer',
    3030            plugin_dir_url( __FILE__ ) . 'mutation-observer.js',
     
    6262        return str_replace( '<script', '<script async defer nomodule', $tag );
    6363    }
    64    
     64    if ( 'friendly-captcha-mutation-observer' == $handle) {
     65        return str_replace( '<script', '<script async defer', $tag );
     66    }
     67
    6568    return $tag;
    6669}
     
    7780    $global = $plugin->get_global_puzzle_endpoint_active();
    7881    $eu = $plugin->get_eu_puzzle_endpoint_active();
    79    
     82
    8083    if ($global && $eu) {
    8184        $extra_attributes = "data-puzzle-endpoint=\"https://eu-api.friendlycaptcha.eu/api/v1/puzzle,https://api.friendlycaptcha.com/api/v1/puzzle\"";
  • friendly-captcha/tags/1.13.0/readme.txt

    r3045871 r3080369  
    55Tested up to: 6.4
    66Requires PHP: 7.3
    7 Stable tag: 1.12.3
     7Stable tag: 1.13.0
    88License: GPL v2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html 
     
    7272* CoBlocks
    7373* Contact Form 7
     74* Divi Contact Forms
    7475* Elementor Pro Forms
    7576* FluentForm
     
    8788* Profile Builder Reset Password Form
    8889* Forminator
     90* Formidable
    8991* Avada Form Builder
    9092
     
    9496
    9597== Changelog ==
     98
     99= 1.13.0 =
     100
     101* Add support for Formidable
     102* Add support for Divi Contact Forms
    96103
    97104= 1.12.3 =
  • friendly-captcha/trunk/friendly-captcha.php

    r3045871 r3080369  
    44 * Plugin Name: Friendly Captcha for WordPress
    55 * Description: Protect WordPress website forms from spam and abuse with Friendly Captcha, a privacy-first anti-bot solution.
    6  * Version: 1.12.3
     6 * Version: 1.13.0
    77 * Requires at least: 5.0
    88 * Requires PHP: 7.3
     
    2020}
    2121
    22 define('FRIENDLY_CAPTCHA_VERSION', '1.12.3');
     22define('FRIENDLY_CAPTCHA_VERSION', '1.13.0');
    2323define('FRIENDLY_CAPTCHA_FRIENDLY_CHALLENGE_VERSION', '0.9.12');
    2424define('FRIENDLY_CAPTCHA_SUPPORTED_LANGUAGES', [
  • friendly-captcha/trunk/includes/core.php

    r2988129 r3080369  
    11<?php
    22
    3 /* Main entry point */ 
     3/* Main entry point */
    44
    55// TODO: is this necessary? It breaks intellisense..
    6 // if ( !class_exists( 'FriendlyCaptcha_Plugin' ) ) {   
     6// if ( !class_exists( 'FriendlyCaptcha_Plugin' ) ) {
    77    class FriendlyCaptcha_Plugin {
    88
     
    3333        public static $option_html_forms_integration_active_name = "frcaptcha_html_forms_integration_active";
    3434        public static $option_forminator_integration_active_name = "frcaptcha_forminator_integration_active";
     35        public static $option_formidable_integration_active_name = "frcaptcha_formidable_integration_active";
    3536        public static $option_avada_forms_integration_active_name = "frcaptcha_avada_forms_integration_active";
    3637
     
    4546        public static $option_wc_lost_password_integration_active_name = "frcaptcha_wc_lost_password_integration_active";
    4647        public static $option_wc_checkout_integration_active_name = "frcaptcha_wc_checkout_integration_active";
    47        
     48
    4849        public static $option_um_login_integration_active_name = "frcaptcha_um_login_integration_active";
    4950        public static $option_um_register_integration_active_name = "frcaptcha_um_register_integration_active";
     
    5354        public static $option_wpum_login_integration_active_name = "frcaptcha_wpum_login_integration_active";
    5455        public static $option_wpum_password_recovery_integration_active_name = "frcaptcha_wpum_password_recovery_integration_active";
    55        
     56
    5657        public static $option_pb_login_integration_active_name = "frcaptcha_pb_login_integration_active";
    5758        public static $option_pb_register_integration_active_name = "frcaptcha_pb_register_integration_active";
    5859        public static $option_pb_reset_password_integration_active_name = "frcaptcha_pb_reset_password_integration_active";
     60        public static $option_divi_integration_active_name = "frcaptcha_divi_integration_active";
    5961
    6062        public static $option_widget_language_name = "frcaptcha_widget_language";
     
    6365        public static $option_global_puzzle_endpoint_active_name = "frcaptcha_global_endpoint_active";
    6466        public static $option_eu_puzzle_endpoint_active_name = "frcaptcha_eu_endpoint_active";
    65        
     67
    6668
    6769        public function init() {
     
    141143            return get_option(FriendlyCaptcha_Plugin::$option_forminator_integration_active_name) == 1;
    142144        }
    143            
     145
     146        public function get_formidable_active() {
     147            return get_option(FriendlyCaptcha_Plugin::$option_formidable_integration_active_name) == 1;
     148        }
     149
    144150        public function get_avada_forms_active() {
    145151            return get_option(FriendlyCaptcha_Plugin::$option_avada_forms_integration_active_name) == 1;
     
    217223            return get_option(FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name) == 1;
    218224        }
     225
     226        public function get_divi_active() {
     227            return get_option(FriendlyCaptcha_Plugin::$option_divi_integration_active_name) == 1;
     228        }
     229
    219230
    220231        /* Widget options */
     
    259270    require plugin_dir_path( __FILE__ ) . 'helpers.php';
    260271    require plugin_dir_path( __FILE__ ) . 'verification.php';
    261    
     272
    262273    // Register widget routines
    263274    require plugin_dir_path( __FILE__ ) . '../public/widgets.php';
     
    299310    }
    300311
     312    if (FriendlyCaptcha_Plugin::$instance->get_formidable_active()) {
     313        require plugin_dir_path( __FILE__ ) . '../modules/formidable/formidable.php';
     314    }
     315
    301316    if (FriendlyCaptcha_Plugin::$instance->get_avada_forms_active()) {
    302317        require plugin_dir_path( __FILE__ ) . '../modules/avada-forms/avada-forms.php';
     
    371386
    372387    if (FriendlyCaptcha_Plugin::$instance->get_pb_reset_password_active()) {
    373         require plugin_dir_path( __FILE__ ) . '../modules/profile-builder/profile_builder_reset_password.php';
     388        require plugin_dir_path(__FILE__) . '../modules/profile-builder/profile_builder_reset_password.php';
     389    }
     390
     391    if (FriendlyCaptcha_Plugin::$instance->get_divi_active()) {
     392        require plugin_dir_path( __FILE__ ) . '../modules/divi/divi.php';
    374393    }
    375394// }
  • friendly-captcha/trunk/includes/settings.php

    r2986098 r3080369  
    6262        register_setting(
    6363            FriendlyCaptcha_Plugin::$option_group,
     64            FriendlyCaptcha_Plugin::$option_formidable_integration_active_name
     65        );
     66        register_setting(
     67            FriendlyCaptcha_Plugin::$option_group,
    6468            FriendlyCaptcha_Plugin::$option_avada_forms_integration_active_name
    6569        );
     
    135139            FriendlyCaptcha_Plugin::$option_group,
    136140            FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name
     141        );
     142
     143        register_setting(
     144            FriendlyCaptcha_Plugin::$option_group,
     145            FriendlyCaptcha_Plugin::$option_divi_integration_active_name
    137146        );
    138147
     
    310319
    311320        add_settings_field(
     321            'frcaptcha_settings_formidable_integration_field',
     322            'Formidable', 'frcaptcha_settings_field_callback',
     323            'friendly_captcha_admin',
     324            'frcaptcha_integrations_settings_section',
     325            array(
     326                "option_name" => FriendlyCaptcha_Plugin::$option_formidable_integration_active_name,
     327                "description" => "Enable Friendly Captcha for <a href=\"https://wordpress.org/plugins/formidable/\" target=\"_blank\">Formidable</a>.<br /><strong>Important:</strong> Make sure to add the new Friendly Captcha field to your forms.",
     328                "type" => "checkbox"
     329            )
     330        );
     331
     332        add_settings_field(
    312333            'frcaptcha_settings_avada_forms_integration_field',
    313334            'Avada Form Builder', 'frcaptcha_settings_field_callback',
     
    533554                "option_name" => FriendlyCaptcha_Plugin::$option_pb_reset_password_integration_active_name,
    534555                "description" => "Enable Friendly Captcha for the <a href=\"https://de.wordpress.org/plugins/profile-builder/\" target=\"_blank\">Profile Builder</a> reset password form.",
     556                "type" => "checkbox"
     557            )
     558        );
     559
     560        add_settings_field(
     561            'frcaptcha_settings_divi_integration_field',
     562            'Divi Theme Contact Form', 'frcaptcha_settings_field_callback',
     563            'friendly_captcha_admin',
     564            'frcaptcha_integrations_settings_section',
     565            array(
     566                "option_name" => FriendlyCaptcha_Plugin::$option_divi_integration_active_name,
     567                "description" => "Enable Friendly Captcha and replace ReCaptcha in the <a href=\"https://www.elegantthemes.com/gallery/divi//\" target=\"_blank\">Divi Theme</a> contact form.<br /><strong>Important:</strong> Please choose 'FriendlyCaptcha verification' as spam protection in each individual Divi contact form.",
    535568                "type" => "checkbox"
    536569            )
  • friendly-captcha/trunk/public/mutation-observer.js

    r2986098 r3080369  
    11(function () {
    22  function findCaptchaElements(node) {
    3     return node.querySelectorAll(".frc-captcha");
     3    if (node.querySelectorAll) {
     4      return node.querySelectorAll(".frc-captcha");
     5    } else {
     6      return [];
     7    }
    48  }
    59
     
    2933      const mutation = mutationList[m];
    3034
    31       if (mutation.type === "childList") {
    32         // We only care about new nodes being added
    33         const nodes = mutation.addedNodes;
     35      const nodes = mutation.addedNodes;
    3436
    35         for (let n = 0; n < nodes.length; n++) {
    36           setupCaptchaElements(nodes[n]);
    37         }
     37      for (let n = 0; n < nodes.length; n++) {
     38        setupCaptchaElements(nodes[n]);
    3839      }
    3940    }
    4041  });
    4142
    42   // Start observing the document body for changes
    43   observer.observe(document.body, {
    44     attributes: false,
    45     childList: true,
    46     subtree: false,
    47   });
     43  function init()  {
     44    // Start observing the document body for changes
     45    observer.observe(document.body, {
     46      attributes: false,
     47      childList: true,
     48      subtree: true,
     49  })};
     50
     51  init();
    4852})();
  • friendly-captcha/trunk/public/widgets.php

    r2986098 r3080369  
    11<?php
    22
    3 function frcaptcha_enqueue_widget_scripts() {
     3function frcaptcha_enqueue_widget_scripts($forceMutationObserver = false) {
    44    $plugin = FriendlyCaptcha_Plugin::$instance;
    55
     
    2626    );
    2727
    28     if ( $plugin->get_enable_mutation_observer() ) {
     28    if ( $forceMutationObserver || $plugin->get_enable_mutation_observer() ) {
    2929        wp_enqueue_script( 'friendly-captcha-mutation-observer',
    3030            plugin_dir_url( __FILE__ ) . 'mutation-observer.js',
     
    6262        return str_replace( '<script', '<script async defer nomodule', $tag );
    6363    }
    64    
     64    if ( 'friendly-captcha-mutation-observer' == $handle) {
     65        return str_replace( '<script', '<script async defer', $tag );
     66    }
     67
    6568    return $tag;
    6669}
     
    7780    $global = $plugin->get_global_puzzle_endpoint_active();
    7881    $eu = $plugin->get_eu_puzzle_endpoint_active();
    79    
     82
    8083    if ($global && $eu) {
    8184        $extra_attributes = "data-puzzle-endpoint=\"https://eu-api.friendlycaptcha.eu/api/v1/puzzle,https://api.friendlycaptcha.com/api/v1/puzzle\"";
  • friendly-captcha/trunk/readme.txt

    r3045871 r3080369  
    55Tested up to: 6.4
    66Requires PHP: 7.3
    7 Stable tag: 1.12.3
     7Stable tag: 1.13.0
    88License: GPL v2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html 
     
    7272* CoBlocks
    7373* Contact Form 7
     74* Divi Contact Forms
    7475* Elementor Pro Forms
    7576* FluentForm
     
    8788* Profile Builder Reset Password Form
    8889* Forminator
     90* Formidable
    8991* Avada Form Builder
    9092
     
    9496
    9597== Changelog ==
     98
     99= 1.13.0 =
     100
     101* Add support for Formidable
     102* Add support for Divi Contact Forms
    96103
    97104= 1.12.3 =
Note: See TracChangeset for help on using the changeset viewer.