Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.46

Version Description

August 17 2016 = * Fixed issue with admin bar links in WP Multi Network mode. * Added "All time counter" and "Daily counter" into admin bar. * Added settings to disable counters in admin bar. * New style for "Get access key manually" button.

Download this release

Release Info

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

Code changes from version 5.45.2 to 5.46

cleantalk.php CHANGED
@@ -2,13 +2,13 @@
2
  /*
3
  Plugin Name: Spam Protection 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. Formerly Anti-Spam by CleanTalk.
6
- Version: 5.45.2
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
- $cleantalk_plugin_version='5.45.2';
11
- $ct_agent_version = 'wordpress-5452';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
@@ -348,20 +348,36 @@ function ct_add_event($event_type)
348
  }
349
 
350
  $ct_data = ct_get_data();
351
- $current_date=date('d M');
352
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  //User counter
354
  if(!isset($ct_data['user_counter'])){
355
  $ct_data['user_counter']['accepted']=0;
356
  $ct_data['user_counter']['blocked']=0;
357
- $ct_data['user_counter']['since']=$current_date;
358
  }
359
 
360
  //Add 1 to counters
361
  if($event_type=='yes'){
362
- @$ct_data['user_counter']['accepted']++;
 
 
363
  }
364
  if($event_type=='no'){
 
 
365
  @$ct_data['user_counter']['blocked']++;
366
  }
367
 
2
  /*
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.46
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: http://cleantalk.org
9
  */
10
+ $cleantalk_plugin_version='5.46';
11
+ $ct_agent_version = 'wordpress-546';
12
  $cleantalk_executed=false;
13
  $ct_sfw_updated = false;
14
 
348
  }
349
 
350
  $ct_data = ct_get_data();
351
+ $current_hour=intval(date('G'));
352
 
353
+ //Daily counter
354
+ if(!isset($ct_data['array_accepted'])){
355
+ $ct_data['array_accepted']=Array();
356
+ $ct_data['array_blocked']=Array();
357
+ $ct_data['current_hour']=0;
358
+
359
+ }
360
+ //All time counter
361
+ if(!isset($ct_data['all_time_counter'])){
362
+ $ct_data['all_time_counter']['accepted']=0;
363
+ $ct_data['all_time_counter']['blocked']=0;
364
+ }
365
  //User counter
366
  if(!isset($ct_data['user_counter'])){
367
  $ct_data['user_counter']['accepted']=0;
368
  $ct_data['user_counter']['blocked']=0;
369
+ $ct_data['user_counter']['since']=date('d M');
370
  }
371
 
372
  //Add 1 to counters
373
  if($event_type=='yes'){
374
+ $ct_data['array_accepted'][$current_hour]++;
375
+ $ct_data['all_time_counter']['accepted']++;
376
+ $ct_data['user_counter']['accepted']++;
377
  }
378
  if($event_type=='no'){
379
+ $ct_data['array_blocked'][$current_hour]++;
380
+ @$ct_data['all_time_counter']['blocked']++;
381
  @$ct_data['user_counter']['blocked']++;
382
  }
383
 
inc/cleantalk-admin.js CHANGED
@@ -64,4 +64,16 @@ jQuery(document).ready(function(){
64
  }
65
 
66
  });
 
 
 
 
 
 
 
 
 
 
 
 
67
  });
64
  }
65
 
66
  });
67
+
68
+ //For counters settings.
69
+ jQuery('#ct_advsettings_hide').on('click', '#cleantalk_show_adminbar1', function(){
70
+ jQuery('.ct-depends-of-show-adminbar').each(function(){
71
+ jQuery(this).removeAttr('disabled');
72
+ });
73
+ });
74
+ jQuery('#ct_advsettings_hide').on('click', '#cleantalk_show_adminbar0', function(){
75
+ jQuery('.ct-depends-of-show-adminbar').each(function(){
76
+ jQuery(this).attr('disabled', 'disabled');
77
+ });
78
+ });
79
  });
