From 8301b2a6e8f0e142386721328a785b5431c25945 Mon Sep 17 00:00:00 2001
From: Truong Giang
Date: Wed, 14 May 2025 01:13:45 +0700
Subject: [PATCH 1/5] Add setting for denylist spam check
---
classes/models/FrmSettings.php | 3 +++
classes/models/FrmSpamCheckDenylist.php | 7 +++++--
classes/models/FrmUsage.php | 1 +
classes/views/frm-settings/captcha/captcha.php | 7 +++++++
4 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/classes/models/FrmSettings.php b/classes/models/FrmSettings.php
index 5d73acaebc..a347f63f3b 100644
--- a/classes/models/FrmSettings.php
+++ b/classes/models/FrmSettings.php
@@ -95,6 +95,8 @@ class FrmSettings {
public $wp_spam_check;
+ public $denylist_check;
+
public $disallowed_words;
public $allowed_words;
@@ -173,6 +175,7 @@ public function default_options() {
'custom_css' => false,
'honeypot' => 1,
'wp_spam_check' => 0,
+ 'denylist_check' => 0,
'disallowed_words' => '',
'allowed_words' => '',
);
diff --git a/classes/models/FrmSpamCheckDenylist.php b/classes/models/FrmSpamCheckDenylist.php
index 938095649d..e2056cc0b0 100644
--- a/classes/models/FrmSpamCheckDenylist.php
+++ b/classes/models/FrmSpamCheckDenylist.php
@@ -53,15 +53,18 @@ protected function maybe_add_form_id_to_values( &$values ) {
}
protected function is_enabled() {
+ $frm_settings = FrmAppHelper::get_settings();
+ $is_enabled = $frm_settings->denylist_check;
+
/**
- * Allows to disable the denylist check.
+ * Allows disabling the denylist check.
*
* @since 6.21
*
* @param bool $is_enabled Whether the denylist check is enabled.
* @param array $values The entry values.
*/
- return apply_filters( 'frm_check_denylist', true, $this->values );
+ return apply_filters( 'frm_check_denylist', $is_enabled, $this->values );
}
/**
diff --git a/classes/models/FrmUsage.php b/classes/models/FrmUsage.php
index 755e812e09..3e6b1d73ef 100644
--- a/classes/models/FrmUsage.php
+++ b/classes/models/FrmUsage.php
@@ -222,6 +222,7 @@ private function settings() {
'active_captcha',
'honeypot',
'wp_spam_check',
+ 'denylist_check',
);
foreach ( $pass_settings as $setting ) {
diff --git a/classes/views/frm-settings/captcha/captcha.php b/classes/views/frm-settings/captcha/captcha.php
index e4ffb63873..96d623cf4b 100644
--- a/classes/views/frm-settings/captcha/captcha.php
+++ b/classes/views/frm-settings/captcha/captcha.php
@@ -119,6 +119,13 @@
+
+
+
+