Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.35

Version Description

2016-01-14 = * Added support for IP licensing * Some anti-spam protection improvements * Small backend interface fixes

Download this release

Release Info

Developer shagimuratov
Plugin Icon 128x128 Spam protection, AntiSpam, FireWall by CleanTalk
Version 5.35
Comparing to
See all releases

Code changes from version 5.34.1 to 5.35

Files changed (4) hide show
  1. cleantalk.php +18 -21
  2. inc/cleantalk-admin.php +58 -22
  3. inc/cleantalk-common.php +1 -1
  4. readme.txt +12 -2
cleantalk.php CHANGED
@@ -3,11 +3,11 @@
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Max power, all-in-one, captcha less, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms.
6
- Version: 5.34.1
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
- $cleantalk_plugin_version='5.34.1';
11
  $cleantalk_executed=false;
12
 
13
  if(defined('CLEANTALK_AJAX_USE_BUFFER'))
@@ -409,12 +409,6 @@ add_action( 'right_now_content_table_end', 'my_add_counts_to_dashboard' );
409
  function cleantalk_update_sfw()
410
  {
411
  global $wpdb;
412
- $wpdb->query("drop table if exists `".$wpdb->base_prefix."cleantalk_sfw`;");
413
- $wpdb->query("CREATE TABLE IF NOT EXISTS `".$wpdb->base_prefix."cleantalk_sfw` (
414
- `network` int(11) unsigned NOT NULL,
415
- `mask` int(11) unsigned NOT NULL,
416
- INDEX ( `network` , `mask` )
417
- ) ENGINE = MYISAM ;");
418
 
419
  if(!function_exists('sendRawRequest'))
420
  {
@@ -438,26 +432,29 @@ INDEX ( `network` , `mask` )
438
 
439
  $result=sendRawRequest('https://api.cleantalk.org/2.1', $data);
440
  $result=json_decode($result, true);
441
- if(!isset($result['error_no']))
442
  {
 
 
 
 
 
 
443
  $result=$result['data'];
444
  $query="INSERT INTO `".$wpdb->base_prefix."cleantalk_sfw` VALUES ";
445
- if(sizeof($result)>10)
 
446
  {
447
- //$wpdb->query("TRUNCATE TABLE `".$wpdb->base_prefix."cleantalk_sfw`;");
448
- for($i=0;$i<sizeof($result);$i++)
449
  {
450
- if($i==sizeof($result)-1)
451
- {
452
- $query.="(".$result[$i][0].",".$result[$i][1].");";
453
- }
454
- else
455
- {
456
- $query.="(".$result[$i][0].",".$result[$i][1]."), ";
457
- }
458
  }
459
- $wpdb->query($query);
460
  }
 
461
  }
462
  }
463
  }
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: http://cleantalk.org
5
  Description: Max power, all-in-one, captcha less, premium anti-spam plugin. No comment spam, no registration spam, no contact spam, protects any WordPress forms.
6
+ Version: 5.35
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
+ $cleantalk_plugin_version='5.35';
11
  $cleantalk_executed=false;
12
 
13
  if(defined('CLEANTALK_AJAX_USE_BUFFER'))
409
  function cleantalk_update_sfw()
410
  {
411
  global $wpdb;
 
 
 
 
 
 
412
 
413
  if(!function_exists('sendRawRequest'))
414
  {
432
 
433
  $result=sendRawRequest('https://api.cleantalk.org/2.1', $data);
434
  $result=json_decode($result, true);
435
+ if(isset($result['data']))
436
  {
437
+ $wpdb->query("drop table if exists `".$wpdb->base_prefix."cleantalk_sfw`;");
438
+ $wpdb->query("CREATE TABLE IF NOT EXISTS `".$wpdb->base_prefix."cleantalk_sfw` (
439
+ `network` int(11) unsigned NOT NULL,
440
+ `mask` int(11) unsigned NOT NULL,
441
+ INDEX ( `network` , `mask` )
442
+ ) ENGINE = MYISAM ;");
443
  $result=$result['data'];
444
  $query="INSERT INTO `".$wpdb->base_prefix."cleantalk_sfw` VALUES ";
445
+ //$wpdb->query("TRUNCATE TABLE `".$wpdb->base_prefix."cleantalk_sfw`;");
446
+ for($i=0;$i<sizeof($result);$i++)
447
  {
448
+ if($i==sizeof($result)-1)
 
449
  {
450
+ $query.="(".$result[$i][0].",".$result[$i][1].");";
451
+ }
452
+ else
453
+ {
454
+ $query.="(".$result[$i][0].",".$result[$i][1]."), ";
 
 
 
455
  }
 
456
  }
457
+ $wpdb->query($query);
458
  }
459
  }
460
  }
