Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.182.1

Version Description

Aug 04 2022 =

Server variables getting fixed.

  • New. Server variables. Sanitizing logic added.
  • Upd. Server variables. Getting variables logic updated.
  • Upd. Server variables. Default sanitize added for ApbctWP\Variables* classes.
  • Upd. Server variables. Client code updated - using ApbctWP\Variables* classes.
  • Upd. Server variables. Sanitizing array nesting increased.
  • Fix. External forms. Form draw fixed.
  • Fix. Common. Set check JS value fixed.
  • Fix. Common. Custom ajax forms catching logic fixed.
  • Fix: added styles to hide the honeypot field in the plugin Ultimate Member
Download this release

Release Info

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

Code changes from version 5.182 to 5.182.1

Files changed (51) hide show
  1. cleantalk.php +7 -7
  2. css/cleantalk-public.min.css +1 -1
  3. inc/cleantalk-admin.php +4 -3
  4. inc/cleantalk-ajax.php +4 -4
  5. inc/cleantalk-common.php +4 -4
  6. inc/cleantalk-pluggable.php +3 -3
  7. inc/cleantalk-public-integrations.php +3 -3
  8. inc/cleantalk-public-validate-skip-functions.php +2 -2
  9. inc/cleantalk-public-validate.php +2 -2
  10. inc/cleantalk-public.php +13 -12
  11. inc/cleantalk-settings.php +2 -2
  12. inc/cleantalk-updater.php +1 -1
  13. js/cleantalk-admin.min.js +1 -1
  14. js/cleantalk-admin.min.js.map +1 -1
  15. lib/Cleantalk/Antispam/EmailEncoder.php +2 -1
  16. lib/Cleantalk/Antispam/Integrations.php +1 -1
  17. lib/Cleantalk/Antispam/Integrations/ElfsightContactForm.php +1 -1
  18. lib/Cleantalk/Antispam/Integrations/EstimationForm.php +1 -1
  19. lib/Cleantalk/Antispam/Integrations/EventsManager.php +1 -1
  20. lib/Cleantalk/Antispam/Integrations/FluentForm.php +1 -1
  21. lib/Cleantalk/Antispam/Integrations/GiveWP.php +1 -1
  22. lib/Cleantalk/Antispam/Integrations/OvaLogin.php +1 -1
  23. lib/Cleantalk/Antispam/Integrations/WPUserMeta.php +1 -1
  24. lib/Cleantalk/ApbctWP/AdminNotices.php +2 -2
  25. lib/Cleantalk/ApbctWP/CleantalkSettingsTemplates.php +1 -1
  26. lib/Cleantalk/ApbctWP/FindSpam/Checker.php +1 -1
  27. lib/Cleantalk/ApbctWP/FindSpam/CommentsChecker.php +1 -1
  28. lib/Cleantalk/ApbctWP/FindSpam/ListTable/Comments.php +2 -2
  29. lib/Cleantalk/ApbctWP/FindSpam/ListTable/CommentsLogs.php +1 -1
  30. lib/Cleantalk/ApbctWP/FindSpam/ListTable/Users.php +2 -2
  31. lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersLogs.php +1 -1
  32. lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersScan.php +1 -1
  33. lib/Cleantalk/ApbctWP/FindSpam/UsersChecker.php +1 -1
  34. lib/Cleantalk/ApbctWP/Firewall/AntiCrawler.php +2 -2
  35. lib/Cleantalk/ApbctWP/Firewall/AntiFlood.php +1 -1
  36. lib/Cleantalk/ApbctWP/Firewall/SFW.php +2 -2
  37. lib/Cleantalk/ApbctWP/GetFieldsAny.php +1 -1
  38. lib/Cleantalk/ApbctWP/RestController.php +3 -2
  39. lib/Cleantalk/ApbctWP/Variables/AltSessions.php +0 -2
  40. lib/Cleantalk/ApbctWP/Variables/Cookie.php +8 -2
  41. lib/Cleantalk/ApbctWP/Variables/Get.php +14 -0
  42. lib/Cleantalk/ApbctWP/Variables/Post.php +14 -0
  43. lib/Cleantalk/ApbctWP/Variables/Server.php +14 -0
  44. lib/Cleantalk/Common/Firewall.php +1 -2
  45. lib/Cleantalk/Common/Helper.php +1 -1
  46. lib/Cleantalk/Variables/Cookie.php +5 -3
  47. lib/Cleantalk/Variables/Get.php +5 -5
  48. lib/Cleantalk/Variables/Post.php +5 -5
  49. lib/Cleantalk/Variables/Server.php +5 -1
  50. lib/Cleantalk/Variables/ServerVariables.php +40 -0
  51. readme.txt +13 -1
cleantalk.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Anti-Spam by CleanTalk
5
  Plugin URI: https://cleantalk.org
6
  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.
7
- Version: 5.182
8
  Author: СleanTalk <welcome@cleantalk.org>
9
  Author URI: https://cleantalk.org
10
  Text Domain: cleantalk-spam-protect
@@ -33,10 +33,10 @@ use Cleantalk\ApbctWP\Variables\Cookie;
33
  use Cleantalk\Common\DNS;
34
  use Cleantalk\Common\Firewall;
35
  use Cleantalk\Common\Schema;
36
- use Cleantalk\Variables\Get;
37
- use Cleantalk\Variables\Post;
38
  use Cleantalk\Variables\Request;
39
- use Cleantalk\Variables\Server;
40
 
41
  global $apbct, $wpdb, $pagenow;
42
 