inc/cleantalk-admin.php CHANGED
@@ -307,7 +307,11 @@ 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_general_postdata_test', __('Check all post data', 'cleantalk'), 'ct_input_general_postdata_test', 'cleantalk', 'cleantalk_settings_anti_spam');
 
310
  add_settings_field('cleantalk_show_adminbar', __('Show statistics in admin bar', 'cleantalk'), 'ct_input_show_adminbar', 'cleantalk', 'cleantalk_settings_anti_spam');
 
 
 
311
  add_settings_field('cleantalk_use_ajax', __('Use AJAX for JavaScript check', 'cleantalk'), 'ct_input_use_ajax', 'cleantalk', 'cleantalk_settings_anti_spam');
312
  add_settings_field('cleantalk_check_external', __('Protect external forms', 'cleantalk'), 'ct_input_check_external', 'cleantalk', 'cleantalk_settings_anti_spam');
313
  add_settings_field('cleantalk_check_comments_number', __("Don't check comments", 'cleantalk'), 'ct_input_check_comments_number', 'cleantalk', 'cleantalk_settings_anti_spam');
@@ -385,6 +389,36 @@ function ct_section_settings_anti_spam() {
385
 
386
  add_action( 'admin_bar_menu', 'ct_add_admin_menu', 999 );
387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  function ct_add_admin_menu( $wp_admin_bar ) {
389
  // add a parent item
390
  global $ct_options, $ct_data;
@@ -402,6 +436,21 @@ function ct_add_admin_menu( $wp_admin_bar ) {
402
  if (current_user_can('activate_plugins')&&$value==1 && ct_valid_key($ct_options['apikey']) !== false) {
403
  $ct_data=ct_get_data();
404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  //Reset or create counter
406
  if(!isset($ct_data['user_counter']) || (isset($_GET['ct_reset_user_counter']) && $_GET['ct_reset_user_counter'] == 1)){
407
  $ct_data['user_counter']['accepted']=0;
@@ -410,13 +459,27 @@ function ct_add_admin_menu( $wp_admin_bar ) {
410
  update_option('cleantalk_data', $ct_data);
411
  }
412
 
 
413
  $user_counter=Array('accepted'=>$ct_data['user_counter']['accepted'], 'blocked'=>$ct_data['user_counter']['blocked'], 'all'=>$ct_data['user_counter']['accepted'] + $ct_data['user_counter']['blocked'], 'since'=>$ct_data['user_counter']['since']);
 
 
 
414
 
415
- $user_counter_str='<span style="color: white;">' .$user_counter['all']. '</span> / <span style="color: green;">' .$user_counter['accepted']. '</span> / <span style="color: red;">' .$user_counter['blocked']. '</span>';
 
 
 
 
 
 
 
 
 
 
416
 
417
  $args = array(
418
  'id' => 'ct_parent_node',
419
- 'title' => '<img src="' . plugin_dir_url(__FILE__) . 'images/logo_small1.png" alt="" height="" style="margin-top:9px; float: left;" /><div style="margin: auto 7px;" class="ab-item alignright"><div class="ab-label" id="ct_stats"><span style="color: white;" title="'.__('All / Allowed / Blocked submissions. The number of submissions is being counted since ', 'cleantalk').' '.$user_counter['since'].'">'.$user_counter_str.'</span></div></div>' //You could change widget string here by simply deleting variables
420
  );
421
  $wp_admin_bar->add_node( $args );
422
 
@@ -429,26 +492,39 @@ function ct_add_admin_menu( $wp_admin_bar ) {
429
  $wp_admin_bar->add_node( $args );
430
 
431
  // add another child item to our parent item (not to our first group)
432
- $args = array(
433
- 'id' => 'ct_settings_link',
434
- 'title' => '<a href="options-general.php?page=cleantalk">'.__('Settings', 'cleantalk').'</a>',
435
- 'parent' => 'ct_parent_node'
436
- );
 
 
 
 
 
 
 
 
437
  $wp_admin_bar->add_node( $args );
438
 
439
- // add a child item to our parent item. Bulk checks.
440
- $args = array(
441
- 'id' => 'ct_settings_bulk_comments',
442
- 'title' => '<hr style="margin-top: 7px;" /><a href="edit-comments.php?page=ct_check_spam" title="Bulk spam comments removal tool.">'.__('Check comments for spam', 'cleantalk').'</a>',
443
- 'parent' => 'ct_parent_node'
444
- );
 
 
445
  $wp_admin_bar->add_node( $args );
446
- // add a child item to our parent item. Bulk checks.
447
- $args = array(
448
- 'id' => 'ct_settings_bulk_users',
449
- 'title' => '<a href="users.php?page=ct_check_users" title="Bulk spam users removal tool.">'.__('Check users for spam', 'cleantalk').'</a>',
450
- 'parent' => 'ct_parent_node'
451
- );
 
 
 
452
  $wp_admin_bar->add_node( $args );
453
 
454
  // add a child item to our parent item. Counter reset.
@@ -615,9 +691,9 @@ function ct_input_apikey() {
615
  echo "<script>var cleantalk_good_key=false;</script>";
616
  if (function_exists('curl_init') && function_exists('json_decode')) {
617
  echo '<br /><br />';
618
- echo "<a target='__blank' style='' href='https://cleantalk.org/register?platform=wordpress&email=".urlencode(ct_get_admin_email())."&website=".urlencode(parse_url(get_option('siteurl'),PHP_URL_HOST))."'>".__('Click here to get access key manually', 'cleantalk')."</a>";
619
  echo "&nbsp;" . __("or") . "&nbsp;";
620
- echo '<input name="get_apikey_auto" type="submit" class="cleantalk_manual_link" value="' . __('Get access key automatically', 'cleantalk') . '" />';
621
  echo "<br />";
622
  echo "<br />";
623
 
@@ -1041,6 +1117,34 @@ function ct_settings_page() {
1041
  border-radius: 5px;
1042
  font-size: 12pt;
1043
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1044
  .cleantalk_manual_link
1045
  {
1046
  background: #2ea2cc;
@@ -1069,13 +1173,13 @@ function ct_settings_page() {
1069
  }
1070
  .cleantalk_manual_link:hover
1071
  {
1072
- color:white;
1073
  }
1074
 
1075
  </style>
1076
 
1077
  <div>
1078
- <?php
1079
  if(is_network_admin())
1080
  {
1081
  print '<form method="post">';
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_general_postdata_test', __('Check all post data', 'cleantalk'), 'ct_input_general_postdata_test', 'cleantalk', 'cleantalk_settings_anti_spam');
310
+
311
  add_settings_field('cleantalk_show_adminbar', __('Show statistics in admin bar', 'cleantalk'), 'ct_input_show_adminbar', 'cleantalk', 'cleantalk_settings_anti_spam');
312
+ add_settings_field('cleantalk_all_time_counter', "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".__('Show All-time counter', 'cleantalk'), 'ct_input_all_time_counter', 'cleantalk', 'cleantalk_settings_anti_spam');
313
+ add_settings_field('cleantalk_daily_conter', "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".__('Show 24 hours counter', 'cleantalk'), 'ct_input_daily_counter', 'cleantalk', 'cleantalk_settings_anti_spam');
314
+
315
  add_settings_field('cleantalk_use_ajax', __('Use AJAX for JavaScript check', 'cleantalk'), 'ct_input_use_ajax', 'cleantalk', 'cleantalk_settings_anti_spam');
316
  add_settings_field('cleantalk_check_external', __('Protect external forms', 'cleantalk'), 'ct_input_check_external', 'cleantalk', 'cleantalk_settings_anti_spam');
317
  add_settings_field('cleantalk_check_comments_number', __("Don't check comments", 'cleantalk'), 'ct_input_check_comments_number', 'cleantalk', 'cleantalk_settings_anti_spam');
389
 
390
  add_action( 'admin_bar_menu', 'ct_add_admin_menu', 999 );
391
 
392
+ function ct_input_all_time_counter() {
393
+ global $ct_options, $ct_data;
394
+
395
+ $ct_options = ct_get_options();
396
+ $ct_data = ct_get_data();
397
+
398
+ $value=(isset($ct_options['all_time_counter']) ? @intval($ct_options['all_time_counter']) : 0);
399
+ $value2=(isset($ct_options['show_adminbar']) ? @intval($ct_options['show_adminbar']) : 0);
400
+
401
+ echo "<input type='radio' class='ct-depends-of-show-adminbar' id='cleantalk_all_time_counter1' name='cleantalk_settings[all_time_counter]' value='1' ".($value=='1'?'checked':'').($value2=='0'?' disabled':'')." /><label for='cleantalk_all_time_counter1'> ".__('Yes')."</label>";
402
+ echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
403
+ echo "<input type='radio' class='ct-depends-of-show-adminbar' id='cleantalk_all_time_counter0' name='cleantalk_settings[all_time_counter]' value='0' ".($value=='0'?'checked':'').($value2=='0'?' disabled':'')." /><label for='cleantalk_all_time_counter0'> ".__('No')."</label>";
404
+ @admin_addDescriptionsFields(sprintf(__('Display all-time requests counter in the admin bar. Counter dispalays number of requests since plugin installation.', 'cleantalk'), $ct_options['all_time_counter']));
405
+ }
406
+
407
+ function ct_input_daily_counter() {
408
+ global $ct_options, $ct_data;
409
+
410
+ $ct_options = ct_get_options();
411
+ $ct_data = ct_get_data();
412
+
413
+ $value=(isset($ct_options['daily_counter']) ? @intval($ct_options['daily_counter']) : 0);
414
+ $value2=(isset($ct_options['show_adminbar']) ? @intval($ct_options['show_adminbar']) : 0);
415
+
416
+ echo "<input type='radio' class='ct-depends-of-show-adminbar' id='cleantalk_all_time_counter1' name='cleantalk_settings[daily_counter]' value='1' ".($value=='1'?'checked':'').($value2=='0'?' disabled':'')." /><label for='cleantalk_all_time_counter1'> ".__('Yes')."</label>";
417
+ echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
418
+ echo "<input type='radio' class='ct-depends-of-show-adminbar' id='cleantalk_all_time_counter0' name='cleantalk_settings[daily_counter]' value='0' ".($value=='0'?'checked':'').($value2=='0'?' disabled':'')." /><label for='cleantalk_all_time_counter0'> ".__('No')."</label>";
419
+ @admin_addDescriptionsFields(sprintf(__('Display daily requests counter in the admin bar. Counter dispalays number of requests of the past 24 hours.', 'cleantalk'), $ct_options['all_time_counter']));
420
+ }
421
+
422
  function ct_add_admin_menu( $wp_admin_bar ) {
423
  // add a parent item
424
  global $ct_options, $ct_data;
436
  if (current_user_can('activate_plugins')&&$value==1 && ct_valid_key($ct_options['apikey']) !== false) {
437
  $ct_data=ct_get_data();
438
 
439
+ //Create daily counter
440
+ if(!isset($ct_data['array_accepted'])){
441
+ $ct_data['array_accepted']=Array();
442
+ $ct_data['array_blocked']=Array();
443
+ $ct_data['current_hour']=0;
444
+ update_option('cleantalk_data', $ct_data);
445
+ }
446
+
447
+ //Create all time counter
448
+ if(!isset($ct_data['all_time_counter'])){
449
+ $ct_data['all_time_counter']['accepted']=0;
450
+ $ct_data['all_time_counter']['blocked']=0;
451
+ update_option('cleantalk_data', $ct_data);
452
+ }
453
+
454
  //Reset or create counter
455
  if(!isset($ct_data['user_counter']) || (isset($_GET['ct_reset_user_counter']) && $_GET['ct_reset_user_counter'] == 1)){
456
  $ct_data['user_counter']['accepted']=0;
459
  update_option('cleantalk_data', $ct_data);
460
  }
461
 
462
+ //Compile user's counter string
463
  $user_counter=Array('accepted'=>$ct_data['user_counter']['accepted'], 'blocked'=>$ct_data['user_counter']['blocked'], 'all'=>$ct_data['user_counter']['accepted'] + $ct_data['user_counter']['blocked'], 'since'=>$ct_data['user_counter']['since']);
464
+ $user_counter_str='<span style="color: white;">User: ' .$user_counter['all']. '</span> / <span style="color: green;">' .$user_counter['accepted']. '</span> / <span style="color: red;">' .$user_counter['blocked']. '</span>';
465
+ $all_time_counter_str='';
466
+ $daily_counter_str='';
467
 
468
+ //Don't compile if daily counter disabled
469
+ if(isset($ct_options['all_time_counter']) && $ct_options['all_time_counter']=='1'){
470
+ $all_time_counter=Array('accepted'=>$ct_data['all_time_counter']['accepted'], 'blocked'=>$ct_data['all_time_counter']['blocked'], 'all'=>$ct_data['all_time_counter']['accepted'] + $ct_data['all_time_counter']['blocked']);
471
+ $all_time_counter_str='<span style="color: white;" title="'.__('All / Allowed / Blocked submissions. The number of submissions is being counted since CleanTalk plugin installation.', 'cleantalk').'"><span style="color: white;"> | All: ' .$all_time_counter['all']. '</span> / <span style="color: green;">' .$all_time_counter['accepted']. '</span> / <span style="color: red;">' .$all_time_counter['blocked']. '</span></span>';
472
+ }
473
+
474
+ //Don't compile if all time counter disabled
475
+ if(isset($ct_options['daily_counter']) && $ct_options['daily_counter']=='1'){
476
+ $daily_counter=Array('accepted'=>array_sum($ct_data['array_accepted']), 'blocked'=>array_sum($ct_data['array_blocked']), 'all'=>array_sum($ct_data['array_accepted']) + array_sum($ct_data['array_blocked']));
477
+ $daily_counter_str='<span style="color: white;" title="'.__('All / Allowed / Blocked submissions. The number of submissions for past 24 hours. ', 'cleantalk').'"><span style="color: white;"> | Day: ' .$daily_counter['all']. '</span> / <span style="color: green;">' .$daily_counter['accepted']. '</span> / <span style="color: red;">' .$daily_counter['blocked']. '</span></span>';
478
+ }
479
 
480
  $args = array(
481
  'id' => 'ct_parent_node',
482
+ 'title' => '<img src="' . plugin_dir_url(__FILE__) . 'images/logo_small1.png" alt="" height="" style="margin-top:9px; float: left;" /><div style="margin: auto 7px;" class="ab-item alignright"><div class="ab-label" id="ct_stats"><span style="color: white;" title="'.__('All / Allowed / Blocked submissions. The number of submissions is being counted since ', 'cleantalk').' '.$user_counter['since'].'">'.$user_counter_str.'</span> '.$daily_counter_str.$all_time_counter_str.'</div></div>' //You could change widget string here by simply deleting variables
483
  );
484
  $wp_admin_bar->add_node( $args );
485
 
492
  $wp_admin_bar->add_node( $args );
493
 
494
  // add another child item to our parent item (not to our first group)
495
+ if(!is_network_admin()){
496
+ $args = array(
497
+ 'id' => 'ct_settings_link',
498
+ 'title' => '<a href="options-general.php?page=cleantalk">'.__('Settings', 'cleantalk').'</a>',
499
+ 'parent' => 'ct_parent_node'
500
+ );
501
+ }else{
502
+ $args = array(
503
+ 'id' => 'ct_settings_link',
504
+ 'title' => '<a href="settings.php?page=cleantalk">'.__('Settings', 'cleantalk').'</a>',
505
+ 'parent' => 'ct_parent_node'
506
+ );
507
+ }
508
  $wp_admin_bar->add_node( $args );
509
 
510
+ // add a child item to our parent item. Bulk checks.
511
+ if(!is_network_admin()){
512
+ $args = array(
513
+ 'id' => 'ct_settings_bulk_comments',
514
+ 'title' => '<hr style="margin-top: 7px;" /><a href="edit-comments.php?page=ct_check_spam" title="Bulk spam comments removal tool.">'.__('Check comments for spam', 'cleantalk').'</a>',
515
+ 'parent' => 'ct_parent_node'
516
+ );
517
+ }
518
  $wp_admin_bar->add_node( $args );
519
+
520
+ // add a child item to our parent item. Bulk checks.
521
+ if(!is_network_admin()){
522
+ $args = array(
523
+ 'id' => 'ct_settings_bulk_users',
524
+ 'title' => '<a href="users.php?page=ct_check_users" title="Bulk spam users removal tool.">'.__('Check users for spam', 'cleantalk').'</a>',
525
+ 'parent' => 'ct_parent_node'
526
+ );
527
+ }
528
  $wp_admin_bar->add_node( $args );
529
 
530
  // add a child item to our parent item. Counter reset.
691
  echo "<script>var cleantalk_good_key=false;</script>";
692
  if (function_exists('curl_init') && function_exists('json_decode')) {
693
  echo '<br /><br />';
694
+ echo "<a target='__blank' style='' href='https://cleantalk.org/register?platform=wordpress&email=".urlencode(ct_get_admin_email())."&website=".urlencode(parse_url(get_option('siteurl'),PHP_URL_HOST))."'><input type='button' class='cleantalk_auto_link' value='".__('Get access key manually', 'cleantalk')."' /></a>";
695
  echo "&nbsp;" . __("or") . "&nbsp;";
696
+ echo '<input name="get_apikey_auto" type="submit" class="cleantalk_manual_link" value="' . __('Get access key automatically', 'cleantalk') . '" />';
697
  echo "<br />";
698
  echo "<br />";
699
 
1117
  border-radius: 5px;
1118
  font-size: 12pt;
1119
  }
1120
+ .cleantalk_auto_link{
1121
+ background: #ccc;
1122
+ border-color: #999;
1123
+ -webkit-box-shadow: inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);
1124
+ box-shadow: inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);
1125
+ color: #000;
1126
+ text-decoration: none;
1127
+ display: inline-block;
1128
+ text-decoration: none;
1129
+ font-size: 13px;
1130
+ line-height: 26px;
1131
+ height: 28px;
1132
+ margin: 0;
1133
+ padding: 0 10px 1px;
1134
+ cursor: pointer;
1135
+ border-width: 1px;
1136
+ border-style: solid;
1137
+ -webkit-appearance: none;
1138
+ -webkit-border-radius: 2px;
1139
+ border-radius: 2px;
1140
+ white-space: nowrap;
1141
+ -webkit-box-sizing: border-box;
1142
+ -moz-box-sizing: border-box;
1143
+ box-sizing: border-box;
1144
+ }
1145
+ .cleantalk_auto_link:hover{
1146
+ color: #fff;
1147
+ }
1148
  .cleantalk_manual_link
1149
  {
1150
  background: #2ea2cc;
1173
  }
1174
  .cleantalk_manual_link:hover
1175
  {
1176
+ color:black;
1177
  }
1178
 
1179
  </style>
1180
 
1181
  <div>
1182
+ <?php
1183
  if(is_network_admin())
1184
  {
1185
  print '<form method="post">';
inc/cleantalk-public.php CHANGED
@@ -1875,7 +1875,6 @@ function ct_contact_form_validate () {
1875
  ) {
1876
  return null;
1877
  }
1878
-
1879
  // Do not execute anti-spam test for logged in users.
1880
  if (isset($_COOKIE[LOGGED_IN_COOKIE]) && $ct_options['protect_logged_in'] != 1) {
1881
  return null;
1875
  ) {
1876
  return null;
1877
  }
 
1878
  // Do not execute anti-spam test for logged in users.
1879
  if (isset($_COOKIE[LOGGED_IN_COOKIE]) && $ct_options['protect_logged_in'] != 1) {
1880
  return null;
readme.txt CHANGED
@@ -1,16 +1,16 @@
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, 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, anti-spam plugin, varnish, amp, spam free, userpro
4
  Requires at least: 3.0
5
  Tested up to: 4.6
6
- Stable tag: 5.45.2
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 & registrations spam, no email spam, protects any forms. Forget spam.
11
 
12
  == Description ==
13
- No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bots. Formerly "Anti-Spam by CleanTalk".
14
 
15
  = Anti-Spam features =
16
  1. Stops spam comments.
@@ -23,11 +23,17 @@ No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bo
23
  1. Checks the existing comments for spam.
24
 
25
  = Public reviews =
 
 
 
26
  > Using CleanTalk on WPLift was a great test as we receive huge amounts of spam.
27
  > *Oliver Dale, <a href="http://wplift.com/wordpress-anti-spam-plugin" target="_blank">WPLift.com</a>.*
28
 
29
- = FREE TRIAL THEN $8 PER YEAR =
30
- > 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.
 
 
 
31
 
32
  = Anti-Spam protection for comments =
33
  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.
@@ -472,6 +478,12 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
472
  1. CleanTalk works faster than most of other anti-spam plugins.
473
 
474
  == Changelog ==
 
 
 
 
 
 
475
  = 5.45.2 August 4 2016 =
476
  * Added Anti-Spam protection for Quick Event Manager.
477
  * Improved bulk spam test for users. Now the plugin does not mark as Spam user, if the user IP address has spam activity more than 30 days ago.
@@ -1105,6 +1117,12 @@ WordPress 3.0 at least. PHP 5 with CURL or file_get_contents() function and enab
1105
  * First version
1106
 
1107
  == Upgrade Notice ==
 
 
 
 
 
 
1108
  = 5.45.2 August 4 2016 =
1109
  * Added Anti-Spam protection for Quick Event Manager.
1110
  * Improved bulk spam test for users. Now the plugin does not mark as Spam user, if the user IP address has spam activity more then 30 days ago.
1
+ === Spam Protection by CleanTalk (no Captcha AntiSpam) ===
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, 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, anti-spam plugin, varnish, amp, spam free, userpro
4
  Requires at least: 3.0
5
  Tested up to: 4.6
6
+ Stable tag: 5.46
7
  License: GPLv2
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
+ Spam protection, antispam, all-in-one, premium plug-in. No comments spam & registrations spam, no email spam, protects any forms. Forget spam.
11
 
12
  == Description ==
13
+ AntiSpam for WordPress. No CAPTCHA, no questions, no animal counting, no puzzles, no math and no spam bots. Universal AntiSpam plugin. Formerly "Anti-Spam by CleanTalk".
14
 
15
  = Anti-Spam features =
16
  1. Stops spam comments.
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>*
28
+
29
  > Using CleanTalk on WPLift was a great test as we receive huge amounts of spam.
30
  > *Oliver Dale, <a href="http://wplift.com/wordpress-anti-spam-plugin" target="_blank">WPLift.com</a>.*
31
 
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.
478
  1. CleanTalk works faster than most of other anti-spam plugins.
479
 
480
  == Changelog ==
481
+ = 5.46 August 17 2016 =
482
+ * Fixed issue with admin bar links in WP Multi Network mode.
483
+ * Added "All time counter" and "Daily counter" into admin bar.
484
+ * Added settings to disable counters in admin bar.
485
+ * New style for "Get access key manually" button.
486
+
487
  = 5.45.2 August 4 2016 =
488
  * Added Anti-Spam protection for Quick Event Manager.
489
  * Improved bulk spam test for users. Now the plugin does not mark as Spam user, if the user IP address has spam activity more than 30 days ago.
1117
  * First version
1118
 
1119
  == Upgrade Notice ==
1120
+ = 5.46 August 17 2016 =
1121
+ * Fixed issue with admin bar links in WP Multi Network mode.
1122
+ * Added "All time counter" and "Daily counter" into admin bar.
1123
+ * Added settings to disable counters in admin bar.
1124
+ * New style for "Get access key manually" button.
1125
+
1126
  = 5.45.2 August 4 2016 =
1127
  * Added Anti-Spam protection for Quick Event Manager.
1128
  * Improved bulk spam test for users. Now the plugin does not mark as Spam user, if the user IP address has spam activity more then 30 days ago.