inc/cleantalk-admin.php CHANGED
@@ -20,7 +20,7 @@ function cleantalk_custom_glance_items( )
20
  if($blocked>0)
21
  {
22
  $blocked = number_format($blocked, 0, ',', ' ');
23
- print "<div style='height:24px;width:100%;display:table-cell; vertical-align:middle;'><img src='" . plugin_dir_url(__FILE__) . "images/logo_color.png' style='margin-right:1em;vertical-align:middle;'/><span><a href='options-general.php?page=cleantalk'>CleanTalk</a> ";
24
  printf(
25
  /* translators: %s: Number of spam messages */
26
  __( 'has blocked %s spam', 'cleantalk' ),
@@ -35,6 +35,9 @@ if(isset($_GET['close_notice']))
35
  global $ct_data, $pagenow;
36
  $ct_data=ct_get_data();
37
  $ct_data['next_notice_show']=time()+86400;
 
 
 
38
  update_option('cleantalk_data', $ct_data);
39
  $_SERVER["QUERY_STRING"]=str_replace("close_notice=1","",$_SERVER["QUERY_STRING"]);
40
  header("Location: $pagenow?".$_SERVER["QUERY_STRING"]);
@@ -277,6 +280,17 @@ function ct_admin_init()
277
  }
278
  }
279
 
 
 
 
 
 
 
 
 
 
 
 
280
  if (isset($result['user_token']))
281
  {
282
  $ct_data['user_token'] = $result['user_token'];
@@ -468,6 +482,11 @@ function ct_section_settings_state() {
468
 
469
  $ct_options = ct_get_options();
470
  $ct_data = ct_get_data();
 
 
 
 
 
471
 
472
  $img="yes.png";
473
  $img_no="no.png";
@@ -487,8 +506,15 @@ function ct_section_settings_state() {
487
  $color="black";
488
  $test_failed=true;
489
  }
 
 
 
 
 
 
 
490
  print "<div style='color:$color'>";
491
- if($ct_options['registrations_test']==1)
492
  {
493
  print '<img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Registration forms', 'cleantalk');
494
  }
@@ -497,7 +523,7 @@ function ct_section_settings_state() {
497
  print '<img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Registration forms', 'cleantalk');
498
  }
499
 
500
- if($ct_options['comments_test']==1)
501
  {
502
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Comments form', 'cleantalk');
503
  }
@@ -506,7 +532,7 @@ function ct_section_settings_state() {
506
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Comments form', 'cleantalk');
507
  }
508
 
509
- if($ct_options['contact_forms_test']==1)
510
  {
511
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Contact forms', 'cleantalk');
512
  }
@@ -515,7 +541,7 @@ function ct_section_settings_state() {
515
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Contact forms', 'cleantalk');
516
  }
517
 
518
- if($ct_options['general_contact_forms_test']==1)
519
  {
520
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Custom contact forms', 'cleantalk');
521
  }
