Skip to content

Commit 9cd4c25

Browse files
authored
New. Options. Gravity Forms spam entries saving option implemented. (#598)
* New. Options. Gravity Forms spam entries saving option implemented. * Fix. Code. Psalm notices fixed.
1 parent 4d5e173 commit 9cd4c25

4 files changed

Lines changed: 26 additions & 1 deletion

File tree

inc/cleantalk-public-integrations.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2729,6 +2729,7 @@ function apbct_form__gravityForms__addField($form_string, $form)
27292729
* Gravity forms anti-spam test.
27302730
* @return boolean
27312731
* @psalm-suppress UnusedVariable
2732+
* @psalm-suppress ArgumentTypeCoercion
27322733
*/
27332734
function apbct_form__gravityForms__testSpam($is_spam, $form, $entry)
27342735
{
@@ -2861,7 +2862,12 @@ function apbct_form__gravityForms__testSpam($is_spam, $form, $entry)
28612862
$is_spam = true;
28622863
$ct_gform_is_spam = true;
28632864
$ct_gform_response = $ct_result->comment;
2864-
add_action('gform_entry_created', 'apbct_form__gravityForms__add_entry_note');
2865+
if ( isset($apbct->settings['forms__gravityforms_save_spam']) && $apbct->settings['forms__gravityforms_save_spam'] == 1 ) {
2866+
add_action('gform_entry_created', 'apbct_form__gravityForms__add_entry_note');
2867+
} elseif ( class_exists('GFFormsModel') && method_exists('GFFormsModel', 'delete_lead') ) {
2868+
/** @psalm-suppress UndefinedClass */
2869+
GFFormsModel::delete_lead($entry['id']);
2870+
}
28652871
}
28662872
}
28672873

inc/cleantalk-settings.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,16 @@ function apbct_settings__set_fields()
231231
'parent' => 'forms__contact_forms_test',
232232
'display' => apbct_is_plugin_active('contact-form-7/wp-contact-form-7.php') && apbct_is_plugin_active('flamingo/flamingo.php'),
233233
),
234+
'forms__gravityforms_save_spam' => array(
235+
'title' => __('Save Gravity Forms spam entries', 'cleantalk-spam-protect'),
236+
'description' => __(
237+
'Spam Gravity Forms entries will be saved into Gravity Forms spam entries if the option is enabled',
238+
'cleantalk-spam-protect'
239+
),
240+
'class' => 'apbct_settings-field_wrapper--sub',
241+
'parent' => 'forms__contact_forms_test',
242+
'display' => apbct_is_plugin_active('gravityforms/gravityforms.php'),
243+
),
234244
'forms__general_contact_forms_test' => array(
235245
'title' => __('Custom contact forms', 'cleantalk-spam-protect'),
236246
'description' => __(

inc/cleantalk-updater.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,5 +1314,13 @@ function apbct_update_to_6_54_1()
13141314
$apbct->settings['data__email_decoder_encode_email_addresses'] = 0;
13151315
}
13161316

1317+
if ( ! isset($apbct->settings['forms__gravityforms_save_spam']) ) {
1318+
$apbct->settings['forms__gravityforms_save_spam'] =
1319+
isset($apbct->default_settings['forms__gravityforms_save_spam'])
1320+
? $apbct->default_settings['forms__gravityforms_save_spam']
1321+
: 1;
1322+
$apbct->saveSettings();
1323+
}
1324+
13171325
$apbct->saveSettings();
13181326
}

lib/Cleantalk/ApbctWP/State.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class State extends \Cleantalk\Common\State
5151
'forms__comments_test' => 1,
5252
'forms__contact_forms_test' => 1,
5353
'forms__flamingo_save_spam' => 1,
54+
'forms__gravityforms_save_spam' => 1,
5455
'forms__general_contact_forms_test' => 1, // Anti-Spam test for unsupported and untested contact forms
5556
'forms__wc_checkout_test' => 1, // WooCommerce checkout default test
5657
'forms__wc_register_from_order' => 1, // Woocommerce registration during checkout

0 commit comments

Comments
 (0)