Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.141.2

Version Description

Jul 08 2020 = * Fix: SFW issues. * Upd: Temporary remove spinner for SFW check.

Download this release

Release Info

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

Code changes from version 5.141.1 to 5.141.2

cleantalk.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: https://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.
6
- Version: 5.141.1
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: https://cleantalk.org
9
  Text Domain: cleantalk-spam-protect
@@ -235,8 +235,8 @@ if( !defined( 'CLEANTALK_PLUGIN_DIR' ) ){
235
  add_filter( 'avf_form_send', 'apbct_form__enfold_contact_form__test_spam', 4, 10 );
236
 
237
  //Hooks for updating/adding settings
238
- add_action ('added_option', 'apbct_after_options_added', 10, 3);
239
- add_action ('updated_option', 'apbct_after_options_updated', 10, 3);
240
 
241
  // Public actions
242
  if(!is_admin() && !apbct_is_ajax()){
@@ -447,42 +447,41 @@ if( !defined( 'CLEANTALK_PLUGIN_DIR' ) ){
447
  }
448
 
449
  /**
450
- * Hook for updating settings
451
- */
452
- function apbct_after_options_updated($option, $old_value, $value) {
453
- global $apbct;
454
-
455
- if ($option == 'cleantalk_settings') {
456
- // SFW actions
457
- if($value['spam_firewall'] == 1){
458
- $result = ct_sfw_update(true, $value['apikey']);
459
- if( ! empty( $result['error'] ) )
460
- $apbct->error_add('sfw_update', $result['error']);
461
- $result = ct_sfw_send_logs(true, $value['apikey']);
462
- if( ! empty( $result['error'] ) )
463
- $apbct->error_add('sfw_send_logs', $result['error']);
464
- }
465
- }
466
- }
467
 
468
  /**
469
- * Hook for adding settings
470
- */
471
- function apbct_after_options_added($option, $value) {
472
- global $apbct;
473
-
474
- if ($option == 'cleantalk_settings') {
475
- // SFW actions
476
- if($value['spam_firewall'] == 1){
477
- sleep(6);
478
- $result = ct_sfw_update(true, $value['apikey']);
479
- if( ! empty( $result['error'] ) )
480
- $apbct->error_add('sfw_update', $result['error']);
481
- $result = ct_sfw_send_logs(true, $value['apikey']);
482
- if( ! empty( $result['error'] ) )
483
- $apbct->error_add('sfw_send_logs', $result['error']);
484
- }
485
- }
 
 
 
 
 
 
 
 
 
 
 
486
  }
487
 
488
  /**
@@ -518,7 +517,7 @@ function apbct_remote_call__perform()
518
 
519
  // SFW update
520
  case 'sfw_update':
521
- $result = ct_sfw_update(false, '', true);
522
  /**
523
  * @todo CRUNCH
524
  */
@@ -748,8 +747,8 @@ function apbct_activation( $network = false ) {
748
  CleantalkCron::addTask('send_connection_report','ct_mail_send_connection_report', 86400, time()+3500); // Send connection report to welcome@cleantalk.org
749
 
750
  apbct_activation__create_tables($sqls);
751
- ct_sfw_update(); // Updating SFW
752
  ct_account_status_check(null, false);
 
753
  }
754
 
755
  // Additional options
@@ -989,13 +988,13 @@ function ct_get_cookie()
989
  die();
990
  }
991
 
992
- function ct_sfw_update($manual = false, $api_key = '', $immediate = false){
993
 
994
  global $apbct;
995
 
996
- $api_key = !empty($api_key) ? $api_key : $apbct->api_key;
997
 
998
- if($manual || ( $apbct->settings['spam_firewall'] == 1 && !empty($api_key) ) ) {
999
 
1000
  $sfw = new CleantalkSFW();
1001
 
@@ -1006,10 +1005,9 @@ function ct_sfw_update($manual = false, $api_key = '', $immediate = false){
1006
 
1007
  //Reset previous entries count
1008
  $apbct->stats['sfw']['entries'] = 0;
1009
- $apbct->stats['sfw']['update_in_process'] = true;
1010
  $apbct->save('stats');
1011
 
1012
- $result = $sfw->sfw_update($api_key, null, $immediate);
1013
 
1014
  return ! empty( $result['error'] )
1015
  ? $result
@@ -1041,7 +1039,6 @@ function ct_sfw_update($manual = false, $api_key = '', $immediate = false){
1041
  } else {
1042
  //Files array is empty update sfw time
1043
  $apbct->stats['sfw']['last_update_time'] = time();
1044
- $apbct->stats['sfw']['update_in_process'] = false;
1045
  $apbct->save('stats');
1046
 
1047
  return $result;
@@ -1055,13 +1052,13 @@ function ct_sfw_update($manual = false, $api_key = '', $immediate = false){
1055
  return array('error' => 'SFW_DISABLED');
1056
  }
1057
 
1058
- function ct_sfw_send_logs($manual = false, $api_key = '')
1059
  {
1060
  global $apbct;
1061
 
1062
  $api_key = !empty($apbct->api_key) ? $apbct->api_key : $api_key;
1063
 
1064
- if($manual || ( $apbct->settings['spam_firewall'] == 1 && !empty($api_key) )) {
1065
 
1066
  $sfw = new CleantalkSFW();
1067
  $result = $sfw->logs__send($api_key);
3
  Plugin Name: Anti-Spam by CleanTalk
4
  Plugin URI: https://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.
6
+ Version: 5.141.2
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: https://cleantalk.org
9
  Text Domain: cleantalk-spam-protect
235
  add_filter( 'avf_form_send', 'apbct_form__enfold_contact_form__test_spam', 4, 10 );
236
 
237
  //Hooks for updating/adding settings
238
+ //add_action ('added_option', 'apbct_after_options_added', 10, 2);
239
+ //add_action ('updated_option', 'apbct_after_options_updated', 10, 3);
240
 
241
  // Public actions
242
  if(!is_admin() && !apbct_is_ajax()){
447
  }
448
 
449
  /**
450
+ * Hook for updating settings
451
+ */
452
+ function apbct_after_options_updated( $option, $old_value, $value ) {
453
+ apbct_sfw_actions( $option, $value );
454
+ }
 
 
 
 
 
 
 
 
 
 
 
 
455
 
456
  /**
457
+ * Hook for adding settings
458
+ */
459
+ function apbct_after_options_added( $option, $value ) {
460
+ apbct_sfw_actions( $option, $value );
461
+ }
462
+
463
+ function apbct_sfw_actions( $option, $value ) {
464
+
465
+ global $apbct;
466
+
467
+ if ( $option == 'cleantalk_settings' ) {
468
+
469
+ $api_key = ! empty( $value['apikey'] ) || $apbct->moderate_ip ? $value['apikey'] : $apbct->api_key;
470
+
471
+ // SFW actions
472
+ if( $value['spam_firewall'] == 1 ){
473
+
474
+ $result = ct_sfw_update( true, $api_key );
475
+ if( ! empty( $result['error'] ) )
476
+ $apbct->error_add( 'sfw_update', $result['error'] );
477
+
478
+ $result = ct_sfw_send_logs( true, $api_key );
479
+ if( ! empty( $result['error'] ) )
480
+ $apbct->error_add( 'sfw_send_logs', $result['error'] );
481
+
482
+ }
483
+ }
484
+
485
  }
486
 
487
  /**
517
 
518
  // SFW update
519
  case 'sfw_update':
520
+ $result = ct_sfw_update(true);
521
  /**
522
  * @todo CRUNCH
523
  */
747
  CleantalkCron::addTask('send_connection_report','ct_mail_send_connection_report', 86400, time()+3500); // Send connection report to welcome@cleantalk.org
748
 
749
  apbct_activation__create_tables($sqls);
 
750
  ct_account_status_check(null, false);
751
+ ct_sfw_update(); // Updating SFW
752
  }
753
 
754
  // Additional options
988
  die();
989
  }
990
 
991
+ function ct_sfw_update($api_key = '', $immediate = false){
992
 
993
  global $apbct;
994
 
995
+ $api_key = !empty($apbct->api_key) ? $apbct->api_key : $api_key;
996
 
997
+ if($apbct->settings['spam_firewall'] == 1 && !empty($api_key)) {
998
 
999
  $sfw = new CleantalkSFW();
1000
 
1005
 
1006
  //Reset previous entries count
1007
  $apbct->stats['sfw']['entries'] = 0;
 
1008
  $apbct->save('stats');
1009
 
1010
+ $sfw->sfw_update($api_key, null, $immediate);
1011
 
1012
  return ! empty( $result['error'] )
1013
  ? $result
1039
  } else {
1040
  //Files array is empty update sfw time
1041
  $apbct->stats['sfw']['last_update_time'] = time();
 
1042
  $apbct->save('stats');
1043
 
1044
  return $result;
1052
  return array('error' => 'SFW_DISABLED');
1053
  }
1054
 
1055
+ function ct_sfw_send_logs($api_key = '')
1056
  {
1057
  global $apbct;
1058
 
1059
  $api_key = !empty($apbct->api_key) ? $apbct->api_key : $api_key;
1060
 
1061
+ if($apbct->settings['spam_firewall'] == 1 && !empty($api_key)) {
1062
 
1063
  $sfw = new CleantalkSFW();
1064
  $result = $sfw->logs__send($api_key);
inc/cleantalk-admin.php CHANGED
@@ -9,9 +9,6 @@ add_action( 'manage_users_extra_tablenav', 'apbct_add_buttons_to_comments_and_us
9
  // Check renew banner
10
  add_action( 'wp_ajax_apbct_settings__check_renew_banner', 'apbct_settings__check_renew_banner');
11
 
12
- // Check SFW update progress
13
- add_action( 'wp_ajax_apbct_settings__check_sfw_update_process', 'apbct_settings__check_sfw_update_process');
14
-
15
  function apbct_add_buttons_to_comments_and_users( $unused_argument ) {
16
 
17
  global $apbct;
9
  // Check renew banner
10
  add_action( 'wp_ajax_apbct_settings__check_renew_banner', 'apbct_settings__check_renew_banner');
11
 
 
 
 
12
  function apbct_add_buttons_to_comments_and_users( $unused_argument ) {
13
 
14
  global $apbct;
inc/cleantalk-settings.php CHANGED
@@ -490,14 +490,12 @@ function apbct_settings__set_fileds__network( $fields ){
490
  'title' => __('Use settings template', 'cleantalk-spam-protect'),
491
  'description' => __("Use the current settings template for child sites.", 'cleantalk-spam-protect'),
492
  'childrens' => array( 'use_settings_template_apply_for_new', 'use_settings_template_apply_for_current'),
493
- 'disabled' => defined('CLEANTALK_ACCESS_KEY'),
494
  'network' => true,
495
  ),
496
  'use_settings_template_apply_for_new' => array(
497
  'type' => 'checkbox',
498
  'title' => __('Apply for newly added sites.', 'cleantalk-spam-protect'),
499
  'description' => __("The newly added site will have the same preset settings template.", 'cleantalk-spam-protect'),
500
- 'disabled' => defined('CLEANTALK_ACCESS_KEY'),
501
  'parent' => 'use_settings_template',
502
  'class' => 'apbct_settings-field_wrapper--sub',
503
  'network' => true,
@@ -506,7 +504,6 @@ function apbct_settings__set_fileds__network( $fields ){
506
  'type' => 'checkbox',
507
  'title' => __('Apply for current sites.', 'cleantalk-spam-protect'),
508
  'description' => __("Apply current settings template for selected sites.", 'cleantalk-spam-protect'),
509
- 'disabled' => defined('CLEANTALK_ACCESS_KEY'),
510
  'parent' => 'use_settings_template',
511
  'childrens' => array( 'use_settings_template_apply_for_current_list_sites'),
512
  'class' => 'apbct_settings-field_wrapper--sub',
@@ -520,7 +517,6 @@ function apbct_settings__set_fileds__network( $fields ){
520
  'class' => 'apbct_settings-field_wrapper--sub',
521
  'parent' => 'use_settings_template_apply_for_current',
522
  'description' => __('Sites to apply settings. Hold CTRL to select multiple sites.', 'cleantalk-spam-protect'),
523
- 'disabled' => defined('CLEANTALK_ACCESS_KEY'),
524
  'network' => true,
525
  ),
526
  )
@@ -857,7 +853,6 @@ function apbct_settings__field__state(){
857
  if(!$apbct->white_label || is_main_site())
858
  echo '<img class="apbct_status_icon" src="'.($apbct->data['moderate'] == 1 ? $img : $img_no).'"/>'
859
  .'<a style="color: black" href="https://blog.cleantalk.org/real-time-email-address-existence-validation/">'.__('Validate email for existence', 'cleantalk-spam-protect').'</a>';
860
- echo '<img class="apbct_status_icon" id = "sfw_status_icon" style = "width:16px;height:16px;" src="'.($apbct->settings['spam_firewall'] == 1 ? ( $apbct->stats['sfw']['update_in_process'] == true ? $preloader : $img) : $img_no).'"/>'.__('SpamFireWall', 'cleantalk-spam-protect');
861
  // Autoupdate status
862
  if($apbct->notice_auto_update && (!$apbct->white_label || is_main_site())){
863
  echo '<img class="apbct_status_icon" src="'.($apbct->auto_update == 1 ? $img : ($apbct->auto_update == -1 ? $img_no : $img_no_gray)).'"/>'.__('Auto update', 'cleantalk-spam-protect')
@@ -1434,6 +1429,15 @@ function apbct_settings__validate($settings) {
1434
  // Deleting errors about invalid key
1435
  $apbct->error_delete('key_invalid key_get', 'save');
1436
 
 
 
 
 
 
 
 
 
 
1437
  // Updating brief data for dashboard widget
1438
  $apbct->data['brief_data'] = CleantalkAPI::method__get_antispam_report_breif($settings['apikey']);
1439
 
@@ -1596,12 +1600,4 @@ function apbct_settings__check_renew_banner() {
1596
  check_ajax_referer('ct_secret_nonce' );
1597
 
1598
  die(json_encode(array('close_renew_banner' => ($apbct->data['notice_trial'] == 0 && $apbct->data['notice_renew'] == 0) ? true : false)));
1599
- }
1600
-
1601
- function apbct_settings__check_sfw_update_process() {
1602
- global $apbct;
1603
-
1604
- check_ajax_referer('ct_secret_nonce' );
1605
-
1606
- die(json_encode(array('sfw_updated' => ($apbct->settings['spam_firewall'] == 1 && $apbct->stats['sfw']['update_in_process'] == false) ? true : false)));
1607
  }
490
  'title' => __('Use settings template', 'cleantalk-spam-protect'),
491
  'description' => __("Use the current settings template for child sites.", 'cleantalk-spam-protect'),
492
  'childrens' => array( 'use_settings_template_apply_for_new', 'use_settings_template_apply_for_current'),
 
493
  'network' => true,
494
  ),
495
  'use_settings_template_apply_for_new' => array(
496
  'type' => 'checkbox',
497
  'title' => __('Apply for newly added sites.', 'cleantalk-spam-protect'),
498
  'description' => __("The newly added site will have the same preset settings template.", 'cleantalk-spam-protect'),
 
499
  'parent' => 'use_settings_template',
500
  'class' => 'apbct_settings-field_wrapper--sub',
501
  'network' => true,
504
  'type' => 'checkbox',
505
  'title' => __('Apply for current sites.', 'cleantalk-spam-protect'),
506
  'description' => __("Apply current settings template for selected sites.", 'cleantalk-spam-protect'),
 
507
  'parent' => 'use_settings_template',
508
  'childrens' => array( 'use_settings_template_apply_for_current_list_sites'),
509
  'class' => 'apbct_settings-field_wrapper--sub',
517
  'class' => 'apbct_settings-field_wrapper--sub',
518
  'parent' => 'use_settings_template_apply_for_current',
519
  'description' => __('Sites to apply settings. Hold CTRL to select multiple sites.', 'cleantalk-spam-protect'),
 
520
  'network' => true,
521
  ),
522
  )
853
  if(!$apbct->white_label || is_main_site())
854
  echo '<img class="apbct_status_icon" src="'.($apbct->data['moderate'] == 1 ? $img : $img_no).'"/>'
855
  .'<a style="color: black" href="https://blog.cleantalk.org/real-time-email-address-existence-validation/">'.__('Validate email for existence', 'cleantalk-spam-protect').'</a>';
 
856
  // Autoupdate status
857
  if($apbct->notice_auto_update && (!$apbct->white_label || is_main_site())){
858
  echo '<img class="apbct_status_icon" src="'.($apbct->auto_update == 1 ? $img : ($apbct->auto_update == -1 ? $img_no : $img_no_gray)).'"/>'.__('Auto update', 'cleantalk-spam-protect')
1429
  // Deleting errors about invalid key
1430
  $apbct->error_delete('key_invalid key_get', 'save');
1431
 
1432
+ // SFW actions
1433
+ if($apbct->settings['spam_firewall'] == 1){
1434
+ $result = ct_sfw_update($settings['apikey']);
1435
+ if( ! empty( $result['error'] ) )
1436
+ $apbct->error_add('sfw_update', $result['error']);
1437
+ $result = ct_sfw_send_logs($settings['apikey']);
1438
+ if( ! empty( $result['error'] ) )
1439
+ $apbct->error_add('sfw_send_logs', $result['error']);
1440
+ }
1441
  // Updating brief data for dashboard widget
1442
  $apbct->data['brief_data'] = CleantalkAPI::method__get_antispam_report_breif($settings['apikey']);
1443
 
1600
  check_ajax_referer('ct_secret_nonce' );
1601
 
1602
  die(json_encode(array('close_renew_banner' => ($apbct->data['notice_trial'] == 0 && $apbct->data['notice_renew'] == 0) ? true : false)));
 
 
 
 
 
 
 
 
1603
  }
js/cleantalk-admin-settings-page.min.js CHANGED
@@ -1 +1 @@
1
- function apbct_banner_check(){var a=setInterval(function(){apbct_sendAJAX({action:"apbct_settings__check_renew_banner"},{callback:function(e,t,n,c){e.close_renew_banner&&(jQuery("#apbct_renew_notice").length&&jQuery("#apbct_renew_notice").hide("slow"),jQuery("#apbct_trial_notice").length&&jQuery("#apbct_trial_notice").hide("slow"),clearInterval(a))}})},9e5)}function apbct_sfw_status_check(){var a=setInterval(function(){apbct_sendAJAX({action:"apbct_settings__check_sfw_update_process"},{callback:function(e,t,n,c){e.sfw_updated&&(jQuery("#sfw_status_icon").attr("src",window.location.origin+"/wp-content/plugins/cleantalk-spam-protect/inc/images/yes.png"),clearInterval(a))}})},15e3)}function apbct_get_elems(e){for(var t,n=0,c=(e=e.split(",")).length;n<c;n++)t=jQuery("#"+e[n]),e[n]=0===t.length?jQuery("."+e[n]):t;return e}function apbct_get_elems__native(e){"string"==typeof e&&(e=e.split(","));var a=[];return e.forEach(function(e,t,n){var c=document.getElementById(e);if(null===c){if(null!==(c=document.getElementsByClassName(e))&&0!==c.length)for(key in c)0<=+key&&a.push(c[key])}else a.push(c[key])}),a}function apbct_show_hide_elem(e){for(var t=0,n=(e=apbct_get_elems(e)).length;t<n;t++)e[t].each(function(e,t){var n=(t=jQuery(t)).next("label")||t.prev("label")||null;t.is(":visible")?(t.hide(),n&&n.hide()):(t.show(),n&&n.show())})}function apbctSettingsDependencies(e,i){i=+i||null,apbct_get_elems__native(e).forEach(function(e,t,n){function c(){console.log(e),e.setAttribute("disabled","disabled")}function a(){e.removeAttribute("disabled")}(null!==i?1===i?a:c:null===e.getAttribute("disabled")?c:a)()})}function apbct_settings__showDescription(e,t){var a=function(e){void 0!==e&&(0!=jQuery(e.target).parent(".apbct_long_desc").length&&!jQuery(e.target).hasClass("apbct_long_desc__cancel")||jQuery(e.target).hasClass("apbct_long_description__show"))||(jQuery(".apbct_long_desc").remove(),jQuery(document).off("click",a))};a(),e.after("<div id='apbct_long_desc__"+t+"' class='apbct_long_desc'></div>");var n=jQuery("#apbct_long_desc__"+t);n.append("<i class='icon-spin1 animate-spin'></i>").append("<div class='apbct_long_desc__angle'></div>").css({top:e.position().top-5,left:e.position().left+25}),apbct_sendAJAX({action:"apbct_settings__get_description",setting_id:t},{spinner:n.children("img"),callback:function(e,t,n,c){c.empty().append("<div class='apbct_long_desc__angle'></div>").append("<i class='apbct_long_desc__cancel icon-cancel'></i>").append("<h3 class='apbct_long_desc__title'>"+e.title+"</h3>").append("<p>"+e.desc+"</p>"),jQuery(document).on("click",a)}},n)}jQuery(document).ready(function(){"rtl"===getComputedStyle(document.getElementsByClassName("apbct_settings-title")[0]).direction&&jQuery(".apbct_switchers").css("text-align","right"),jQuery("#apbct_showApiKey").on("click",function(){jQuery(".apbct_setting---apikey").val(jQuery(".apbct_setting---apikey").attr("key")),jQuery(".apbct_setting---apikey+div").show(),jQuery(this).fadeOut(300)});var e=new Date;jQuery("#ct_admin_timezone").val(e.getTimezoneOffset()/60*-1),jQuery("#apbct_gdpr_open_modal").on("click",function(){jQuery("#gdpr_dialog").dialog({modal:!0,show:!0,position:{my:"center",at:"center",of:window},width:+jQuery("#wpbody").width()/100*70,height:"auto",title:"GDPR compliance",draggable:!1,resizable:!1,closeText:"Close"})}),jQuery(document).on("click",".apbct_settings-long_description---show",function(){self=jQuery(this),apbct_settings__showDescription(self,self.attr("setting"))}),(jQuery("#apbct_renew_notice").length||jQuery("#apbct_trial_notice").length)&&apbct_banner_check(),jQuery("#sfw_status_icon").attr("src")==window.location.origin+"/wp-content/plugins/cleantalk-spam-protect/inc/images/preloader.gif"&&apbct_sfw_status_check()});
1
+ function apbct_banner_check(){var i=setInterval(function(){apbct_sendAJAX({action:"apbct_settings__check_renew_banner"},{callback:function(e,t,n,c){e.close_renew_banner&&(jQuery("#apbct_renew_notice").length&&jQuery("#apbct_renew_notice").hide("slow"),jQuery("#apbct_trial_notice").length&&jQuery("#apbct_trial_notice").hide("slow"),clearInterval(i))}})},9e5)}function apbct_get_elems(e){for(var t,n=0,c=(e=e.split(",")).length;n<c;n++)t=jQuery("#"+e[n]),e[n]=0===t.length?jQuery("."+e[n]):t;return e}function apbct_get_elems__native(e){"string"==typeof e&&(e=e.split(","));var i=[];return e.forEach(function(e,t,n){var c=document.getElementById(e);if(null===c){if(null!==(c=document.getElementsByClassName(e))&&0!==c.length)for(key in c)0<=+key&&i.push(c[key])}else i.push(c[key])}),i}function apbct_show_hide_elem(e){for(var t=0,n=(e=apbct_get_elems(e)).length;t<n;t++)e[t].each(function(e,t){var n=(t=jQuery(t)).next("label")||t.prev("label")||null;t.is(":visible")?(t.hide(),n&&n.hide()):(t.show(),n&&n.show())})}function apbctSettingsDependencies(e,a){a=+a||null,apbct_get_elems__native(e).forEach(function(e,t,n){function c(){console.log(e),e.setAttribute("disabled","disabled")}function i(){e.removeAttribute("disabled")}(null!==a?1===a?i:c:null===e.getAttribute("disabled")?c:i)()})}function apbct_settings__showDescription(e,t){var i=function(e){void 0!==e&&(0!=jQuery(e.target).parent(".apbct_long_desc").length&&!jQuery(e.target).hasClass("apbct_long_desc__cancel")||jQuery(e.target).hasClass("apbct_long_description__show"))||(jQuery(".apbct_long_desc").remove(),jQuery(document).off("click",i))};i(),e.after("<div id='apbct_long_desc__"+t+"' class='apbct_long_desc'></div>");var n=jQuery("#apbct_long_desc__"+t);n.append("<i class='icon-spin1 animate-spin'></i>").append("<div class='apbct_long_desc__angle'></div>").css({top:e.position().top-5,left:e.position().left+25}),apbct_sendAJAX({action:"apbct_settings__get_description",setting_id:t},{spinner:n.children("img"),callback:function(e,t,n,c){c.empty().append("<div class='apbct_long_desc__angle'></div>").append("<i class='apbct_long_desc__cancel icon-cancel'></i>").append("<h3 class='apbct_long_desc__title'>"+e.title+"</h3>").append("<p>"+e.desc+"</p>"),jQuery(document).on("click",i)}},n)}jQuery(document).ready(function(){"rtl"===getComputedStyle(document.getElementsByClassName("apbct_settings-title")[0]).direction&&jQuery(".apbct_switchers").css("text-align","right"),jQuery("#apbct_showApiKey").on("click",function(){jQuery(".apbct_setting---apikey").val(jQuery(".apbct_setting---apikey").attr("key")),jQuery(".apbct_setting---apikey+div").show(),jQuery(this).fadeOut(300)});var e=new Date;jQuery("#ct_admin_timezone").val(e.getTimezoneOffset()/60*-1),jQuery("#apbct_gdpr_open_modal").on("click",function(){jQuery("#gdpr_dialog").dialog({modal:!0,show:!0,position:{my:"center",at:"center",of:window},width:+jQuery("#wpbody").width()/100*70,height:"auto",title:"GDPR compliance",draggable:!1,resizable:!1,closeText:"Close"})}),jQuery(document).on("click",".apbct_settings-long_description---show",function(){self=jQuery(this),apbct_settings__showDescription(self,self.attr("setting"))}),(jQuery("#apbct_renew_notice").length||jQuery("#apbct_trial_notice").length)&&apbct_banner_check()});
js/cleantalk-admin-settings-page.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["cleantalk-admin-settings-page.js"],"names":["apbct_banner_check","bannerChecker","setInterval","apbct_sendAJAX","action","callback","result","data","params","obj","close_renew_banner","jQuery","length","hide","clearInterval","apbct_sfw_status_check","sfwStatusChecker","sfw_updated","attr","window","location","origin","apbct_get_elems","elems","tmp","i","len","split","apbct_get_elems__native","out","forEach","elem","arr","document","getElementById","getElementsByClassName","key","push","apbct_show_hide_elem","each","label","next","prev","is","show","apbctSettingsDependencies","ids","enable","do_disable","console","log","setAttribute","do_enable","removeAttribute","getAttribute","apbct_settings__showDescription","setting_id","remove_desc_func","e","target","parent","hasClass","remove","off","after","append","css","top","position","left","spinner","children","empty","title","desc","on","ready","getComputedStyle","direction","val","this","fadeOut","d","Date","getTimezoneOffset","dialog","modal","my","at","of","width","height","draggable","resizable","closeText","self"],"mappings":"AAgDA,SAASA,qBACR,IAAIC,EAAgBC,YAAa,WAChCC,eACC,CAACC,OAAQ,sCACT,CACCC,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACpCH,EAAOI,qBACNC,OAAO,uBAAuBC,QACjCD,OAAO,uBAAuBE,KAAK,QAChCF,OAAO,uBAAuBC,QACjCD,OAAO,uBAAuBE,KAAK,QACpCC,cAAcb,QAKhB,KAMJ,SAASc,yBACR,IAAIC,EAAmBd,YAAa,WACnCC,eACC,CAACC,OAAQ,4CACT,CACCC,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACpCH,EAAOW,cACVN,OAAO,oBAAoBO,KAAK,MAAOC,OAAOC,SAASC,OAAS,iEAChEP,cAAcE,QAKhB,MAUJ,SAASM,gBAAgBC,GAErB,IAAK,IAA6BC,EAAzBC,EAAE,EAAGC,GADdH,EAAQA,EAAMI,MAAM,MACMf,OAAaa,EAAIC,EAAKD,IAC5CD,EAAMb,OAAO,IAAIY,EAAME,IACvBF,EAAME,GAAoB,IAAfD,EAAIZ,OAAeD,OAAO,IAAIY,EAAME,IAAMD,EAEzD,OAAOD,EAUX,SAASK,wBAAwBL,GAGZ,iBAAVA,IACTA,EAAQA,EAAMI,MAAM,MAErB,IAAIE,EAAM,GAuBV,OArBAN,EAAMO,QAAQ,SAASC,EAAMN,EAAGO,GAG/B,IAAIR,EAAMS,SAASC,eAAeH,GAClC,GAAY,OAARP,GAQJ,GAAY,QADZA,EAAMS,SAASE,uBAAuBJ,KACJ,IAAdP,EAAIZ,OACvB,IAAIwB,OAAOZ,EACE,IAAPY,KACJP,EAAIQ,KAAMb,EAAIY,WAVhBP,EAAIQ,KAAMb,EAAIY,QAgBTP,EAGR,SAASS,qBAAqBf,GAE1B,IAAK,IAAIE,EAAE,EAAGC,GADjBH,EAAQD,gBAAgBC,IACKX,OAAQa,EAAIC,EAAKD,IACvCF,EAAME,GAAGc,KAAK,SAAUd,EAAGM,GAEvB,IAAIS,GADJT,EAAOpB,OAAOoB,IACGU,KAAK,UAAYV,EAAKW,KAAK,UAAY,KACpDX,EAAKY,GAAG,aACRZ,EAAKlB,OACD2B,GAAOA,EAAM3B,SAEjBkB,EAAKa,OACDJ,GAAOA,EAAMI,UAajC,SAASC,0BAA0BC,EAAKC,GAEvCA,GAAUA,GAAU,KAGRnB,wBAAyBkB,GAE/BhB,QAAQ,SAASC,EAAMN,EAAGO,GAEd,SAAbgB,IAAwBC,QAAQC,IAAKnB,GAAQA,EAAKoB,aAAa,WAAY,YACjE,SAAbC,IAAwBrB,EAAKsB,gBAAgB,aAGhC,OAAXN,EACS,IAAXA,EAAeK,EAAcJ,EAIK,OAAlCjB,EAAKuB,aAAa,YAAuBN,EAAeI,OAM3D,SAASG,gCAAgCf,EAAOgB,GAE/C,IAAIC,EAAmB,SAASC,QACf,IAANA,IAA6E,GAAtD/C,OAAO+C,EAAEC,QAAQC,OAAO,oBAAoBhD,SAAeD,OAAO+C,EAAEC,QAAQE,SAAS,4BAAgClD,OAAO+C,EAAEC,QAAQE,SAAS,mCAC/KlD,OAAO,oBAAoBmD,SAC3BnD,OAAOsB,UAAU8B,IAAI,QAASN,KAIhCA,IAEAjB,EAAMwB,MAAM,6BAA6BR,EAAW,oCACpD,IAAI/C,EAAME,OAAO,qBAAqB6C,GACtC/C,EAAIwD,OAAO,2CACTA,OAAO,8CACPC,IAAI,CACJC,IAAK3B,EAAM4B,WAAWD,IAAM,EAC5BE,KAAM7B,EAAM4B,WAAWC,KAAO,KAIhClE,eACC,CAACC,OAAQ,kCAAmCoD,WAAYA,GACxD,CACCc,QAAS7D,EAAI8D,SAAS,OACtBlE,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GAExCA,EAAI+D,QACFP,OAAO,8CACPA,OAAO,uDACPA,OAAO,sCAAsC3D,EAAOmE,MAAM,SAC1DR,OAAO,MAAM3D,EAAOoE,KAAK,QAE3B/D,OAAOsB,UAAU0C,GAAG,QAASlB,KAG/BhD,GAjOFE,OAAOsB,UAAU2C,MAAM,WAGwE,QAA3FC,iBAAiB5C,SAASE,uBAAuB,wBAAwB,IAAI2C,WAC/EnE,OAAO,oBAAoBuD,IAAI,aAAc,SAI3CvD,OAAO,qBAAqBgE,GAAG,QAAS,WACpChE,OAAO,2BAA2BoE,IAAIpE,OAAO,2BAA2BO,KAAK,QAC7EP,OAAO,+BAA+BiC,OACtCjC,OAAOqE,MAAMC,QAAQ,OAG5B,IAAIC,EAAI,IAAIC,KACZxE,OAAO,sBAAsBoE,IAAIG,EAAEE,oBAAoB,IAAK,GAG5DzE,OAAO,0BAA0BgE,GAAG,QAAS,WAC5ChE,OAAO,gBAAgB0E,OAAO,CAC7BC,OAAM,EACN1C,MAAM,EACNwB,SAAU,CAAEmB,GAAI,SAAUC,GAAI,SAAUC,GAAItE,QAC5CuE,OAAS/E,OAAO,WAAW+E,QAAU,IAAM,GAC3CC,OAAQ,OACRlB,MAAO,kBACPmB,WAAW,EACXC,WAAW,EACXC,UAAW,YAIbnF,OAAOsB,UAAU0C,GAAG,QAAS,0CAA2C,WACvEoB,KAAOpF,OAAOqE,MACdzB,gCAAgCwC,KAAMA,KAAK7E,KAAK,eAG7CP,OAAO,uBAAuBC,QAAUD,OAAO,uBAAuBC,SACzEZ,qBAEGW,OAAO,oBAAoBO,KAAK,QAAUC,OAAOC,SAASC,OAAS,uEACtEN"}
1
+ {"version":3,"sources":["cleantalk-admin-settings-page.js"],"names":["apbct_banner_check","bannerChecker","setInterval","apbct_sendAJAX","action","callback","result","data","params","obj","close_renew_banner","jQuery","length","hide","clearInterval","apbct_get_elems","elems","tmp","i","len","split","apbct_get_elems__native","out","forEach","elem","arr","document","getElementById","getElementsByClassName","key","push","apbct_show_hide_elem","each","label","next","prev","is","show","apbctSettingsDependencies","ids","enable","do_disable","console","log","setAttribute","do_enable","removeAttribute","getAttribute","apbct_settings__showDescription","setting_id","remove_desc_func","e","target","parent","hasClass","remove","off","after","append","css","top","position","left","spinner","children","empty","title","desc","on","ready","getComputedStyle","direction","val","attr","this","fadeOut","d","Date","getTimezoneOffset","dialog","modal","my","at","of","window","width","height","draggable","resizable","closeText","self"],"mappings":"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"}
lib/Cleantalk/Antispam/SFW.php CHANGED
@@ -253,6 +253,8 @@ class SFW
253
  // Getting remote file name
254
  if(!$file_url){
255
 
 
 
256
  $result = API::method__get_2s_blacklists_db($ct_key, 'multifiles', '2_0');
257
 
258
  if(empty($result['error'])){
253
  // Getting remote file name
254
  if(!$file_url){
255
 
256
+ sleep(6);
257
+
258
  $result = API::method__get_2s_blacklists_db($ct_key, 'multifiles', '2_0');
259
 
260
  if(empty($result['error'])){
lib/CleantalkState.php CHANGED
@@ -257,7 +257,6 @@ class CleantalkState
257
  'last_send_amount' => 0,
258
  'last_update_time' => 0,
259
  'entries' => 0,
260
- 'update_in_process' => false,
261
  ),
262
  'last_sfw_block' => array(
263
  'time' => 0,
257
  'last_send_amount' => 0,
258
  'last_update_time' => 0,
259
  'entries' => 0,
 
260
  ),
261
  'last_sfw_block' => array(
262
  'time' => 0,
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: spam, antispam, woocommerce, comments, firewall
4
  Requires at least: 3.0
5
  Tested up to: 5.4
6
  Requires PHP: 5.4
7
- Stable tag: 5.141.1
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
@@ -574,6 +574,10 @@ If your website has forms that send data to external sources, you can enable opt
574
 
575
  == Changelog ==
576
 
 
 
 
 
577
  = 5.141.1 Jul 06 2020 =
578
  * Fix: Add timeout for first SFW activation.
579
 
4
  Requires at least: 3.0
5
  Tested up to: 5.4
6
  Requires PHP: 5.4
7
+ Stable tag: 5.141.2
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
574
 
575
  == Changelog ==
576
 
577
+ = 5.141.2 Jul 08 2020 =
578
+ * Fix: SFW issues.
579
+ * Upd: Temporary remove spinner for SFW check.
580
+
581
  = 5.141.1 Jul 06 2020 =
582
  * Fix: Add timeout for first SFW activation.
583