@@ -455,7 +455,7 @@ if ( ! is_admin() && ! apbct_is_ajax() && ! apbct_is_customize_preview() ) {
455
  $apbct->stats['sfw']['last_update_time'] &&
456
  apbct_is_get() &&
457
  ! apbct_wp_doing_cron() &&
458
- ! \Cleantalk\Variables\Server::inUri('/favicon.ico') &&
459
  ! apbct_is_cli()
460
  ) {
461
  wp_suspend_cache_addition(true);
@@ -700,14 +700,14 @@ function apbct_sfw__check()
700
  $spbc_settings = get_option('spbc_settings');
701
  $spbc_key = ! empty($spbc_settings['spbc_key']) ? $spbc_settings['spbc_key'] : false;
702
  if ( Get::get('access') === $apbct->api_key || ($spbc_key !== false && Get::get('access') === $spbc_key) ) {
703
- \Cleantalk\Variables\Cookie::set(
704
  'spbc_firewall_pass_key',
705
  md5(Server::get('REMOTE_ADDR') . $spbc_key),
706
  time() + 1200,
707
  '/',
708
  ''
709
  );
710
- \Cleantalk\Variables\Cookie::set(
711
  'ct_sfw_pass_key',
712
  md5(Server::get('REMOTE_ADDR') . $apbct->api_key),
713
  time() + 1200,
4
  Plugin Name: Anti-Spam by CleanTalk
5
  Plugin URI: https://cleantalk.org
6
  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.
7
+ Version: 5.182.1
8
  Author: СleanTalk <welcome@cleantalk.org>
9
  Author URI: https://cleantalk.org
10
  Text Domain: cleantalk-spam-protect
33
  use Cleantalk\Common\DNS;
34
  use Cleantalk\Common\Firewall;
35
  use Cleantalk\Common\Schema;
36
+ use Cleantalk\ApbctWP\Variables\Get;
37
+ use Cleantalk\ApbctWP\Variables\Post;
38
  use Cleantalk\Variables\Request;
39
+ use Cleantalk\ApbctWP\Variables\Server;
40
 
41
  global $apbct, $wpdb, $pagenow;
42
 
455
  $apbct->stats['sfw']['last_update_time'] &&
456
  apbct_is_get() &&
457
  ! apbct_wp_doing_cron() &&
458
+ ! Server::inUri('/favicon.ico') &&
459
  ! apbct_is_cli()
460
  ) {
461
  wp_suspend_cache_addition(true);
700
  $spbc_settings = get_option('spbc_settings');
701
  $spbc_key = ! empty($spbc_settings['spbc_key']) ? $spbc_settings['spbc_key'] : false;
702
  if ( Get::get('access') === $apbct->api_key || ($spbc_key !== false && Get::get('access') === $spbc_key) ) {
703
+ Cookie::set(
704
  'spbc_firewall_pass_key',
705
  md5(Server::get('REMOTE_ADDR') . $spbc_key),
706
  time() + 1200,
707
  '/',
708
  ''
709
  );
710
+ Cookie::set(
711
  'ct_sfw_pass_key',
712
  md5(Server::get('REMOTE_ADDR') . $apbct->api_key),
713
  time() + 1200,
css/cleantalk-public.min.css CHANGED
@@ -1 +1 @@
1
- #honeypot-field-url,.wc_apbct_email_id,input[class*=apbct].apbct_special_field{display:none!important}.comment-form-cookies-consent{width:100%;overflow:hidden}
1
+ #honeypot-field-url,.um-form input[type=text].apbct_special_field,.wc_apbct_email_id,input[class*=apbct].apbct_special_field{display:none!important}.comment-form-cookies-consent{width:100%;overflow:hidden}
inc/cleantalk-admin.php CHANGED
@@ -2,9 +2,9 @@
2
 
3
  use Cleantalk\ApbctWP\CleantalkSettingsTemplates;
4
  use Cleantalk\ApbctWP\Escape;
5
- use Cleantalk\Variables\Get;
6
- use Cleantalk\Variables\Post;
7
- use Cleantalk\Variables\Server;
8
 
9
  require_once('cleantalk-settings.php');
10
 
@@ -444,6 +444,7 @@ function apbct_admin__enqueue_scripts($hook)
444
  'logo' => '<img src="' . Escape::escUrl($apbct->logo) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
445
  'logo_small' => '<img src="' . Escape::escUrl($apbct->logo__small) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
446
  'logo_small_colored' => '<img src="' . Escape::escUrl($apbct->logo__small__colored) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
 
447
  ));
448
 
449
  // DASHBOARD page JavaScript and CSS
2
 
3
  use Cleantalk\ApbctWP\CleantalkSettingsTemplates;
4
  use Cleantalk\ApbctWP\Escape;
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
+ use Cleantalk\ApbctWP\Variables\Server;
8
 
9
  require_once('cleantalk-settings.php');
10
 
444
  'logo' => '<img src="' . Escape::escUrl($apbct->logo) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
445
  'logo_small' => '<img src="' . Escape::escUrl($apbct->logo__small) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
446
  'logo_small_colored' => '<img src="' . Escape::escUrl($apbct->logo__small__colored) . '" alt="" height="" style="width: 17px; vertical-align: text-bottom;" />',
447
+ 'notice_when_deleting_user_text' => __(Escape::escHtml('Warning! Users are deleted without the possibility of restoring them, you can only restore them from a site backup.'), 'cleantalk-spam-protect'),
448
  ));
449
 
450
  // DASHBOARD page JavaScript and CSS
inc/cleantalk-ajax.php CHANGED
@@ -5,9 +5,9 @@
5
  */
6
 
7
  use Cleantalk\ApbctWP\Variables\Cookie;
8
- use Cleantalk\Variables\Get;
9
- use Cleantalk\Variables\Post;
10
- use Cleantalk\Variables\Server;
11
 
12
  $_cleantalk_ajax_actions_to_check[] = 'qcf_validate_form'; //Quick Contact Form
13
  $_cleantalk_ajax_actions_to_check[] = 'amoforms_submit'; //amoForms
@@ -409,7 +409,7 @@ function ct_ajax_hook($message_obj = null)
409
 
410
  global $apbct;
411
  // Skip test if
412
- if ( ( ! $apbct->settings['forms__general_contact_forms_test'] || $apbct->settings['forms__check_external'] ) || // Test disabled
413
  ! apbct_is_user_enable($apbct->user) || // User is admin, editor, author
414
  // (function_exists('get_current_user_id') && get_current_user_id() != 0) || // Check with default wp_* function if it's admin
415
  ( ! $apbct->settings['data__protect_logged_in'] && ($apbct->user instanceof WP_User) && $apbct->user->ID !== 0) || // Logged in user
5
  */
6
 
7
  use Cleantalk\ApbctWP\Variables\Cookie;
8
+ use Cleantalk\ApbctWP\Variables\Get;
9
+ use Cleantalk\ApbctWP\Variables\Post;
10
+ use Cleantalk\ApbctWP\Variables\Server;
11
 
12
  $_cleantalk_ajax_actions_to_check[] = 'qcf_validate_form'; //Quick Contact Form
13
  $_cleantalk_ajax_actions_to_check[] = 'amoforms_submit'; //amoForms
409
 
410
  global $apbct;
411
  // Skip test if
412
+ if ( ( ! $apbct->settings['forms__general_contact_forms_test'] && ! $apbct->settings['forms__check_external'] ) || // Test disabled
413
  ! apbct_is_user_enable($apbct->user) || // User is admin, editor, author
414
  // (function_exists('get_current_user_id') && get_current_user_id() != 0) || // Check with default wp_* function if it's admin
415
  ( ! $apbct->settings['data__protect_logged_in'] && ($apbct->user instanceof WP_User) && $apbct->user->ID !== 0) || // Logged in user
inc/cleantalk-common.php CHANGED
@@ -10,9 +10,9 @@ use Cleantalk\ApbctWP\GetFieldsAny;
10
  use Cleantalk\ApbctWP\Helper;
11
  use Cleantalk\ApbctWP\Variables\Cookie;
12
  use Cleantalk\Common\DB;
13
- use Cleantalk\Variables\Get;
14
- use Cleantalk\Variables\Post;
15
- use Cleantalk\Variables\Server;
16
 
17
  function apbct_array($array)
18
  {
@@ -1128,7 +1128,7 @@ function apbct_add_admin_ip_to_swf_whitelist($user)
1128
  apbct_private_list_add($ip) &&
1129
  ! headers_sent()
1130
  ) {
1131
- \Cleantalk\ApbctWP\Variables\Cookie::set(
1132
  'ct_sfw_ip_wl',
1133
  md5($ip . $apbct->api_key),
1134
  time() + 86400 * 30,
10
  use Cleantalk\ApbctWP\Helper;
11
  use Cleantalk\ApbctWP\Variables\Cookie;
12
  use Cleantalk\Common\DB;
13
+ use Cleantalk\ApbctWP\Variables\Get;
14
+ use Cleantalk\ApbctWP\Variables\Post;
15
+ use Cleantalk\ApbctWP\Variables\Server;
16
 
17
  function apbct_array($array)
18
  {
1128
  apbct_private_list_add($ip) &&
1129
  ! headers_sent()
1130
  ) {
1131
+ Cookie::set(
1132
  'ct_sfw_ip_wl',
1133
  md5($ip . $apbct->api_key),
1134
  time() + 86400 * 30,
inc/cleantalk-pluggable.php CHANGED
@@ -2,9 +2,9 @@
2
 
3
  use Cleantalk\ApbctWP\Helper;
4
  use Cleantalk\ApbctWP\RemoteCalls;
5
- use Cleantalk\Variables\Get;
6
- use Cleantalk\Variables\Post;
7
- use Cleantalk\Variables\Server;
8
 
9
  /**
10
  * Getting current user by cookie
2
 
3
  use Cleantalk\ApbctWP\Helper;
4
  use Cleantalk\ApbctWP\RemoteCalls;
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
+ use Cleantalk\ApbctWP\Variables\Server;
8
 
9
  /**
10
  * Getting current user by cookie
inc/cleantalk-public-integrations.php CHANGED
@@ -4,10 +4,10 @@ use Cleantalk\ApbctWP\Helper;
4
  use Cleantalk\ApbctWP\Sanitize;
5
  use Cleantalk\ApbctWP\State;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
- use Cleantalk\Variables\Get;
8
- use Cleantalk\Variables\Post;
9
  use Cleantalk\Variables\Request;
10
- use Cleantalk\Variables\Server;
11
 
12
  // MailChimp Premium for Wordpress
13
  function ct_add_mc4wp_error_message($messages)
4
  use Cleantalk\ApbctWP\Sanitize;
5
  use Cleantalk\ApbctWP\State;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
+ use Cleantalk\ApbctWP\Variables\Get;
8
+ use Cleantalk\ApbctWP\Variables\Post;
9
  use Cleantalk\Variables\Request;
10
+ use Cleantalk\ApbctWP\Variables\Server;
11
 
12
  // MailChimp Premium for Wordpress
13
  function ct_add_mc4wp_error_message($messages)
inc/cleantalk-public-validate-skip-functions.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
- use Cleantalk\Variables\Server;
4
- use Cleantalk\Variables\Post;
5
 
6
  /**
7
  * Function for skip in ct_contact_form_validate_postdata()
1
  <?php
2
 
3
+ use Cleantalk\ApbctWP\Variables\Server;
4
+ use Cleantalk\ApbctWP\Variables\Post;
5
 
6
  /**
7
  * Function for skip in ct_contact_form_validate_postdata()
inc/cleantalk-public-validate.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  use Cleantalk\ApbctWP\Sanitize;
4
  use Cleantalk\ApbctWP\Variables\Cookie;
5
- use Cleantalk\Variables\Post;
6
- use Cleantalk\Variables\Server;
7
 
8
  /**
9
  * General test for any contact form
2
 
3
  use Cleantalk\ApbctWP\Sanitize;
4
  use Cleantalk\ApbctWP\Variables\Cookie;
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
+ use Cleantalk\ApbctWP\Variables\Server;
7
 
8
  /**
9
  * General test for any contact form
inc/cleantalk-public.php CHANGED
@@ -3,10 +3,10 @@
3
  use Cleantalk\ApbctWP\Escape;
4
  use Cleantalk\ApbctWP\Sanitize;
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
- use Cleantalk\Variables\Get;
7
- use Cleantalk\Variables\Post;
8
  use Cleantalk\Variables\Request;
9
- use Cleantalk\Variables\Server;
10
 
11
  /**
12
  * Init functions
@@ -586,15 +586,16 @@ function ct_add_hidden_fields(
586
  "<script type=\"text/javascript\" "
587
  . (class_exists('Cookiebot_WP') ? 'data-cookieconsent="ignore"' : '')
588
  . ">
589
- function apbct_attach_event_handler__backend(elem, event, callback){
590
  if(typeof window.addEventListener === \"function\") elem.addEventListener(event, callback);
591
- else elem.attachEvent(event, callback);
592
  }
593
- apbct_attach_event_handler__backend(window, 'load', function(){
594
- if (typeof apbctLocalStorage === \"object\")
595
  apbctLocalStorage.set('{$field_name}', '{$ct_checkjs_key}', false );
596
- else
597
- console.log('APBCT ERROR: apbct-public--functions is not loaded.');
 
598
  });
599
  </script>";
600
  // Using AJAX to get key
@@ -1178,11 +1179,11 @@ function ct_print_form($arr, $k)
1178
  foreach ( $arr as $key => $value ) {
1179
  if ( ! is_array($value) ) {
1180
  print '<textarea
1181
- name="' . ($k == '' ? $key : $k . '[' . $key . ']') . '"
1182
- style="display:none;">' . htmlspecialchars($value)
1183
  . '</textarea>';
1184
  } else {
1185
- ct_print_form($value, $k == '' ? $key : $k . '[' . $key . ']');
1186
  }
1187
  }
1188
  }
3
  use Cleantalk\ApbctWP\Escape;
4
  use Cleantalk\ApbctWP\Sanitize;
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
+ use Cleantalk\ApbctWP\Variables\Get;
7
+ use Cleantalk\ApbctWP\Variables\Post;
8
  use Cleantalk\Variables\Request;
9
+ use Cleantalk\ApbctWP\Variables\Server;
10
 
11
  /**
12
  * Init functions
586
  "<script type=\"text/javascript\" "
587
  . (class_exists('Cookiebot_WP') ? 'data-cookieconsent="ignore"' : '')
588
  . ">
589
+ function apbct_attach_event_handler__backend(elem, event, callback) {
590
  if(typeof window.addEventListener === \"function\") elem.addEventListener(event, callback);
591
+ else elem.attachEvent(event, callback);
592
  }
593
+ apbct_attach_event_handler__backend(window, 'DOMContentLoaded', function(){
594
+ if (typeof apbctLocalStorage === \"object\") {
595
  apbctLocalStorage.set('{$field_name}', '{$ct_checkjs_key}', false );
596
+ } else {
597
+ console.log('APBCT ERROR: apbctLocalStorage object is not loaded.');
598
+ }
599
  });
600
  </script>";
601
  // Using AJAX to get key
1179
  foreach ( $arr as $key => $value ) {
1180
  if ( ! is_array($value) ) {
1181
  print '<textarea
1182
+ name="' . esc_attr($k === '' ? $key : $k . '[' . $key . ']') . '"
1183
+ style="display:none;">' . esc_textarea(htmlspecialchars($value))
1184
  . '</textarea>';
1185
  } else {
1186
+ ct_print_form($value, $k === '' ? $key : $k . '[' . $key . ']');
1187
  }
1188
  }
1189
  }
inc/cleantalk-settings.php CHANGED
@@ -3,9 +3,9 @@
3
  use Cleantalk\ApbctWP\Escape;
4
  use Cleantalk\ApbctWP\Helper;
5
  use Cleantalk\ApbctWP\Validate;
6
- use Cleantalk\Variables\Post;
7
  use Cleantalk\ApbctWP\Cron;
8
- use Cleantalk\Variables\Server;
9
 
10
  /**
11
  * Admin action 'admin_menu' - Add the admin options page
3
  use Cleantalk\ApbctWP\Escape;
4
  use Cleantalk\ApbctWP\Helper;
5
  use Cleantalk\ApbctWP\Validate;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
  use Cleantalk\ApbctWP\Cron;
8
+ use Cleantalk\ApbctWP\Variables\Server;
9
 
10
  /**
11
  * Admin action 'admin_menu' - Add the admin options page
inc/cleantalk-updater.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  use Cleantalk\ApbctWP\Cron;
4
  use Cleantalk\ApbctWP\Helper;
5
- use Cleantalk\Variables\Server;
6
 
7
  /**
8
  * Main function to compare versions and run necessary update functions.
2
 
3
  use Cleantalk\ApbctWP\Cron;
4
  use Cleantalk\ApbctWP\Helper;
5
+ use Cleantalk\ApbctWP\Variables\Server;
6
 
7
  /**
8
  * Main function to compare versions and run necessary update functions.
js/cleantalk-admin.min.js CHANGED
@@ -1,2 +1,2 @@
1
- function apbct_admin_sendAJAX(n,o,a){var t=o.callback||null,l=o.callback_context||null,c=o.callback_params||null,e=o.async||!0,r=o.notJson||null,s=o.timeout||15e3,a=a||null,i=o.button||null,u=o.spinner||null,d=o.progressbar||null;"string"==typeof n?n=n+"&_ajax_nonce="+ctAdminCommon._ajax_nonce+"&no_cache="+Math.random():(n._ajax_nonce=ctAdminCommon._ajax_nonce,n.no_cache=Math.random()),i&&(i.setAttribute("disabled","disabled"),i.style.cursor="not-allowed"),u&&jQuery(u).css("display","inline"),jQuery.ajax({type:"POST",url:ctAdminCommon._ajax_url,data:n,async:e,success:function(e){i&&(i.removeAttribute("disabled"),i.style.cursor="pointer"),u&&jQuery(u).css("display","none"),(e=r?e:JSON.parse(e)).error?(setTimeout(function(){d&&d.fadeOut("slow")},1e3),"undefined"!=typeof cleantalkModal?(cleantalkModal.loaded="Error:<br>"+e.error.toString(),cleantalkModal.open()):alert("Error happens: "+(e.error||"Unkown"))):t&&(c?t.apply(l,c.concat(e,n,o,a)):t(e,n,o,a))},error:function(e,n,o){i&&(i.removeAttribute("disabled"),i.style.cursor="pointer"),u&&jQuery(u).css("display","none"),console.log("APBCT_AJAX_ERROR"),console.log(e),console.log(n),console.log(o)},timeout:s})}jQuery(document).ready(function(){jQuery(".apbct_update_notice").on("click","button",function(){var e=new Date((new Date).getTime()+2592e6),n="https:"===location.protocol?"; secure":"";document.cookie="apbct_update_banner_closed=1; path=/; expires="+e.toUTCString()+"; samesite=lax"+n}),jQuery('li a[href="options-general.php?page=cleantalk"]').css("white-space","nowrap").css("display","inline-block"),jQuery("body").on("click",".apbct-notice .notice-dismiss",function(e){e=jQuery(e.target).parent().attr("id");e&&apbct_admin_sendAJAX({action:"cleantalk_dismiss_notice",notice_id:e},{callback:null})})});
2
  //# sourceMappingURL=cleantalk-admin.min.js.map
1
+ function apbct_admin_sendAJAX(n,o,t){var a=o.callback||null,c=o.callback_context||null,l=o.callback_params||null,e=o.async||!0,r=o.notJson||null,i=o.timeout||15e3,t=t||null,s=o.button||null,u=o.spinner||null,d=o.progressbar||null;"string"==typeof n?n=n+"&_ajax_nonce="+ctAdminCommon._ajax_nonce+"&no_cache="+Math.random():(n._ajax_nonce=ctAdminCommon._ajax_nonce,n.no_cache=Math.random()),s&&(s.setAttribute("disabled","disabled"),s.style.cursor="not-allowed"),u&&jQuery(u).css("display","inline"),jQuery.ajax({type:"POST",url:ctAdminCommon._ajax_url,data:n,async:e,success:function(e){s&&(s.removeAttribute("disabled"),s.style.cursor="pointer"),u&&jQuery(u).css("display","none"),(e=r?e:JSON.parse(e)).error?(setTimeout(function(){d&&d.fadeOut("slow")},1e3),"undefined"!=typeof cleantalkModal?(cleantalkModal.loaded="Error:<br>"+e.error.toString(),cleantalkModal.open()):alert("Error happens: "+(e.error||"Unkown"))):a&&(l?a.apply(c,l.concat(e,n,o,t)):a(e,n,o,t))},error:function(e,n,o){s&&(s.removeAttribute("disabled"),s.style.cursor="pointer"),u&&jQuery(u).css("display","none"),console.log("APBCT_AJAX_ERROR"),console.log(e),console.log(n),console.log(o)},timeout:i})}jQuery(document).ready(function(){jQuery(".apbct_update_notice").on("click","button",function(){var e=new Date((new Date).getTime()+2592e6),n="https:"===location.protocol?"; secure":"";document.cookie="apbct_update_banner_closed=1; path=/; expires="+e.toUTCString()+"; samesite=lax"+n}),jQuery('li a[href="options-general.php?page=cleantalk"]').css("white-space","nowrap").css("display","inline-block"),jQuery("body").on("click",".apbct-notice .notice-dismiss",function(e){e=jQuery(e.target).parent().attr("id");e&&apbct_admin_sendAJAX({action:"cleantalk_dismiss_notice",notice_id:e},{callback:null})}),jQuery(".ct_username .row-actions .delete a").on("click",function(e){e.preventDefault(),confirm(ctAdminCommon.notice_when_deleting_user_text)&&(window.location=this.href)})});
2
  //# sourceMappingURL=cleantalk-admin.min.js.map
js/cleantalk-admin.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cleantalk-admin.min.js","sources":["cleantalk-admin.js"],"sourcesContent":["jQuery(document).ready(function(){\n\t\n\t// Auto update banner close handler\n\tjQuery('.apbct_update_notice').on('click', 'button', function(){\n\t\tvar ct_date = new Date(new Date().getTime() + 1000 * 86400 * 30 );\n\t\tvar ctSecure = location.protocol === 'https:' ? '; secure' : '';\n\t\tdocument.cookie = \"apbct_update_banner_closed=1; path=/; expires=\" + ct_date.toUTCString() + \"; samesite=lax\" + ctSecure;\n\t});\n\t\n\tjQuery('li a[href=\"options-general.php?page=cleantalk\"]').css('white-space','nowrap').css('display','inline-block');\n\n\tjQuery('body').on('click', '.apbct-notice .notice-dismiss', function(e){\n\t\tvar apbct_notice_name = jQuery(e.target).parent().attr('id');\n\t\tif( apbct_notice_name ) {\n\t\t\tapbct_admin_sendAJAX( { 'action' : 'cleantalk_dismiss_notice', 'notice_id' : apbct_notice_name }, { 'callback' : null } );\n\t\t}\n\t});\n\t\n});\nfunction apbct_admin_sendAJAX(data, params, obj){\n\n\t// Default params\n\tvar callback = params.callback || null;\n\tvar callback_context = params.callback_context || null;\n\tvar callback_params = params.callback_params || null;\n\tvar async = params.async || true;\n\tvar notJson = params.notJson || null;\n\tvar timeout = params.timeout || 15000;\n\tvar obj = obj || null;\n\tvar button = params.button || null;\n\tvar spinner = params.spinner || null;\n\tvar progressbar = params.progressbar || null;\n\n\tif(typeof (data) === 'string') {\n\t\tdata = data + '&_ajax_nonce=' + ctAdminCommon._ajax_nonce + '&no_cache=' + Math.random();\n\t} else {\n\t\tdata._ajax_nonce = ctAdminCommon._ajax_nonce;\n\t\tdata.no_cache = Math.random();\n\t}\n\t// Button and spinner\n\tif(button) {button.setAttribute('disabled', 'disabled'); button.style.cursor = 'not-allowed'; }\n\tif(spinner) jQuery(spinner).css('display', 'inline');\n\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\turl: ctAdminCommon._ajax_url,\n\t\tdata: data,\n\t\tasync: async,\n\t\tsuccess: function(result){\n\t\t\tif(button){ button.removeAttribute('disabled'); button.style.cursor = 'pointer'; }\n\t\t\tif(spinner) jQuery(spinner).css('display', 'none');\n\t\t\tif(!notJson) result = JSON.parse(result);\n\t\t\tif(result.error){\n\t\t\t\tsetTimeout(function(){ if(progressbar) progressbar.fadeOut('slow'); }, 1000);\n\t\t\t\tif( typeof cleantalkModal !== 'undefined' ) {\n\t\t\t\t\t// Show the result by modal\n\t\t\t\t\tcleantalkModal.loaded = 'Error:<br>' + result.error.toString();\n\t\t\t\t\tcleantalkModal.open();\n\t\t\t\t} else {\n\t\t\t\t\talert('Error happens: ' + (result.error || 'Unkown'));\n\t\t\t\t}\n\n\t\t\t}else{\n\t\t\t\tif(callback) {\n\t\t\t\t\tif (callback_params)\n\t\t\t\t\t\tcallback.apply( callback_context, callback_params.concat( result, data, params, obj ) );\n\t\t\t\t\telse\n\t\t\t\t\t\tcallback(result, data, params, obj);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\terror: function(jqXHR, textStatus, errorThrown){\n\t\t\tif(button){ button.removeAttribute('disabled'); button.style.cursor = 'pointer'; }\n\t\t\tif(spinner) jQuery(spinner).css('display', 'none');\n\t\t\tconsole.log('APBCT_AJAX_ERROR');\n\t\t\tconsole.log(jqXHR);\n\t\t\tconsole.log(textStatus);\n\t\t\tconsole.log(errorThrown);\n\t\t},\n\t\ttimeout: timeout,\n\t});\n}"],"names":["apbct_admin_sendAJAX","data","params","obj","callback","callback_context","callback_params","async","notJson","timeout","button","spinner","progressbar","ctAdminCommon","_ajax_nonce","Math","random","no_cache","setAttribute","style","cursor","jQuery","css","ajax","type","url","_ajax_url","success","result","removeAttribute","JSON","parse","error","setTimeout","fadeOut","cleantalkModal","loaded","toString","open","alert","apply","concat","jqXHR","textStatus","errorThrown","console","log","document","ready","on","ct_date","Date","getTime","ctSecure","location","protocol","cookie","toUTCString","e","apbct_notice_name","target","parent","attr","action","notice_id"],"mappings":"AAmBA,SAASA,qBAAqBC,EAAMC,EAAQC,GAG3C,IAAIC,EAAcF,EAAOE,UAAe,KACpCC,EAAmBH,EAAOG,kBAAoB,KAC9CC,EAAkBJ,EAAOI,iBAAmB,KAC5CC,EAAQL,EAAOK,QAAS,EACxBC,EAAcN,EAAOM,SAAe,KACpCC,EAAcP,EAAOO,SAAe,KACpCN,EAAcA,GAAsB,KACpCO,EAAcR,EAAOQ,QAAe,KACpCC,EAAcT,EAAOS,SAAe,KACpCC,EAAcV,EAAOU,aAAe,KAEnB,iBAAX,EACTX,EAAOA,EAAO,gBAAkBY,cAAcC,YAAc,aAAeC,KAAKC,UAEhFf,EAAKa,YAAcD,cAAcC,YACjCb,EAAKgB,SAAWF,KAAKC,UAGnBN,IAAUA,EAAOQ,aAAa,WAAY,YAAaR,EAAOS,MAAMC,OAAS,eAC7ET,GAASU,OAAOV,GAASW,IAAI,UAAW,UAE3CD,OAAOE,KAAK,CACXC,KAAM,OACNC,IAAKZ,cAAca,UACnBzB,KAAMA,EACNM,MAAOA,EACPoB,QAAS,SAASC,GACdlB,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAAUU,OAAOV,GAASW,IAAI,UAAW,SAC/BM,EAATpB,EACDoB,EADmBE,KAAKC,MAAMH,IACvBI,OACTC,WAAW,WAAerB,GAAaA,EAAYsB,QAAQ,SAAY,KACzC,oBAAnBC,gBAEVA,eAAeC,OAAS,aAAeR,EAAOI,MAAMK,WACpDF,eAAeG,QAEfC,MAAM,mBAAqBX,EAAOI,OAAS,YAIzC5B,IACEE,EACHF,EAASoC,MAAOnC,EAAkBC,EAAgBmC,OAAQb,EAAQ3B,EAAMC,EAAQC,IAEhFC,EAASwB,EAAQ3B,EAAMC,EAAQC,KAInC6B,MAAO,SAASU,EAAOC,EAAYC,GAC/BlC,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAASU,OAAOV,GAASW,IAAI,UAAW,QAC3CuB,QAAQC,IAAI,oBACZD,QAAQC,IAAIJ,GACZG,QAAQC,IAAIH,GACZE,QAAQC,IAAIF,IAEbnC,QAASA,IA/EXY,OAAO0B,UAAUC,MAAM,WAGtB3B,OAAO,wBAAwB4B,GAAG,QAAS,SAAU,WACpD,IAAIC,EAAU,IAAIC,MAAK,IAAIA,MAAOC,UAAY,QAC1CC,EAAiC,WAAtBC,SAASC,SAAwB,WAAa,GAC7DR,SAASS,OAAS,iDAAmDN,EAAQO,cAAgB,iBAAmBJ,IAGjHhC,OAAO,mDAAmDC,IAAI,cAAc,UAAUA,IAAI,UAAU,gBAEpGD,OAAO,QAAQ4B,GAAG,QAAS,gCAAiC,SAASS,GAChEC,EAAoBtC,OAAOqC,EAAEE,QAAQC,SAASC,KAAK,MACnDH,GACH3D,qBAAsB,CAAE+D,OAAW,2BAA4BC,UAAcL,GAAqB,CAAEvD,SAAa"}
1
+ {"version":3,"file":"cleantalk-admin.min.js","sources":["cleantalk-admin.js"],"sourcesContent":["jQuery(document).ready(function(){\n\t\n\t// Auto update banner close handler\n\tjQuery('.apbct_update_notice').on('click', 'button', function(){\n\t\tvar ct_date = new Date(new Date().getTime() + 1000 * 86400 * 30 );\n\t\tvar ctSecure = location.protocol === 'https:' ? '; secure' : '';\n\t\tdocument.cookie = \"apbct_update_banner_closed=1; path=/; expires=\" + ct_date.toUTCString() + \"; samesite=lax\" + ctSecure;\n\t});\n\t\n\tjQuery('li a[href=\"options-general.php?page=cleantalk\"]').css('white-space','nowrap').css('display','inline-block');\n\n\tjQuery('body').on('click', '.apbct-notice .notice-dismiss', function(e){\n\t\tvar apbct_notice_name = jQuery(e.target).parent().attr('id');\n\t\tif( apbct_notice_name ) {\n\t\t\tapbct_admin_sendAJAX( { 'action' : 'cleantalk_dismiss_notice', 'notice_id' : apbct_notice_name }, { 'callback' : null } );\n\t\t}\n\t});\n\n\t// Notice when deleting user\n\tjQuery('.ct_username .row-actions .delete a').on('click', function (e) {\n\t\te.preventDefault();\n\n\t\tlet result = confirm(ctAdminCommon.notice_when_deleting_user_text);\n\n\t\tif (result) {\n\t\t\twindow.location = this.href\n\t\t}\n\t});\n\n});\nfunction apbct_admin_sendAJAX(data, params, obj){\n\n\t// Default params\n\tvar callback = params.callback || null;\n\tvar callback_context = params.callback_context || null;\n\tvar callback_params = params.callback_params || null;\n\tvar async = params.async || true;\n\tvar notJson = params.notJson || null;\n\tvar timeout = params.timeout || 15000;\n\tvar obj = obj || null;\n\tvar button = params.button || null;\n\tvar spinner = params.spinner || null;\n\tvar progressbar = params.progressbar || null;\n\n\tif(typeof (data) === 'string') {\n\t\tdata = data + '&_ajax_nonce=' + ctAdminCommon._ajax_nonce + '&no_cache=' + Math.random();\n\t} else {\n\t\tdata._ajax_nonce = ctAdminCommon._ajax_nonce;\n\t\tdata.no_cache = Math.random();\n\t}\n\t// Button and spinner\n\tif(button) {button.setAttribute('disabled', 'disabled'); button.style.cursor = 'not-allowed'; }\n\tif(spinner) jQuery(spinner).css('display', 'inline');\n\n\tjQuery.ajax({\n\t\ttype: \"POST\",\n\t\turl: ctAdminCommon._ajax_url,\n\t\tdata: data,\n\t\tasync: async,\n\t\tsuccess: function(result){\n\t\t\tif(button){ button.removeAttribute('disabled'); button.style.cursor = 'pointer'; }\n\t\t\tif(spinner) jQuery(spinner).css('display', 'none');\n\t\t\tif(!notJson) result = JSON.parse(result);\n\t\t\tif(result.error){\n\t\t\t\tsetTimeout(function(){ if(progressbar) progressbar.fadeOut('slow'); }, 1000);\n\t\t\t\tif( typeof cleantalkModal !== 'undefined' ) {\n\t\t\t\t\t// Show the result by modal\n\t\t\t\t\tcleantalkModal.loaded = 'Error:<br>' + result.error.toString();\n\t\t\t\t\tcleantalkModal.open();\n\t\t\t\t} else {\n\t\t\t\t\talert('Error happens: ' + (result.error || 'Unkown'));\n\t\t\t\t}\n\n\t\t\t}else{\n\t\t\t\tif(callback) {\n\t\t\t\t\tif (callback_params)\n\t\t\t\t\t\tcallback.apply( callback_context, callback_params.concat( result, data, params, obj ) );\n\t\t\t\t\telse\n\t\t\t\t\t\tcallback(result, data, params, obj);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\terror: function(jqXHR, textStatus, errorThrown){\n\t\t\tif(button){ button.removeAttribute('disabled'); button.style.cursor = 'pointer'; }\n\t\t\tif(spinner) jQuery(spinner).css('display', 'none');\n\t\t\tconsole.log('APBCT_AJAX_ERROR');\n\t\t\tconsole.log(jqXHR);\n\t\t\tconsole.log(textStatus);\n\t\t\tconsole.log(errorThrown);\n\t\t},\n\t\ttimeout: timeout,\n\t});\n}"],"names":["apbct_admin_sendAJAX","data","params","obj","callback","callback_context","callback_params","async","notJson","timeout","button","spinner","progressbar","ctAdminCommon","_ajax_nonce","Math","random","no_cache","setAttribute","style","cursor","jQuery","css","ajax","type","url","_ajax_url","success","result","removeAttribute","JSON","parse","error","setTimeout","fadeOut","cleantalkModal","loaded","toString","open","alert","apply","concat","jqXHR","textStatus","errorThrown","console","log","document","ready","on","ct_date","Date","getTime","ctSecure","location","protocol","cookie","toUTCString","e","apbct_notice_name","target","parent","attr","action","notice_id","preventDefault","confirm","notice_when_deleting_user_text","window","this","href"],"mappings":"AA8BA,SAASA,qBAAqBC,EAAMC,EAAQC,GAG3C,IAAIC,EAAcF,EAAOE,UAAe,KACpCC,EAAmBH,EAAOG,kBAAoB,KAC9CC,EAAkBJ,EAAOI,iBAAmB,KAC5CC,EAAQL,EAAOK,QAAS,EACxBC,EAAcN,EAAOM,SAAe,KACpCC,EAAcP,EAAOO,SAAe,KACpCN,EAAcA,GAAsB,KACpCO,EAAcR,EAAOQ,QAAe,KACpCC,EAAcT,EAAOS,SAAe,KACpCC,EAAcV,EAAOU,aAAe,KAEnB,iBAAX,EACTX,EAAOA,EAAO,gBAAkBY,cAAcC,YAAc,aAAeC,KAAKC,UAEhFf,EAAKa,YAAcD,cAAcC,YACjCb,EAAKgB,SAAWF,KAAKC,UAGnBN,IAAUA,EAAOQ,aAAa,WAAY,YAAaR,EAAOS,MAAMC,OAAS,eAC7ET,GAASU,OAAOV,GAASW,IAAI,UAAW,UAE3CD,OAAOE,KAAK,CACXC,KAAM,OACNC,IAAKZ,cAAca,UACnBzB,KAAMA,EACNM,MAAOA,EACPoB,QAAS,SAASC,GACdlB,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAAUU,OAAOV,GAASW,IAAI,UAAW,SAC/BM,EAATpB,EACDoB,EADmBE,KAAKC,MAAMH,IACvBI,OACTC,WAAW,WAAerB,GAAaA,EAAYsB,QAAQ,SAAY,KACzC,oBAAnBC,gBAEVA,eAAeC,OAAS,aAAeR,EAAOI,MAAMK,WACpDF,eAAeG,QAEfC,MAAM,mBAAqBX,EAAOI,OAAS,YAIzC5B,IACEE,EACHF,EAASoC,MAAOnC,EAAkBC,EAAgBmC,OAAQb,EAAQ3B,EAAMC,EAAQC,IAEhFC,EAASwB,EAAQ3B,EAAMC,EAAQC,KAInC6B,MAAO,SAASU,EAAOC,EAAYC,GAC/BlC,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAASU,OAAOV,GAASW,IAAI,UAAW,QAC3CuB,QAAQC,IAAI,oBACZD,QAAQC,IAAIJ,GACZG,QAAQC,IAAIH,GACZE,QAAQC,IAAIF,IAEbnC,QAASA,IA1FXY,OAAO0B,UAAUC,MAAM,WAGtB3B,OAAO,wBAAwB4B,GAAG,QAAS,SAAU,WACpD,IAAIC,EAAU,IAAIC,MAAK,IAAIA,MAAOC,UAAY,QAC1CC,EAAiC,WAAtBC,SAASC,SAAwB,WAAa,GAC7DR,SAASS,OAAS,iDAAmDN,EAAQO,cAAgB,iBAAmBJ,IAGjHhC,OAAO,mDAAmDC,IAAI,cAAc,UAAUA,IAAI,UAAU,gBAEpGD,OAAO,QAAQ4B,GAAG,QAAS,gCAAiC,SAASS,GAChEC,EAAoBtC,OAAOqC,EAAEE,QAAQC,SAASC,KAAK,MACnDH,GACH3D,qBAAsB,CAAE+D,OAAW,2BAA4BC,UAAcL,GAAqB,CAAEvD,SAAa,SAKnHiB,OAAO,uCAAuC4B,GAAG,QAAS,SAAUS,GACnEA,EAAEO,iBAEWC,QAAQrD,cAAcsD,kCAGlCC,OAAOd,SAAWe,KAAKC"}
lib/Cleantalk/Antispam/EmailEncoder.php CHANGED
@@ -3,7 +3,7 @@
3
  namespace Cleantalk\Antispam;
4
 
5
  use Cleantalk\Templates\Singleton;
6
- use Cleantalk\Variables\Post;
7
 
8
  class EmailEncoder
9
  {
@@ -52,6 +52,7 @@ class EmailEncoder
52
  'the_content',
53
  'the_excerpt',
54
  'get_footer',
 
55
  'get_the_excerpt',
56
  'comment_text',
57
  'comment_excerpt',
3
  namespace Cleantalk\Antispam;
4
 
5
  use Cleantalk\Templates\Singleton;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
 
8
  class EmailEncoder
9
  {
52
  'the_content',
53
  'the_excerpt',
54
  'get_footer',
55
+ 'get_header',
56
  'get_the_excerpt',
57
  'comment_text',
58
  'comment_excerpt',
lib/Cleantalk/Antispam/Integrations.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam;
4
 
5
- use Cleantalk\Variables\Server;
6
 
7
  class Integrations
8
  {
2
 
3
  namespace Cleantalk\Antispam;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Server;
6
 
7
  class Integrations
8
  {
lib/Cleantalk/Antispam/Integrations/ElfsightContactForm.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class ElfsightContactForm extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class ElfsightContactForm extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/EstimationForm.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class EstimationForm extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class EstimationForm extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/EventsManager.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Get;
6
 
7
  class EventsManager extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
 
7
  class EventsManager extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/FluentForm.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class FluentForm extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class FluentForm extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/GiveWP.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class GiveWP extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class GiveWP extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/OvaLogin.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class OvaLogin extends IntegrationBase
8
  {
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class OvaLogin extends IntegrationBase
8
  {
lib/Cleantalk/Antispam/Integrations/WPUserMeta.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
- use Cleantalk\Variables\Post;
6
  use WP_Error;
7
 
8
  class WPUserMeta extends IntegrationBase
2
 
3
  namespace Cleantalk\Antispam\Integrations;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
  use WP_Error;
7
 
8
  class WPUserMeta extends IntegrationBase
lib/Cleantalk/ApbctWP/AdminNotices.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
5
- use Cleantalk\Variables\Get;
6
- use Cleantalk\Variables\Post;
7
 
8
  class AdminNotices
9
  {
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
 
8
  class AdminNotices
9
  {
lib/Cleantalk/ApbctWP/CleantalkSettingsTemplates.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class CleantalkSettingsTemplates
8
  {
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class CleantalkSettingsTemplates
8
  {
lib/Cleantalk/ApbctWP/FindSpam/Checker.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam;
4
 
5
- use Cleantalk\Variables\Cookie;
6
 
7
  abstract class Checker
8
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Cookie;
6
 
7
  abstract class Checker
8
  {
lib/Cleantalk/ApbctWP/FindSpam/CommentsChecker.php CHANGED
@@ -4,7 +4,7 @@ namespace Cleantalk\ApbctWP\FindSpam;
4
 
5
  use Cleantalk\ApbctWP\API;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
- use Cleantalk\Variables\Post;
8
 
9
  class CommentsChecker extends Checker
10
  {
4
 
5
  use Cleantalk\ApbctWP\API;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
+ use Cleantalk\ApbctWP\Variables\Post;
8
 
9
  class CommentsChecker extends Checker
10
  {
lib/Cleantalk/ApbctWP/FindSpam/ListTable/Comments.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
- use Cleantalk\Variables\Get;
6
- use Cleantalk\Variables\Post;
7
 
8
  class Comments extends \Cleantalk\ApbctWP\CleantalkListTable
9
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
 
8
  class Comments extends \Cleantalk\ApbctWP\CleantalkListTable
9
  {
lib/Cleantalk/ApbctWP/FindSpam/ListTable/CommentsLogs.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class CommentsLogs extends Comments
8
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class CommentsLogs extends Comments
8
  {
lib/Cleantalk/ApbctWP/FindSpam/ListTable/Users.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
- use Cleantalk\Variables\Get;
6
- use Cleantalk\Variables\Post;
7
 
8
  class Users extends \Cleantalk\ApbctWP\CleantalkListTable
9
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Get;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
 
8
  class Users extends \Cleantalk\ApbctWP\CleantalkListTable
9
  {
lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersLogs.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
- use Cleantalk\Variables\Post;
6
 
7
  class UsersLogs extends Users
8
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Post;
6
 
7
  class UsersLogs extends Users
8
  {
lib/Cleantalk/ApbctWP/FindSpam/ListTable/UsersScan.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
- use Cleantalk\Variables\Server;
6
 
7
  class UsersScan extends Users
8
  {
2
 
3
  namespace Cleantalk\ApbctWP\FindSpam\ListTable;
4
 
5
+ use Cleantalk\ApbctWP\Variables\Server;
6
 
7
  class UsersScan extends Users
8
  {
lib/Cleantalk/ApbctWP/FindSpam/UsersChecker.php CHANGED
@@ -6,7 +6,7 @@ use Cleantalk\ApbctWP\FindSpam\ListTable\BadUsers;
6
  use Cleantalk\ApbctWP\FindSpam\ListTable\UsersLogs;
7
  use Cleantalk\ApbctWP\FindSpam\ListTable\UsersScan;
8
  use Cleantalk\ApbctWP\Variables\Cookie;
9
- use Cleantalk\Variables\Post;
10
 
11
  class UsersChecker extends Checker
12
  {
6
  use Cleantalk\ApbctWP\FindSpam\ListTable\UsersLogs;
7
  use Cleantalk\ApbctWP\FindSpam\ListTable\UsersScan;
8
  use Cleantalk\ApbctWP\Variables\Cookie;
9
+ use Cleantalk\ApbctWP\Variables\Post;
10
 
11
  class UsersChecker extends Checker
12
  {
lib/Cleantalk/ApbctWP/Firewall/AntiCrawler.php CHANGED
@@ -5,8 +5,8 @@ namespace Cleantalk\ApbctWP\Firewall;
5
  use Cleantalk\ApbctWP\Validate;
6
  use Cleantalk\Common\Helper;
7
  use Cleantalk\ApbctWP\Variables\Cookie;
8
- use Cleantalk\Variables\Get;
9
- use Cleantalk\Variables\Server;
10
 
11
  /**
12
  * Class AntiCrawler
5
  use Cleantalk\ApbctWP\Validate;
6
  use Cleantalk\Common\Helper;
7
  use Cleantalk\ApbctWP\Variables\Cookie;
8
+ use Cleantalk\ApbctWP\Variables\Get;
9
+ use Cleantalk\ApbctWP\Variables\Server;
10
 
11
  /**
12
  * Class AntiCrawler
lib/Cleantalk/ApbctWP/Firewall/AntiFlood.php CHANGED
@@ -4,7 +4,7 @@ namespace Cleantalk\ApbctWP\Firewall;
4
 
5
  use Cleantalk\Common\Helper;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
- use Cleantalk\Variables\Server;
8
 
9
  /**
10
  * Class AntiFlood
4
 
5
  use Cleantalk\Common\Helper;
6
  use Cleantalk\ApbctWP\Variables\Cookie;
7
+ use Cleantalk\ApbctWP\Variables\Server;
8
 
9
  /**
10
  * Class AntiFlood
lib/Cleantalk/ApbctWP/Firewall/SFW.php CHANGED
@@ -6,8 +6,8 @@ use Cleantalk\ApbctWP\API;
6
  use Cleantalk\ApbctWP\DB;
7
  use Cleantalk\ApbctWP\Helper;
8
  use Cleantalk\ApbctWP\Variables\Cookie;
9
- use Cleantalk\Variables\Get;
10
- use Cleantalk\Variables\Server;
11
 
12
  class SFW extends \Cleantalk\Common\Firewall\FirewallModule
13
  {
6
  use Cleantalk\ApbctWP\DB;
7
  use Cleantalk\ApbctWP\Helper;
8
  use Cleantalk\ApbctWP\Variables\Cookie;
9
+ use Cleantalk\ApbctWP\Variables\Get;
10
+ use Cleantalk\ApbctWP\Variables\Server;
11
 
12
  class SFW extends \Cleantalk\Common\Firewall\FirewallModule
13
  {
lib/Cleantalk/ApbctWP/GetFieldsAny.php CHANGED
@@ -3,7 +3,7 @@
3
  namespace Cleantalk\ApbctWP;
4
 
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
- use Cleantalk\Variables\Post;
7
 
8
  class GetFieldsAny
9
  {
3
  namespace Cleantalk\ApbctWP;
4
 
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
+ use Cleantalk\ApbctWP\Variables\Post;
7
 
8
  class GetFieldsAny
9
  {
lib/Cleantalk/ApbctWP/RestController.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
 
5
  use WP_REST_Request;
6
 
7
  class RestController extends \WP_REST_Controller
@@ -32,7 +33,7 @@ class RestController extends \WP_REST_Controller
32
  register_rest_route($this->namespace, "/alt_sessions", array(
33
  array(
34
  'methods' => 'POST',
35
- 'callback' => array(\Cleantalk\ApbctWP\Variables\AltSessions::class, 'setFromRemote'),
36
  'args' => array(
37
  'cookies' => array(
38
  'type' => 'array',
@@ -43,7 +44,7 @@ class RestController extends \WP_REST_Controller
43
  ),
44
  array(
45
  'methods' => 'GET',
46
- 'callback' => array(\Cleantalk\ApbctWP\Variables\AltSessions::class, 'getFromRemote'),
47
  'args' => array(
48
  'name' => array(
49
  'type' => 'string',
2
 
3
  namespace Cleantalk\ApbctWP;
4
 
5
+ use Cleantalk\ApbctWP\Variables\AltSessions;
6
  use WP_REST_Request;
7
 
8
  class RestController extends \WP_REST_Controller
33
  register_rest_route($this->namespace, "/alt_sessions", array(
34
  array(
35
  'methods' => 'POST',
36
+ 'callback' => array(AltSessions::class, 'setFromRemote'),
37
  'args' => array(
38
  'cookies' => array(
39
  'type' => 'array',
44
  ),
45
  array(
46
  'methods' => 'GET',
47
+ 'callback' => array(AltSessions::class, 'getFromRemote'),
48
  'args' => array(
49
  'name' => array(
50
  'type' => 'string',
lib/Cleantalk/ApbctWP/Variables/AltSessions.php CHANGED
@@ -3,8 +3,6 @@
3
  namespace Cleantalk\ApbctWP\Variables;
4
 
5
  use Cleantalk\ApbctWP\Helper;
6
- use Cleantalk\Variables\Post;
7
- use Cleantalk\Variables\Server;
8
 
9
  class AltSessions
10
  {
3
  namespace Cleantalk\ApbctWP\Variables;
4
 
5
  use Cleantalk\ApbctWP\Helper;
 
 
6
 
7
  class AltSessions
8
  {
lib/Cleantalk/ApbctWP/Variables/Cookie.php CHANGED
@@ -2,10 +2,8 @@
2
 
3
  namespace Cleantalk\ApbctWP\Variables;
4
 
5
- use Cleantalk\ApbctWP\Helper;
6
  use Cleantalk\ApbctWP\Sanitize;
7
  use Cleantalk\ApbctWP\Validate;
8
- use Cleantalk\Variables\Server;
9
 
10
  class Cookie extends \Cleantalk\Variables\Cookie
11
  {
@@ -163,4 +161,12 @@ class Cookie extends \Cleantalk\Variables\Cookie
163
 
164
  return $visible_fields_collection;
165
  }
 
 
 
 
 
 
 
 
166
  }
2
 
3
  namespace Cleantalk\ApbctWP\Variables;
4
 
 
5
  use Cleantalk\ApbctWP\Sanitize;
6
  use Cleantalk\ApbctWP\Validate;
 
7
 
8
  class Cookie extends \Cleantalk\Variables\Cookie
9
  {
161
 
162
  return $visible_fields_collection;
163
  }
164
+
165
+ /**
166
+ * @inheritDoc
167
+ */
168
+ protected function sanitizeDefault($value)
169
+ {
170
+ return sanitize_textarea_field($value);
171
+ }
172
  }
lib/Cleantalk/ApbctWP/Variables/Get.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Cleantalk\ApbctWP\Variables;
4
+
5
+ class Get extends \Cleantalk\Variables\Get
6
+ {
7
+ /**
8
+ * @inheritDoc
9
+ */
10
+ protected function sanitizeDefault($value)
11
+ {
12
+ return sanitize_textarea_field($value);
13
+ }
14
+ }
lib/Cleantalk/ApbctWP/Variables/Post.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Cleantalk\ApbctWP\Variables;
4
+
5
+ class Post extends \Cleantalk\Variables\Post
6
+ {
7
+ /**
8
+ * @inheritDoc
9
+ */
10
+ protected function sanitizeDefault($value)
11
+ {
12
+ return sanitize_textarea_field($value);
13
+ }
14
+ }
lib/Cleantalk/ApbctWP/Variables/Server.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Cleantalk\ApbctWP\Variables;
4
+
5
+ class Server extends \Cleantalk\Variables\Server
6
+ {
7
+ /**
8
+ * @inheritDoc
9
+ */
10
+ protected function sanitizeDefault($value)
11
+ {
12
+ return sanitize_textarea_field($value);
13
+ }
14
+ }
lib/Cleantalk/Common/Firewall.php CHANGED
@@ -4,8 +4,7 @@ namespace Cleantalk\Common;
4
 
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
  use Cleantalk\Common\Firewall\FirewallModule;
7
- use Cleantalk\Common\Helper as Helper;
8
- use Cleantalk\Variables\Get;
9
 
10
  /**
11
  * CleanTalk SpamFireWall base class.
4
 
5
  use Cleantalk\ApbctWP\Variables\Cookie;
6
  use Cleantalk\Common\Firewall\FirewallModule;
7
+ use Cleantalk\ApbctWP\Variables\Get;
 
8
 
9
  /**
10
  * CleanTalk SpamFireWall base class.
lib/Cleantalk/Common/Helper.php CHANGED
@@ -4,7 +4,7 @@ namespace Cleantalk\Common;
4
 
5
  use Cleantalk\Common\HTTP\Request;
6
  use Cleantalk\Templates\Singleton;
7
- use Cleantalk\Variables\Server;
8
 
9
  /**
10
  * CleanTalk Helper class.
4
 
5
  use Cleantalk\Common\HTTP\Request;
6
  use Cleantalk\Templates\Singleton;
7
+ use Cleantalk\ApbctWP\Variables\Server;
8
 
9
  /**
10
  * CleanTalk Helper class.
lib/Cleantalk/Variables/Cookie.php CHANGED
@@ -25,9 +25,11 @@ class Cookie extends ServerVariables
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
- $value = filter_input(INPUT_COOKIE, $name);
29
-
30
- $value = is_null($value) ? '' : $value;
 
 
31
 
32
  // Remember for further calls
33
  static::getInstance()->rememberVariable($name, $value);
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
+ if ( isset($_COOKIE[$name]) ) {
29
+ $value = $this->getAndSanitize($_COOKIE[$name]);
30
+ } else {
31
+ $value = '';
32
+ }
33
 
34
  // Remember for further calls
35
  static::getInstance()->rememberVariable($name, $value);
lib/Cleantalk/Variables/Get.php CHANGED
@@ -25,11 +25,11 @@ class Get extends ServerVariables
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
- $value = filter_input(INPUT_GET, $name);
29
-
30
- $value = $value === false ? filter_input(INPUT_GET, $name, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY) : $value;
31
-
32
- $value = is_null($value) ? '' : $value;
33
 
34
  // Remember for further calls
35
  static::getInstance()->rememberVariable($name, $value);
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
+ if ( isset($_GET[$name]) ) {
29
+ $value = $this->getAndSanitize($_GET[$name]);
30
+ } else {
31
+ $value = '';
32
+ }
33
 
34
  // Remember for further calls
35
  static::getInstance()->rememberVariable($name, $value);
lib/Cleantalk/Variables/Post.php CHANGED
@@ -25,11 +25,11 @@ class Post extends ServerVariables
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
- $value = filter_input(INPUT_POST, $name);
29
-
30
- $value = $value === false ? filter_input(INPUT_POST, $name, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY) : $value;
31
-
32
- $value = is_null($value) ? '' : $value;
33
 
34
  // Remember for further calls
35
  static::getInstance()->rememberVariable($name, $value);
25
  {
26
  // Return from memory. From $this->variables
27
  if (! isset(static::$instance->variables[$name])) {
28
+ if ( isset($_POST[$name]) ) {
29
+ $value = $this->getAndSanitize($_POST[$name]);
30
+ } else {
31
+ $value = '';
32
+ }
33
 
34
  // Remember for further calls
35
  static::getInstance()->rememberVariable($name, $value);
lib/Cleantalk/Variables/Server.php CHANGED
@@ -30,7 +30,11 @@ class Server extends ServerVariables
30
 
31
  $name = strtoupper($name);
32
 
33
- $value = filter_input(INPUT_SERVER, $name);
 
 
 
 
34
 
35
  // Convert to upper case for REQUEST_METHOD
36
  if ($name === 'REQUEST_METHOD') {
30
 
31
  $name = strtoupper($name);
32
 
33
+ if ( isset($_SERVER[$name]) ) {
34
+ $value = $this->getAndSanitize($_SERVER[$name]);
35
+ } else {
36
+ $value = '';
37
+ }
38
 
39
  // Convert to upper case for REQUEST_METHOD
40
  if ($name === 'REQUEST_METHOD') {
lib/Cleantalk/Variables/ServerVariables.php CHANGED
@@ -98,4 +98,44 @@ abstract class ServerVariables
98
  {
99
  return self::get($var) === $param;
100
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  }
98
  {
99
  return self::get($var) === $param;
100
  }
101
+
102
+ /**
103
+ * @param $value
104
+ * @param $nesting
105
+ *
106
+ * @return string|array
107
+ */
108
+ public function getAndSanitize(&$value, $nesting = 0)
109
+ {
110
+ if ( is_array($value) ) {
111
+ foreach ( $value as $_key => & $val ) {
112
+ if ( is_array($val) ) {
113
+ if ( $nesting > 20 ) {
114
+ return $value;
115
+ }
116
+ $this->getAndSanitize($val, ++$nesting);
117
+ } else {
118
+ $val = $this->sanitizeDefault($val);
119
+ }
120
+ }
121
+ } else {
122
+ $value = $this->sanitizeDefault($value);
123
+ }
124
+ return $value;
125
+ }
126
+
127
+ /**
128
+ * Sanitize gathering data.
129
+ * No sanitizing by default.
130
+ * Override this method in the internal class!
131
+ *
132
+ * @param string $value
133
+ *
134
+ * @return string
135
+ */
136
+ protected function sanitizeDefault($value)
137
+ {
138
+ // @ToDo Override this method in the internal class!
139
+ return $value;
140
+ }
141
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: spam, antispam, anti-spam, comments, firewall
4
  Requires at least: 3.0
5
  Tested up to: 6.0
6
  Requires PHP: 5.6
7
- Stable tag: 5.181
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
@@ -602,6 +602,18 @@ If your website has forms that send data to external sources, you can enable opt
602
 
603
  == Changelog ==
604
 
 
 
 
 
 
 
 
 
 
 
 
 
605
  = 5.182 Jul 28 2022 =
606
  #### Email encoder improved, internal and external forms protection fixed, code quality improved and some minor issues fixed.
607
  * New. Email encoder. Encoding exclusions implemented.
4
  Requires at least: 3.0
5
  Tested up to: 6.0
6
  Requires PHP: 5.6
7
+ Stable tag: 5.182.1
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
602
 
603
  == Changelog ==
604
 
605
+ = 5.182.1 Aug 04 2022 =
606
+ #### Server variables getting fixed.
607
+ * New. Server variables. Sanitizing logic added.
608
+ * Upd. Server variables. Getting variables logic updated.
609
+ * Upd. Server variables. Default sanitize added for ApbctWP\Variables\* classes.
610
+ * Upd. Server variables. Client code updated - using ApbctWP\Variables\* classes.
611
+ * Upd. Server variables. Sanitizing array nesting increased.
612
+ * Fix. External forms. Form draw fixed.
613
+ * Fix. Common. Set check JS value fixed.
614
+ * Fix. Common. Custom ajax forms catching logic fixed.
615
+ * Fix: added styles to hide the honeypot field in the plugin Ultimate Member
616
+
617
  = 5.182 Jul 28 2022 =
618
  #### Email encoder improved, internal and external forms protection fixed, code quality improved and some minor issues fixed.
619
  * New. Email encoder. Encoding exclusions implemented.