Version Description
September 15 2016 = * buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders. * buddyPress: Added option in settings for private messages check. * WooCommerce Wishlist: Added check for wishlists. * Fixed issue with "check all post data" option. * Improved filtering for Gravity Forms * Mobile Assistant Connector fix * Minor fixes.
Download this release
Release Info
Developer | shagimuratov |
Plugin | Spam protection, AntiSpam, FireWall by CleanTalk |
Version | 5.48 |
Comparing to | |
See all releases |
Code changes from version 5.47 to 5.48
- cleantalk.php +3 -3
- inc/cleantalk-admin.php +17 -0
- inc/cleantalk-common.php +13 -6
- inc/cleantalk-public.php +180 -20
- readme.txt +31 -9
- screenshot-2.png +0 -0
- screenshot-6.png +0 -0
cleantalk.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
Plugin Name: Spam Protection by CleanTalk
|
4 |
Plugin URI: http://cleantalk.org
|
5 |
Description: Max power, all-in-one, no Captcha, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms. Formerly Anti-Spam by CleanTalk.
|
6 |
-
Version: 5.
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
*/
|
10 |
-
$cleantalk_plugin_version='5.
|
11 |
-
$ct_agent_version = 'wordpress-
|
12 |
$cleantalk_executed=false;
|
13 |
$ct_sfw_updated = false;
|
14 |
|
3 |
Plugin Name: Spam Protection by CleanTalk
|
4 |
Plugin URI: http://cleantalk.org
|
5 |
Description: Max power, all-in-one, no Captcha, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms. Formerly Anti-Spam by CleanTalk.
|
6 |
+
Version: 5.48
|
7 |
Author: СleanTalk <welcome@cleantalk.org>
|
8 |
Author URI: http://cleantalk.org
|
9 |
*/
|
10 |
+
$cleantalk_plugin_version='5.48';
|
11 |
+
$ct_agent_version = 'wordpress-548';
|
12 |
$cleantalk_executed=false;
|
13 |
$ct_sfw_updated = false;
|
14 |
|
inc/cleantalk-admin.php
CHANGED
@@ -307,6 +307,7 @@ function ct_admin_init()
|
|
307 |
add_settings_field('cleantalk_contact_forms_test', __('Contact forms', 'cleantalk'), 'ct_input_contact_forms_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
308 |
add_settings_field('cleantalk_general_contact_forms_test', __('Custom contact forms', 'cleantalk'), 'ct_input_general_contact_forms_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
309 |
add_settings_field('cleantalk_wc_checkout_test', __('WooCommerce checkout form', 'cleantalk'), 'ct_input_wc_chekout_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
|
|
310 |
add_settings_field('cleantalk_general_postdata_test', __('Check all post data', 'cleantalk'), 'ct_input_general_postdata_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
311 |
|
312 |
add_settings_field('cleantalk_show_adminbar', __('Show statistics in admin bar', 'cleantalk'), 'ct_input_show_adminbar', 'cleantalk', 'cleantalk_settings_anti_spam');
|
@@ -805,6 +806,22 @@ function ct_input_wc_chekout_test() {
|
|
805 |
admin_addDescriptionsFields(__('Anti spam test for WooCommerce checkout form.', 'cleantalk'));
|
806 |
}
|
807 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
808 |
/**
|
809 |
* @author Artem Leontiev
|
810 |
* Admin callback function - Displays inputs of 'Publicate relevant comments' plugin parameter
|
307 |
add_settings_field('cleantalk_contact_forms_test', __('Contact forms', 'cleantalk'), 'ct_input_contact_forms_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
308 |
add_settings_field('cleantalk_general_contact_forms_test', __('Custom contact forms', 'cleantalk'), 'ct_input_general_contact_forms_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
309 |
add_settings_field('cleantalk_wc_checkout_test', __('WooCommerce checkout form', 'cleantalk'), 'ct_input_wc_chekout_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
310 |
+
add_settings_field('cleantalk_bp_private_messages', __('buddyPress private messages', 'cleantalk'), 'ct_input_bp_private_messages', 'cleantalk', 'cleantalk_settings_anti_spam');
|
311 |
add_settings_field('cleantalk_general_postdata_test', __('Check all post data', 'cleantalk'), 'ct_input_general_postdata_test', 'cleantalk', 'cleantalk_settings_anti_spam');
|
312 |
|
313 |
add_settings_field('cleantalk_show_adminbar', __('Show statistics in admin bar', 'cleantalk'), 'ct_input_show_adminbar', 'cleantalk', 'cleantalk_settings_anti_spam');
|
806 |
admin_addDescriptionsFields(__('Anti spam test for WooCommerce checkout form.', 'cleantalk'));
|
807 |
}
|
808 |
|
809 |
+
/**
|
810 |
+
* Admin callback function - Displays inputs of 'bp_private_messages' plugin parameter
|
811 |
+
*/
|
812 |
+
function ct_input_bp_private_messages() {
|
813 |
+
global $ct_options, $ct_data;
|
814 |
+
|
815 |
+
$ct_options = ct_get_options();
|
816 |
+
$ct_data = ct_get_data();
|
817 |
+
|
818 |
+
$value = $ct_options['bp_private_messages'];
|
819 |
+
echo "<input type='radio' id='bp_private_messages1' name='cleantalk_settings[bp_private_messages]' value='1' " . ($value == '1' ? 'checked' : '') . " /><label for='bp_private_messages1'> " . __('Yes') . "</label>";
|
820 |
+
echo ' ';
|
821 |
+
echo "<input type='radio' id='bp_private_messages0' name='cleantalk_settings[bp_private_messages]' value='0' " . ($value == '0' ? 'checked' : '') . " /><label for='bp_private_messages0'> " . __('No') . "</label>";
|
822 |
+
admin_addDescriptionsFields(__('Check buddyPress private messages.', 'cleantalk'));
|
823 |
+
}
|
824 |
+
|
825 |
/**
|
826 |
* @author Artem Leontiev
|
827 |
* Admin callback function - Displays inputs of 'Publicate relevant comments' plugin parameter
|
inc/cleantalk-common.php
CHANGED
@@ -470,6 +470,7 @@ function ct_def_options() {
|
|
470 |
'contact_forms_test' => '1',
|
471 |
'general_contact_forms_test' => '1', // Antispam test for unsupported and untested contact forms
|
472 |
'wc_checkout_test' => '0', //WooCommerce checkout default test => OFF
|
|
|
473 |
'remove_old_spam' => '0',
|
474 |
'spam_store_days' => '15', // Days before delete comments from folder Spam
|
475 |
'ssl_on' => 0, // Secure connection to servers
|
@@ -764,7 +765,8 @@ function ct_get_fields_any($arr, $message=array(), $email=NULL, $nickname=NULL,
|
|
764 |
'ipn_track_id', // PayPal IPN #
|
765 |
'txn_type', // PayPal transaction type
|
766 |
'payment_status', // PayPal payment status
|
767 |
-
'ccbill_ipn' //CCBill IPN
|
|
|
768 |
);
|
769 |
$obfuscate_params = array(
|
770 |
'password',
|
@@ -878,18 +880,23 @@ function ct_get_fields_any_postdata(&$message,$arr)
|
|
878 |
}
|
879 |
//*/
|
880 |
//New ct_get_fields_any_postdata
|
881 |
-
|
|
|
882 |
$skip_params = array(
|
883 |
'ipn_track_id', // PayPal IPN #
|
884 |
'txn_type', // PayPal transaction type
|
885 |
'payment_status', // PayPal payment status
|
886 |
);
|
887 |
foreach($arr as $key => $value){
|
888 |
-
if(!is_array($value))
|
|
|
|
|
889 |
if (!(in_array($key, $skip_params) || preg_match("/^ct_checkjs/", $key)) && $value!='')
|
890 |
-
$message
|
891 |
-
else
|
892 |
-
$
|
|
|
|
|
893 |
}
|
894 |
return $message;
|
895 |
}
|
470 |
'contact_forms_test' => '1',
|
471 |
'general_contact_forms_test' => '1', // Antispam test for unsupported and untested contact forms
|
472 |
'wc_checkout_test' => '0', //WooCommerce checkout default test => OFF
|
473 |
+
'bp_private_messages' => '1', //buddyPress private messages test => ON
|
474 |
'remove_old_spam' => '0',
|
475 |
'spam_store_days' => '15', // Days before delete comments from folder Spam
|
476 |
'ssl_on' => 0, // Secure connection to servers
|
765 |
'ipn_track_id', // PayPal IPN #
|
766 |
'txn_type', // PayPal transaction type
|
767 |
'payment_status', // PayPal payment status
|
768 |
+
'ccbill_ipn', //CCBill IPN
|
769 |
+
'ct_checkjs' //skip ct_checkjs field
|
770 |
);
|
771 |
$obfuscate_params = array(
|
772 |
'password',
|
880 |
}
|
881 |
//*/
|
882 |
//New ct_get_fields_any_postdata
|
883 |
+
//New ct_get_fields_any_postdata
|
884 |
+
function ct_get_fields_any_postdata($arr, $message=array()){
|
885 |
$skip_params = array(
|
886 |
'ipn_track_id', // PayPal IPN #
|
887 |
'txn_type', // PayPal transaction type
|
888 |
'payment_status', // PayPal payment status
|
889 |
);
|
890 |
foreach($arr as $key => $value){
|
891 |
+
if(!is_array($value)){
|
892 |
+
if($value == '')
|
893 |
+
continue;
|
894 |
if (!(in_array($key, $skip_params) || preg_match("/^ct_checkjs/", $key)) && $value!='')
|
895 |
+
$message[$key] = $value;
|
896 |
+
}else{
|
897 |
+
$temp = ct_get_fields_any_postdata($value);
|
898 |
+
$message = (count($temp) == 0 ? $message : array_merge($message, $temp));
|
899 |
+
}
|
900 |
}
|
901 |
return $message;
|
902 |
}
|
inc/cleantalk-public.php
CHANGED
@@ -20,8 +20,8 @@ function ct_init() {
|
|
20 |
{
|
21 |
add_shortcode( 'et_pb_contact_form', 'ct_contact_form_validate' );
|
22 |
}
|
23 |
-
|
24 |
-
if($test_external_forms && $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['cleantalk_hidden_method']) && isset($_POST['cleantalk_hidden_action']))
|
25 |
{
|
26 |
$action=htmlspecialchars($_POST['cleantalk_hidden_action']);
|
27 |
$method=htmlspecialchars($_POST['cleantalk_hidden_method']);
|
@@ -79,9 +79,13 @@ function ct_init() {
|
|
79 |
|
80 |
// WooCoomerse signups
|
81 |
if(class_exists('WooCommerce')){
|
82 |
-
|
83 |
}
|
84 |
-
|
|
|
|
|
|
|
|
|
85 |
// JetPack Contact form
|
86 |
$jetpack_active_modules = false;
|
87 |
if(defined('JETPACK__VERSION') && isset($_POST['comment_post_ID']))
|
@@ -127,8 +131,9 @@ function ct_init() {
|
|
127 |
|
128 |
// BuddyPress
|
129 |
if(class_exists('BuddyPress')){
|
130 |
-
|
131 |
-
|
|
|
132 |
}
|
133 |
|
134 |
// bbPress
|
@@ -191,7 +196,7 @@ function ct_init() {
|
|
191 |
$ct_check_post_result=false;
|
192 |
ct_contact_form_validate();
|
193 |
}
|
194 |
-
if($_SERVER['REQUEST_METHOD'] == 'POST' && $ct_general_postdata_test==1 && !is_admin()&&!@isset($_POST['ct_checkjs_cf7']))
|
195 |
{
|
196 |
$ct_check_post_result=false;
|
197 |
ct_contact_form_validate_postdata();
|
@@ -199,6 +204,151 @@ function ct_init() {
|
|
199 |
}
|
200 |
}
|
201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
/**
|
203 |
* Does actions to prepare anti-spam tests.
|
204 |
* @return bool;
|
@@ -1729,8 +1879,14 @@ function ct_gforms_spam_test ($is_spam, $form, $entry) {
|
|
1729 |
$post_info = json_encode($post_info);
|
1730 |
if ($post_info === false)
|
1731 |
$post_info = '';
|
1732 |
-
|
1733 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
1734 |
|
1735 |
$sender_email = ($ct_temp_msg_data['email'] ? $ct_temp_msg_data['email'] : '');
|
1736 |
$sender_nickname = ($ct_temp_msg_data['nickname'] ? $ct_temp_msg_data['nickname'] : '');
|
@@ -1756,6 +1912,7 @@ function ct_gforms_spam_test ($is_spam, $form, $entry) {
|
|
1756 |
|
1757 |
if ($ct_result->allow == 0) {
|
1758 |
$is_spam = true;
|
|
|
1759 |
}
|
1760 |
|
1761 |
return $is_spam;
|
@@ -1897,7 +2054,9 @@ function ct_contact_form_validate () {
|
|
1897 |
isset($_POST['comment_post_ID']) || // The comment form
|
1898 |
isset($_GET['for']) ||
|
1899 |
(isset($_POST['log']) && isset($_POST['pwd'])) || //WooCommerce Sensei login form fix
|
1900 |
-
(isset($_POST['_wpcf7']) && isset($_POST['_wpcf7_version']) && isset($_POST['_wpcf7_locale'])) //CF7 fix)
|
|
|
|
|
1901 |
) {
|
1902 |
return null;
|
1903 |
}
|
@@ -2035,16 +2194,17 @@ function ct_contact_form_validate () {
|
|
2035 |
die();
|
2036 |
}
|
2037 |
//WooCommerce checkout ("Place Oreder button")
|
2038 |
-
elseif(
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
|
|
2048 |
}
|
2049 |
else
|
2050 |
{
|
20 |
{
|
21 |
add_shortcode( 'et_pb_contact_form', 'ct_contact_form_validate' );
|
22 |
}
|
23 |
+
|
24 |
+
if($test_external_forms && isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['cleantalk_hidden_method']) && isset($_POST['cleantalk_hidden_action']))
|
25 |
{
|
26 |
$action=htmlspecialchars($_POST['cleantalk_hidden_action']);
|
27 |
$method=htmlspecialchars($_POST['cleantalk_hidden_method']);
|
79 |
|
80 |
// WooCoomerse signups
|
81 |
if(class_exists('WooCommerce')){
|
82 |
+
add_filter('woocommerce_register_post', 'ct_register_post', 1, 3);
|
83 |
}
|
84 |
+
if(class_exists('WC_Wishlists_Wishlist')){
|
85 |
+
add_filter('wc_wishlists_create_list_args', 'ct_woocommerce_wishlist_check', 1, 1);
|
86 |
+
}
|
87 |
+
|
88 |
+
|
89 |
// JetPack Contact form
|
90 |
$jetpack_active_modules = false;
|
91 |
if(defined('JETPACK__VERSION') && isset($_POST['comment_post_ID']))
|
131 |
|
132 |
// BuddyPress
|
133 |
if(class_exists('BuddyPress')){
|
134 |
+
add_action('bp_before_registration_submit_buttons','ct_register_form',1);
|
135 |
+
add_filter('bp_signup_validate', 'ct_registration_errors',1);
|
136 |
+
add_action('messages_message_before_save','ct_bp_private_msg_check', 1);
|
137 |
}
|
138 |
|
139 |
// bbPress
|
196 |
$ct_check_post_result=false;
|
197 |
ct_contact_form_validate();
|
198 |
}
|
199 |
+
if(isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST' && $ct_general_postdata_test==1 && !is_admin()&&!@isset($_POST['ct_checkjs_cf7']))
|
200 |
{
|
201 |
$ct_check_post_result=false;
|
202 |
ct_contact_form_validate_postdata();
|
204 |
}
|
205 |
}
|
206 |
|
207 |
+
function ct_woocommerce_wishlist_check($args){
|
208 |
+
global $ct_options;
|
209 |
+
|
210 |
+
$ct_options = ct_get_options();
|
211 |
+
|
212 |
+
//Protect logged in users
|
213 |
+
if($args['wishlist_status'])
|
214 |
+
if(isset($ct_options['protect_logged_in']) && $ct_options['protect_logged_in'] == 0)
|
215 |
+
return $args;
|
216 |
+
|
217 |
+
//Getting request params
|
218 |
+
|
219 |
+
$message = '';
|
220 |
+
$subject = '';
|
221 |
+
$email = $args['wishlist_owner_email'];
|
222 |
+
if($args['wishlist_first_name']!='' || $args['wishlist_last_name']!='')
|
223 |
+
$nickname = trim($args['wishlist_first_name']." ".$args['wishlist_last_name']);
|
224 |
+
else
|
225 |
+
$nickname = '';
|
226 |
+
|
227 |
+
$post_info['comment_type'] = 'feedback';
|
228 |
+
$post_info['post_url'] = $_SERVER['HTTP_REFERER'];
|
229 |
+
$post_info = json_encode($post_info);
|
230 |
+
if ($post_info === false)
|
231 |
+
$post_info = '';
|
232 |
+
|
233 |
+
$checkjs = js_test('ct_checkjs', $_COOKIE, true);
|
234 |
+
if ($checkjs === null)
|
235 |
+
$checkjs = js_test('ct_checkjs', $_POST, true);
|
236 |
+
|
237 |
+
$sender_info = array(
|
238 |
+
'sender_url' => null
|
239 |
+
);
|
240 |
+
|
241 |
+
//Making a call
|
242 |
+
|
243 |
+
$ct_base_call_result = ct_base_call(array(
|
244 |
+
'message' => $subject." ".$message,
|
245 |
+
'example' => null,
|
246 |
+
'sender_email' => $email,
|
247 |
+
'sender_nickname' => $nickname,
|
248 |
+
'post_info' => $post_info,
|
249 |
+
'checkjs' => $checkjs,
|
250 |
+
'sender_info' => $sender_info
|
251 |
+
));
|
252 |
+
|
253 |
+
$ct = $ct_base_call_result['ct'];
|
254 |
+
$ct_result = $ct_base_call_result['ct_result'];
|
255 |
+
|
256 |
+
if ($ct_result->stop_queue == 1 || $ct_result->spam == 1 || $ct_result->allow == 0)
|
257 |
+
wp_die("<h1>Spam Protection by CleanTalk</h1><h2>".$ct_result->comment."</h2>", '', array('response' => 403, "back_link" => true, "text_direction" => 'ltr'));
|
258 |
+
else
|
259 |
+
return $args;
|
260 |
+
}
|
261 |
+
|
262 |
+
/**
|
263 |
+
* Public function - Tests new private messages (dialogs)
|
264 |
+
* return @array with errors if spam has found
|
265 |
+
*/
|
266 |
+
|
267 |
+
function ct_bp_private_msg_check( $bp_message_obj){
|
268 |
+
global $ct_options;
|
269 |
+
|
270 |
+
$ct_options = ct_get_options();
|
271 |
+
|
272 |
+
//Check for enabled option
|
273 |
+
if($ct_options['bp_private_messages'] == 0)
|
274 |
+
return;
|
275 |
+
|
276 |
+
//Check for quantity of comments
|
277 |
+
$is_max_comments = false;
|
278 |
+
if(defined('CLEANTALK_CHECK_COMMENTS_NUMBER'))
|
279 |
+
$comments_check_number = CLEANTALK_CHECK_COMMENTS_NUMBER;
|
280 |
+
else
|
281 |
+
$comments_check_number = 3;
|
282 |
+
|
283 |
+
if(isset($ct_options['check_comments_number']))
|
284 |
+
$value = @intval($ct_options['check_comments_number']);
|
285 |
+
else
|
286 |
+
$value=1;
|
287 |
+
|
288 |
+
if($value == 1){
|
289 |
+
$args = array(
|
290 |
+
'user_id' => $bp_message_obj->sender_id,
|
291 |
+
'box' => 'sentbox',
|
292 |
+
'type' => 'all',
|
293 |
+
'limit' => $comments_check_number,
|
294 |
+
'page' => null,
|
295 |
+
'search_terms' => '',
|
296 |
+
'meta_query' => array()
|
297 |
+
);
|
298 |
+
$sentbox_msgs = BP_Messages_Thread::get_current_threads_for_user($args);
|
299 |
+
$cnt_sentbox_msgs = $sentbox_msgs['total'];
|
300 |
+
$args['box'] = 'inbox';
|
301 |
+
$inbox_msgs = BP_Messages_Thread::get_current_threads_for_user($args);
|
302 |
+
$cnt_inbox_msgs = $inbox_msgs['total'];
|
303 |
+
if(($cnt_inbox_msgs + $cnt_sentbox_msgs) >= $comments_check_number)
|
304 |
+
$is_max_comments = true;
|
305 |
+
}
|
306 |
+
|
307 |
+
if($is_max_comments)
|
308 |
+
return;
|
309 |
+
|
310 |
+
//Getting request params
|
311 |
+
|
312 |
+
$sender_user_obj = get_user_by('id', $bp_message_obj->sender_id);
|
313 |
+
|
314 |
+
$message = $bp_message_obj->message;
|
315 |
+
$subject = $bp_message_obj->subject;
|
316 |
+
$email = $sender_user_obj->data->user_email;
|
317 |
+
$nickname = $sender_user_obj->data->user_login;
|
318 |
+
|
319 |
+
$post_info['comment_type'] = 'feedback';
|
320 |
+
$post_info['post_url'] = $_SERVER['HTTP_REFERER'];
|
321 |
+
$post_info = json_encode($post_info);
|
322 |
+
if ($post_info === false)
|
323 |
+
$post_info = '';
|
324 |
+
|
325 |
+
$checkjs = js_test('ct_checkjs', $_COOKIE, true);
|
326 |
+
if ($checkjs === null)
|
327 |
+
$checkjs = js_test('ct_checkjs', $_POST, true);
|
328 |
+
|
329 |
+
$sender_info = array(
|
330 |
+
'sender_url' => null
|
331 |
+
);
|
332 |
+
|
333 |
+
//Making a call
|
334 |
+
|
335 |
+
$ct_base_call_result = ct_base_call(array(
|
336 |
+
'message' => $subject." ".$message,
|
337 |
+
'example' => null,
|
338 |
+
'sender_email' => $email,
|
339 |
+
'sender_nickname' => $nickname,
|
340 |
+
'post_info' => $post_info,
|
341 |
+
'checkjs' => $checkjs,
|
342 |
+
'sender_info' => $sender_info
|
343 |
+
));
|
344 |
+
|
345 |
+
$ct = $ct_base_call_result['ct'];
|
346 |
+
$ct_result = $ct_base_call_result['ct_result'];
|
347 |
+
|
348 |
+
if ($ct_result->stop_queue == 1 || $ct_result->spam == 1 || $ct_result->allow == 0)
|
349 |
+
wp_die("<h1>Spam Protection by CleanTalk</h1><h2>".$ct_result->comment."</h2>", '', array('response' => 403, "back_link" => true, "text_direction" => 'ltr'));
|
350 |
+
}
|
351 |
+
|
352 |
/**
|
353 |
* Does actions to prepare anti-spam tests.
|
354 |
* @return bool;
|
1879 |
$post_info = json_encode($post_info);
|
1880 |
if ($post_info === false)
|
1881 |
$post_info = '';
|
1882 |
+
|
1883 |
+
$ct_temp = array();
|
1884 |
+
foreach($entry as $key => $value){
|
1885 |
+
if(is_numeric($key))
|
1886 |
+
$ct_temp[$key]=$value;
|
1887 |
+
} unset($key, $value);
|
1888 |
+
|
1889 |
+
$ct_temp_msg_data = ct_get_fields_any($ct_temp);
|
1890 |
|
1891 |
$sender_email = ($ct_temp_msg_data['email'] ? $ct_temp_msg_data['email'] : '');
|
1892 |
$sender_nickname = ($ct_temp_msg_data['nickname'] ? $ct_temp_msg_data['nickname'] : '');
|
1912 |
|
1913 |
if ($ct_result->allow == 0) {
|
1914 |
$is_spam = true;
|
1915 |
+
//wp_die("<h1>Spam Protection by CleanTalk</h1><h2>".$ct_result->comment."</h2>", '', array('response' => 403, "back_link" => true, "text_direction" => 'ltr'));
|
1916 |
}
|
1917 |
|
1918 |
return $is_spam;
|
2054 |
isset($_POST['comment_post_ID']) || // The comment form
|
2055 |
isset($_GET['for']) ||
|
2056 |
(isset($_POST['log']) && isset($_POST['pwd'])) || //WooCommerce Sensei login form fix
|
2057 |
+
(isset($_POST['_wpcf7']) && isset($_POST['_wpcf7_version']) && isset($_POST['_wpcf7_locale'])) || //CF7 fix)
|
2058 |
+
(isset($_POST['hash']) && isset($_POST['device_unique_id']) && isset($_POST['device_name'])) ||//Mobile Assistant Connector fix
|
2059 |
+
isset($_POST['gform_submit'])
|
2060 |
) {
|
2061 |
return null;
|
2062 |
}
|
2194 |
die();
|
2195 |
}
|
2196 |
//WooCommerce checkout ("Place Oreder button")
|
2197 |
+
elseif(isset($_POST['_wp_http_referer'])){
|
2198 |
+
if(strpos($_POST['_wp_http_referer'],'wc-ajax=update_order_review')){
|
2199 |
+
$result = Array(
|
2200 |
+
result => 'failure',
|
2201 |
+
messages => "<ul class=\"woocommerce-error\"><li>".$ct_result->comment."</li></ul>",
|
2202 |
+
refresh => 'false',
|
2203 |
+
reload => 'false'
|
2204 |
+
);
|
2205 |
+
print json_encode($result);
|
2206 |
+
die();
|
2207 |
+
}
|
2208 |
}
|
2209 |
else
|
2210 |
{
|
readme.txt
CHANGED
@@ -1,16 +1,17 @@
|
|
1 |
=== Spam Protection by CleanTalk (no Captcha Anti-Spam) ===
|
2 |
Contributors: znaeff, shagimuratov, serge00
|
3 |
-
Tags: spam, anti-spam, antispam, anti spam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spammers, spammy, woocommerce, wordpress spam,
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.6.1
|
6 |
-
Stable tag: 5.
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
-
Spam protection, anti-spam, all-in-one, premium plug-in. No comments spam &
|
|
|
11 |
|
12 |
== Description ==
|
13 |
-
|
14 |
|
15 |
= Anti-Spam features =
|
16 |
1. Stops spam comments.
|
@@ -20,8 +21,12 @@ Anti-Spam for WordPress. No CAPTCHA, no questions, no animal counting, no puzzle
|
|
20 |
1. Stops spam bookings.
|
21 |
1. Stops spam subscriptions.
|
22 |
1. Stops spam in widgets.
|
|
|
23 |
1. Checks the existing comments for spam.
|
24 |
|
|
|
|
|
|
|
25 |
= Public reviews =
|
26 |
>With CleanTalk installed you can rest assured that you will no longer have to fuss with annoying spam. You can now focus your time on developing and improving your web site, your blog content, and you business without being distracted by these useless comments.
|
27 |
> *Dr. Erica Goodstone. <a href="https://www.poweraffiliateclub.com/clear-your-blog-of-spam-comments/" target="_blank">www.poweraffiliateclub.com</a>*
|
@@ -32,9 +37,6 @@ Anti-Spam for WordPress. No CAPTCHA, no questions, no animal counting, no puzzle
|
|
32 |
>I know you have heard of a number of anti-spam plugins. But you must know, the cloud-based ones are the best regarding detection rate. They compare all the content in forms with their own algorithm to find out the legibility.
|
33 |
>*<a href="https://www.techwibe.com/cleantalk-wordpress-plugin-review/" target="_blank">www.techwibe.com</a>*
|
34 |
|
35 |
-
= Free trial then $8 per year =
|
36 |
-
CleanTalk is a free plugin which work with the premium Cloud Anti-Spam service cleantalk.org. This plugin as a service https://en.wikipedia.org/wiki/Software_as_a_service.
|
37 |
-
|
38 |
= Anti-Spam protection for comments =
|
39 |
Supports native WordPress, JetPack comments and any other comment plugins. The plugin moves spam comments to SPAM folder or you can set the option to ban spam comments silently. You can also enable the option in the plugin settings to auto-delete comments from SPAM folder.
|
40 |
|
@@ -63,7 +65,7 @@ Protects everything about bbPress: logins, registrations, forums, topics and rep
|
|
63 |
* Any submission to the site (checkbox 'Check all POST data')
|
64 |
|
65 |
= Compatible with WordPress cache plugins =
|
66 |
-
* W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache and any other cache plugins.
|
67 |
|
68 |
= Check existing comments for spam. Bulk comments removal =
|
69 |
With the help of anti-spam by CleanTalk you can inspect through existing comments to find and quickly delete spam comments at once. To use this function, go to WP Console —> Comments —> Find spam comments.
|
@@ -472,12 +474,22 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
472 |
|
473 |
== Screenshots ==
|
474 |
1. AntiSpam settings.
|
475 |
-
1. AntiSpam
|
476 |
1. Use AntiSpam analytics tool for each website in service Dashboard to have information about spam/legitimate statistics.
|
477 |
1. Use AntiSpam log to control anti-spam plugin.
|
478 |
1. CleanTalk works faster than most of other anti-spam plugins.
|
|
|
479 |
|
480 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
= 5.47 September 5 2016 =
|
482 |
* WooCommerce: direct integration for checkout form.
|
483 |
* WooCommerce Sensei: login form fix.
|
@@ -1131,6 +1143,16 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
|
|
1131 |
* First version
|
1132 |
|
1133 |
== Upgrade Notice ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1134 |
= 5.47 September 5 2016 =
|
1135 |
* WooCommerce: direct integration for checkout form.
|
1136 |
* WooCommerce Sensei: login form fix.
|
1 |
=== Spam Protection by CleanTalk (no Captcha Anti-Spam) ===
|
2 |
Contributors: znaeff, shagimuratov, serge00
|
3 |
+
Tags: spam, anti-spam, antispam, anti spam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spammers, spammy, woocommerce, wordpress spam, subscription, gravity spam, jetpack, bots, contact form 7, contact form, registrations, ninja, Fast Secure Contact, Gravity forms, formidable, mailchimp, s2member, protection, protect, email, akismet, plugin, contact, recaptcha, google captcha, google recaptcha, math, security, login, blacklist, prevent spam comments, wordpress, User Frontend, bulk delete, bulk remove, widget, review, firewall, cleantalk, mailpoet, profile builder, comment spam, registration spam, spam comments, comment moderation, spam bots, block spam, signup spam, spam blocker, spam filter, user registration spam,pingback,trackback, anti-spam plugin, varnish, amp, spam free, userpro,honeypot,spamshield
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 4.6.1
|
6 |
+
Stable tag: 5.48
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
+
Spam protection, anti-spam, all-in-one, premium plug-in. No comments spam & users spam, no contact form & WooCommerce spam. Forget spam.
|
11 |
+
|
12 |
|
13 |
== Description ==
|
14 |
+
No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bots. Universal Anti-Spam plugin. Formerly "Anti-Spam by CleanTalk".
|
15 |
|
16 |
= Anti-Spam features =
|
17 |
1. Stops spam comments.
|
21 |
1. Stops spam bookings.
|
22 |
1. Stops spam subscriptions.
|
23 |
1. Stops spam in widgets.
|
24 |
+
1. Stops spam in WooCommerce.
|
25 |
1. Checks the existing comments for spam.
|
26 |
|
27 |
+
= Free trial then $8 per year =
|
28 |
+
CleanTalk is a free plugin which work with the premium Cloud Anti-Spam service cleantalk.org. This plugin as a service https://en.wikipedia.org/wiki/Software_as_a_service.
|
29 |
+
|
30 |
= Public reviews =
|
31 |
>With CleanTalk installed you can rest assured that you will no longer have to fuss with annoying spam. You can now focus your time on developing and improving your web site, your blog content, and you business without being distracted by these useless comments.
|
32 |
> *Dr. Erica Goodstone. <a href="https://www.poweraffiliateclub.com/clear-your-blog-of-spam-comments/" target="_blank">www.poweraffiliateclub.com</a>*
|
37 |
>I know you have heard of a number of anti-spam plugins. But you must know, the cloud-based ones are the best regarding detection rate. They compare all the content in forms with their own algorithm to find out the legibility.
|
38 |
>*<a href="https://www.techwibe.com/cleantalk-wordpress-plugin-review/" target="_blank">www.techwibe.com</a>*
|
39 |
|
|
|
|
|
|
|
40 |
= Anti-Spam protection for comments =
|
41 |
Supports native WordPress, JetPack comments and any other comment plugins. The plugin moves spam comments to SPAM folder or you can set the option to ban spam comments silently. You can also enable the option in the plugin settings to auto-delete comments from SPAM folder.
|
42 |
|
65 |
* Any submission to the site (checkbox 'Check all POST data')
|
66 |
|
67 |
= Compatible with WordPress cache plugins =
|
68 |
+
* W3 Total Cache, Quick Cache, WP Fastest Cache, Hyper Cache, WP Super cache, WP-Rocket and any other cache plugins.
|
69 |
|
70 |
= Check existing comments for spam. Bulk comments removal =
|
71 |
With the help of anti-spam by CleanTalk you can inspect through existing comments to find and quickly delete spam comments at once. To use this function, go to WP Console —> Comments —> Find spam comments.
|
474 |
|
475 |
== Screenshots ==
|
476 |
1. AntiSpam settings.
|
477 |
+
1. AntiSpam plugin rejected a spam bot at the CAPTCHA less registration form. The plugin provides explanation to visitor and websites about each rejected comment/registration or contact message.
|
478 |
1. Use AntiSpam analytics tool for each website in service Dashboard to have information about spam/legitimate statistics.
|
479 |
1. Use AntiSpam log to control anti-spam plugin.
|
480 |
1. CleanTalk works faster than most of other anti-spam plugins.
|
481 |
+
1. The Dashboard with a map of most spam active countries per your account.
|
482 |
|
483 |
== Changelog ==
|
484 |
+
= 5.48 September 15 2016 =
|
485 |
+
* buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
|
486 |
+
* buddyPress: Added option in settings for private messages check.
|
487 |
+
* WooCommerce Wishlist: Added check for wishlists.
|
488 |
+
* Fixed issue with "check all post data" option.
|
489 |
+
* Improved filtering for Gravity Forms
|
490 |
+
* Mobile Assistant Connector fix
|
491 |
+
* Minor fixes.
|
492 |
+
|
493 |
= 5.47 September 5 2016 =
|
494 |
* WooCommerce: direct integration for checkout form.
|
495 |
* WooCommerce Sensei: login form fix.
|
1143 |
* First version
|
1144 |
|
1145 |
== Upgrade Notice ==
|
1146 |
+
== Changelog ==
|
1147 |
+
= 5.48 September 15 2016 =
|
1148 |
+
* buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
|
1149 |
+
* buddyPress: Added option in settings for private messages check.
|
1150 |
+
* WooCommerce Wishlist: Added check for wishlists.
|
1151 |
+
* Fixed issue with "check all post data" option.
|
1152 |
+
* Improved filtering for Gravity Forms
|
1153 |
+
* Mobile Assistant Connector fix
|
1154 |
+
* Minor fixes.
|
1155 |
+
|
1156 |
= 5.47 September 5 2016 =
|
1157 |
* WooCommerce: direct integration for checkout form.
|
1158 |
* WooCommerce Sensei: login form fix.
|
screenshot-2.png
CHANGED
Binary file
|
screenshot-6.png
ADDED
Binary file
|