Disable captcha on nested forms #11

Merged
ogrecooper merged 2 commits from nested-forms into main 2026-08-19 17:29:30 +00:00
6 changed files with 24 additions and 7 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://getcomposer.org/schema.json",
"name": "cleverogre/ogre-captcha",
"version": "1.2.7",
"version": "1.2.8",
"title": "Ogre CAPTCHA",
"description": "Protect your site with CAPTCHA",
"author": "CleverOgre",
+15 -1
View File
@@ -4,7 +4,7 @@
* @author cleverogre
* @copyright 2026 CleverOgre
* @license GLP-3.0-or-later
* @version 1.2.7
* @version 1.2.8
* @since 1.1.0
*/
@@ -116,9 +116,19 @@ final class Addon extends GFAddOn {
}
public function is_enabled(array|null $form = null): bool {
// Check to make sure that we're enabled on the plugin level first
$plugin_enabled = $this->get_plugin_setting('enabled') === '1';
if (is_null($form) || !$plugin_enabled) return $plugin_enabled;
$form_id = !is_null($form) ? absint(rgar($form, 'id')) : 0;
// If Gravity Perks Nested Forms is active and the current form is nested, disable entirely (it's not compatible at the moment)
if (class_exists('GP_Nested_Forms')) {
$gp_nested_forms = GP_Nested_Forms::get_instance();
if ($gp_nested_forms->is_nested_form_submission() && $gp_nested_forms->get_parent_form_id() !== $form_id) return false;
}
// Now check to see if the opt-out is enabled within the form settings
$form_settings = $this->get_form_settings($form);
$form_disabled = (bool) rgar($form_settings, 'disabled');
return !$form_disabled;
@@ -160,7 +170,11 @@ final class Addon extends GFAddOn {
if ($context != 'form-submit') return $validation_result;
$form = $validation_result['form'];
// Make sure that we are actually processing the end of the form
if (!GFFormDisplay::is_last_page($form) || rgpost('action') == 'heartbeat') return $validation_result;
// Make sure that we are connected and enabled
if (!Settings::is_connected() || !$this->is_enabled($form)) return $validation_result;
$errors = API::process(Widget::get_token());
+1 -1
View File
@@ -13,7 +13,7 @@
* Plugin Name: Ogre CAPTCHA
* Plugin URI: https://git.cleverogre.com/cleverogre/ogre-captcha/
* Description: Protect your site with CAPTCHA
* Version: 1.2.7
* Version: 1.2.8
* Requires at least: 6.0
* Requires PHP: 8.2
* Author: CleverOgre
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "cleverogre/ogre-captcha",
"version": "1.2.6",
"version": "1.2.7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cleverogre/ogre-captcha",
"version": "1.2.6",
"version": "1.2.7",
"license": "GPL-3.0+",
"devDependencies": {
"gulp": "^5.0.0",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://www.schemastore.org/package.json",
"name": "cleverogre/ogre-captcha",
"version": "1.2.7",
"version": "1.2.8",
"title": "Ogre CAPTCHA",
"description": "Protect your site with CAPTCHA",
"author": "CleverOgre",
+4 -1
View File
@@ -3,7 +3,7 @@ Contributors: ogrecooper, cleverogre
Tested up to: 7.0
Requires at least: 6.0
Requires PHP: 8.2
Version: 1.2.7
Version: 1.2.8
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Copyright: CleverOgre
@@ -28,6 +28,9 @@ If you don't know what plugin you have downloaded, please contact [CleverOgre](t
== Changelog ==
= 1.2.8 - 2026-08-19 =
* Fix compatibility issue with Gravity Perks Nested Forms
= 1.2.7 - 2026-08-14 =
* Remove duplicate settings link
* Add Gravity Forms section to settings page