@@ -523,9 +549,13 @@ function ct_section_settings_state() {
523
  {
524
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Custom contact forms', 'cleantalk');
525
  }
 
 
 
 
526
 
527
  print "</div>";
528
- if($test_failed)
529
  {
530
  //print "Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>";
531
  print __("Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>", 'cleantalk');
@@ -1033,6 +1063,11 @@ function cleantalk_admin_notice_message(){
1033
 
1034
  $ct_options = ct_get_options();
1035
  $ct_data = ct_get_data();
 
 
 
 
 
1036
 
1037
  $user_token = '';
1038
  if (isset($ct_data['user_token']) && $ct_data['user_token'] != '') {
@@ -1055,7 +1090,8 @@ function cleantalk_admin_notice_message(){
1055
  echo " <a target='__blank' style='margin-left: 10px' href='https://cleantalk.org/register?platform=wordpress&email=".urlencode(get_option('admin_email'))."&website=".urlencode(parse_url(get_option('siteurl'),PHP_URL_HOST))."'>".__('Get the Access key', 'cleantalk').'</a></h3></div>';
1056
  }
1057
 
1058
- if ($show_notice && ct_valid_key($ct_options['apikey']) === false && $value==1 && (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin())) {
 
1059
  echo '<div class="error"><h3>' . sprintf(__("Please enter Access Key in %s settings to enable anti spam protection!", 'cleantalk'), "<a href=\"options-general.php?page=cleantalk\">CleanTalk plugin</a>") . '</h3></div>';
1060
  $show_notice = false;
1061
  }
@@ -1068,29 +1104,29 @@ function cleantalk_admin_notice_message(){
1068
  {
1069
  $show_ct_notice_trial = 0;
1070
  }
1071
-
1072
- if ($show_notice && $show_ct_notice_trial ==1 && $value==1 && (is_network_admin() || is_admin())) {
1073
- echo '<div class="error"><h3>' . sprintf(__("%s trial period ends, please upgrade to %s!", 'cleantalk'), "<a href=\"options-general.php?page=cleantalk\">$ct_plugin_name</a>", "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial$user_token\" target=\"_blank\"><b>premium version</b></a>") . '</h3></div>';
1074
- $show_notice = false;
1075
- }
1076
 
1077
- if(isset($ct_data['next_notice_show']))
 
1078
  {
1079
- $next_notice_show=$ct_data['next_notice_show'];
1080
  }
1081
  else
1082
  {
1083
- $next_notice_show=0;
 
 
 
 
 
1084
  }
1085
 
1086
- $link=@$_SERVER["QUERY_STRING"];
1087
- if($link!='')
1088
  {
1089
- $link="?".$link."&close_notice=1";
1090
  }
1091
  else
1092
  {
1093
- $link="?close_notice=1";
1094
  }
1095
 
1096
  if(isset($ct_data['show_ct_notice_renew']))
@@ -1102,13 +1138,13 @@ function cleantalk_admin_notice_message(){
1102
  $show_ct_notice_renew = 0;
1103
  }
1104
 
1105
- if ($show_notice && $show_ct_notice_renew == 1 && $value==1 && (is_network_admin() || is_admin())) {
1106
  $button_html = "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20renew$user_token\" target=\"_blank\">" . '<input type="button" class="button button-primary" value="' . __('RENEW ANTI-SPAM', 'cleantalk') . '" />' . "</a>";
1107
  echo '<div class="updated"><a href="'.$link.'" style="text-decoration:none;float:right;font-size:16px;margin-top:5px;"><b>X</b></a><h3>' . sprintf(__("Please renew your anti-spam license for %s.", 'cleantalk'), "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20renew$user_token\" target=\"_blank\"><b>" . __('next year', 'cleantalk') ."</b></a>") . '<br /><br />' . $button_html . '</h3></div>';
1108
  $show_notice = false;
1109
  }
1110
 
1111
- if ($show_notice && $show_ct_notice_online != '' && $value==1 && (is_network_admin() || is_admin())) {
1112
  if($show_ct_notice_online === 'Y'){
1113
  //echo '<div class="updated"><h3><b>';
1114
  //echo __("Don’t forget to disable CAPTCHA if you have it!", 'cleantalk');
@@ -1116,7 +1152,7 @@ function cleantalk_admin_notice_message(){
1116
  //echo '</b></h3></div>';
1117
  }
1118
 
1119
- if($show_ct_notice_online === 'N' && $value==1 && (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin())){
1120
  echo '<div class="error"><h3><b>';
1121
  echo __("Wrong <a href=\"options-general.php?page=cleantalk\"><b style=\"color: #49C73B;\">Clean</b><b style=\"color: #349ebf;\">Talk</b> access key</a>! Please check it or ask <a target=\"_blank\" href=\"https://cleantalk.org/forum/\">support</a>.", 'cleantalk');
1122
  echo '</b></h3></div>';
20
  if($blocked>0)
21
  {
22
  $blocked = number_format($blocked, 0, ',', ' ');
23
+ print "<div style='height:24px;width:100%;display:table-cell; vertical-align:middle;'><img src='" . plugin_dir_url(__FILE__) . "images/logo_color.png' style='margin-right:1em;vertical-align:middle;'/><span><a href='https://cleantalk.org/my/?user_token=".@$ct_data['user_token']."&utm_source=wp-backend&utm_medium=dashboard_widget' target='_blank'>CleanTalk</a> ";
24
  printf(
25
  /* translators: %s: Number of spam messages */
26
  __( 'has blocked %s spam', 'cleantalk' ),
35
  global $ct_data, $pagenow;
36
  $ct_data=ct_get_data();
37
  $ct_data['next_notice_show']=time()+86400;
38
+ $ct_data['next_account_status_check']=time()+86400;
39
+ $ct_data['show_ct_notice_trial']=0;
40
+ $ct_data['show_ct_notice_renew']=0;
41
  update_option('cleantalk_data', $ct_data);
42
  $_SERVER["QUERY_STRING"]=str_replace("close_notice=1","",$_SERVER["QUERY_STRING"]);
43
  header("Location: $pagenow?".$_SERVER["QUERY_STRING"]);
280
  }
281
  }
282
 
283
+ if (isset($result['moderate_ip']) && $result['moderate_ip'] == 1)
284
+ {
285
+ $ct_data['moderate_ip'] = 1;
286
+ $ct_data['ip_license'] = $result['ip_license'];
287
+ }
288
+ else
289
+ {
290
+ $ct_data['moderate_ip'] = 0;
291
+ $ct_data['ip_license'] = 0;
292
+ }
293
+
294
  if (isset($result['user_token']))
295
  {
296
  $ct_data['user_token'] = $result['user_token'];
482
 
483
  $ct_options = ct_get_options();
484
  $ct_data = ct_get_data();
485
+
486
+ if(!isset($ct_data['moderate_ip']))
487
+ {
488
+ $ct_data['moderate_ip'] = 0;
489
+ }
490
 
491
  $img="yes.png";
492
  $img_no="no.png";
506
  $color="black";
507
  $test_failed=true;
508
  }
509
+ if($ct_data['moderate_ip'] == 1)
510
+ {
511
+ $img="yes.png";
512
+ $img_no="no.png";
513
+ $color="black";
514
+ $test_failed=false;
515
+ }
516
  print "<div style='color:$color'>";
517
+ if($ct_options['registrations_test']==1 || isset($ct_data['moderate_ip']) && $ct_data['moderate_ip'] == 1)
518
  {
519
  print '<img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Registration forms', 'cleantalk');
520
  }
523
  print '<img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Registration forms', 'cleantalk');
524
  }
525
 
526
+ if($ct_options['comments_test']==1 || isset($ct_data['moderate_ip']) && $ct_data['moderate_ip'] == 1)
527
  {
528
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Comments form', 'cleantalk');
529
  }
532
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Comments form', 'cleantalk');
533
  }
534
 
535
+ if($ct_options['contact_forms_test']==1 || isset($ct_data['moderate_ip']) && $ct_data['moderate_ip'] == 1)
536
  {
537
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Contact forms', 'cleantalk');
538
  }
541
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Contact forms', 'cleantalk');
542
  }
543
 
544
+ if($ct_options['general_contact_forms_test']==1 || isset($ct_data['moderate_ip']) && $ct_data['moderate_ip'] == 1)
545
  {
546
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img.'" alt="" height="" /> '.__('Custom contact forms', 'cleantalk');
547
  }
549
  {
550
  print ' &nbsp; <img src="' . plugin_dir_url(__FILE__) . 'images/'.$img_no.'" alt="" height="" /> '.__('Custom contact forms', 'cleantalk');
551
  }
552
+ if($ct_data['moderate_ip'] == 1)
553
+ {
554
+ print "<br /><br />The anti-spam service is paid by your hosting provider. License #".$ct_data['ip_license'].".<br />";
555
+ }
556
 
557
  print "</div>";
558
+ if($test_failed && $ct_data['moderate_ip'] != 1)
559
  {
560
  //print "Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>";
561
  print __("Testing is failed, check settings. Tech support <a target=_blank href='mailto:support@cleantalk.org'>support@cleantalk.org</a>", 'cleantalk');
1063
 
1064
  $ct_options = ct_get_options();
1065
  $ct_data = ct_get_data();
1066
+
1067
+ if(!isset($ct_data['moderate_ip']))
1068
+ {
1069
+ $ct_data['moderate_ip'] = 0;
1070
+ }
1071
 
1072
  $user_token = '';
1073
  if (isset($ct_data['user_token']) && $ct_data['user_token'] != '') {
1090
  echo " <a target='__blank' style='margin-left: 10px' href='https://cleantalk.org/register?platform=wordpress&email=".urlencode(get_option('admin_email'))."&website=".urlencode(parse_url(get_option('siteurl'),PHP_URL_HOST))."'>".__('Get the Access key', 'cleantalk').'</a></h3></div>';
1091
  }
1092
 
1093
+ if ($ct_data['moderate_ip'] == 0 && $show_notice && ct_valid_key($ct_options['apikey']) === false && $value==1 &&
1094
+ (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin()) ) {
1095
  echo '<div class="error"><h3>' . sprintf(__("Please enter Access Key in %s settings to enable anti spam protection!", 'cleantalk'), "<a href=\"options-general.php?page=cleantalk\">CleanTalk plugin</a>") . '</h3></div>';
1096
  $show_notice = false;
1097
  }
1104
  {
1105
  $show_ct_notice_trial = 0;
1106
  }
 
 
 
 
 
1107
 
1108
+ $link=@$_SERVER["QUERY_STRING"];
1109
+ if($link!='')
1110
  {
1111
+ $link="?".$link."&close_notice=1";
1112
  }
1113
  else
1114
  {
1115
+ $link="?close_notice=1";
1116
+ }
1117
+
1118
+ if ($show_notice && $show_ct_notice_trial ==1 && $value==1 && (is_network_admin() || is_admin()) && $ct_data['moderate_ip'] == 0) {
1119
+ echo '<div class="error"><a href="'.$link.'" style="text-decoration:none;float:right;font-size:16px;margin-top:5px;"><b>X</b></a><h3>' . sprintf(__("%s trial period ends, please upgrade to %s!", 'cleantalk'), "<a href=\"options-general.php?page=cleantalk\">$ct_plugin_name</a>", "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial$user_token\" target=\"_blank\"><b>premium version</b></a>") . '</h3></div>';
1120
+ $show_notice = false;
1121
  }
1122
 
1123
+ if(isset($ct_data['next_notice_show']))
 
1124
  {
1125
+ $next_notice_show=$ct_data['next_notice_show'];
1126
  }
1127
  else
1128
  {
1129
+ $next_notice_show=0;
1130
  }
1131
 
1132
  if(isset($ct_data['show_ct_notice_renew']))
1138
  $show_ct_notice_renew = 0;
1139
  }
1140
 
1141
+ if ($show_notice && $show_ct_notice_renew == 1 && $value==1 && (is_network_admin() || is_admin()) && $ct_data['moderate_ip'] != 1) {
1142
  $button_html = "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20renew$user_token\" target=\"_blank\">" . '<input type="button" class="button button-primary" value="' . __('RENEW ANTI-SPAM', 'cleantalk') . '" />' . "</a>";
1143
  echo '<div class="updated"><a href="'.$link.'" style="text-decoration:none;float:right;font-size:16px;margin-top:5px;"><b>X</b></a><h3>' . sprintf(__("Please renew your anti-spam license for %s.", 'cleantalk'), "<a href=\"http://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20renew$user_token\" target=\"_blank\"><b>" . __('next year', 'cleantalk') ."</b></a>") . '<br /><br />' . $button_html . '</h3></div>';
1144
  $show_notice = false;
1145
  }
1146
 
1147
+ if ($show_notice && $show_ct_notice_online != '' && $value==1 && (is_network_admin() || is_admin()) && $ct_data['moderate_ip'] != 1) {
1148
  if($show_ct_notice_online === 'Y'){
1149
  //echo '<div class="updated"><h3><b>';
1150
  //echo __("Don’t forget to disable CAPTCHA if you have it!", 'cleantalk');
1152
  //echo '</b></h3></div>';
1153
  }
1154
 
1155
+ if($show_ct_notice_online === 'N' && $value==1 && (is_network_admin() || (!defined('WP_ALLOW_MULTISITE')||defined('WP_ALLOW_MULTISITE')&&WP_ALLOW_MULTISITE==false) && is_admin()) && $ct_data['moderate_ip'] != 1){
1156
  echo '<div class="error"><h3><b>';
1157
  echo __("Wrong <a href=\"options-general.php?page=cleantalk\"><b style=\"color: #49C73B;\">Clean</b><b style=\"color: #349ebf;\">Talk</b> access key</a>! Please check it or ask <a target=\"_blank\" href=\"https://cleantalk.org/forum/\">support</a>.", 'cleantalk');
1158
  echo '</b></h3></div>';
inc/cleantalk-common.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- $ct_agent_version = 'wordpress-5341';
4
  $ct_plugin_name = 'Anti-spam by CleanTalk';
5
  $ct_checkjs_frm = 'ct_checkjs_frm';
6
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
1
  <?php
2
 
3
+ $ct_agent_version = 'wordpress-535';
4
  $ct_plugin_name = 'Anti-spam by CleanTalk';
5
  $ct_checkjs_frm = 'ct_checkjs_frm';
6
  $ct_checkjs_register_form = 'ct_checkjs_register_form';
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
2
  Contributors: znaeff, shagimuratov, vlad-cleantalk
3
- Tags: anti-spam, antispam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spam, spammers, spammy, woocommerce, wordpress spam, booking, order, 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, cloudflare, widget, review, auth forms, firewall, ddos, 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, spam trackbacks
4
  Requires at least: 3.0
5
  Tested up to: 4.4.1
6
- Stable tag: 5.34.1
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -428,6 +428,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
428
  1. CleanTalk works faster than most of the other anti-spam plugins.
429
 
430
  == Changelog ==
 
 
 
 
 
431
  = 5.34.1 2015-12-17 =
432
  * Fixed trackback antispam protection: improved checking mechanism
433
  * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
@@ -954,6 +959,11 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
954
  * First version
955
 
956
  == Upgrade Notice ==
 
 
 
 
 
957
  = 5.34.1 2015-12-17 =
958
  * Fixed trackback antispam protection: improved checking mechanism
959
  * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
1
  === Anti-Spam by CleanTalk - No Captcha, no comments & registrations spam ===
2
  Contributors: znaeff, shagimuratov, vlad-cleantalk
3
+ Tags: anti-spam, antispam, bbpress, buddypress, captcha, capcha, captha, catcha, cf7 spam, comments, contact form spam, signup, spam, spammers, spammy, woocommerce, wordpress spam, booking, order, 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, cloudflare, widget, review, auth forms, firewall, ddos, 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, spam trackbacks, anti-spam plugin
4
  Requires at least: 3.0
5
  Tested up to: 4.4.1
6
+ Stable tag: 5.35
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
428
  1. CleanTalk works faster than most of the other anti-spam plugins.
429
 
430
  == Changelog ==
431
+ = 5.35 2016-01-14 =
432
+ * Added support for IP licensing
433
+ * Some anti-spam protection improvements
434
+ * Small backend interface fixes
435
+
436
  = 5.34.1 2015-12-17 =
437
  * Fixed trackback antispam protection: improved checking mechanism
438
  * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
959
  * First version
960
 
961
  == Upgrade Notice ==
962
+ = 5.35 2016-01-14 =
963
+ * Added support for IP licensing
964
+ * Some anti-spam protection improvements
965
+ * Small backend interface fixes
966
+
967
  = 5.34.1 2015-12-17 =
968
  * Fixed trackback antispam protection: improved checking mechanism
969
  * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm