Spam protection, AntiSpam, FireWall by CleanTalk - Version 5.159.5

Version Description

Jun 24 2021 = * New: Admin bar. Attention mark added. * Upd: Admin notices have been rebuilt. * Upd: Integrations with HappyForms updated. * Fix: Skip fluentform multistep request. * Fix: Correct fluent_form skip name. * Fix: Admin notices. Trial and renew notices ID attributes renamed. * Fix: Admin bar. Trial notice font color changed. * Fix: Admin bar. Show admin bar without api key. * Fix: Admin bar. Show attention badge if the api key is empty. * Fix: AC. Skip checking on 302 redirects. * Fix: Added IF NOT EXISTS after ADD COLUMN in cleantalk-updater.php * Fix: Removed ADD PRIMARY KEY from apbct_update_to_5_146_4 * Fix: Removed apbct_update_to_5_146_4 * Fix: Checking output parameters of API-method get_2s_blacklists_db. * Fix: SFW. Writing exclusions fixed. * Fix: Integration. GF names detection fixed. * Fix: Integration. WPForms nicknames detecting fixed. * Fix. SFW. Updating fixed. * Fix: Excluding REST API requests from check. * Fix. Admin notices. Incompatibility notice fixed. * Fix. Compatibility. Notice saving fixed. * Fix. Compatibility. Prevent disabling SFW on incompatibility detected. * Fix. Compatibility. SFW option is no longer disabled on incompatibility detected. * Fix. Admin bar. Reset counters fixed.

Download this release

Release Info

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

Code changes from version 5.159.3 to 5.159.5

changelog.txt CHANGED
@@ -1,2802 +1,2802 @@
1
- == Changelog ==
2
-
3
- = 5.132.3 December 19 2019 =
4
- * Fix: The disable comments functionality.
5
-
6
- = 5.132.2 December 17 2019 =
7
- * Fix: The disable comments functionality.
8
-
9
- = 5.132.1 December 17 2019 =
10
- * Fix: Fatal PHP error.
11
-
12
- = 5.132 December 17 2019 =
13
- * Fix: PHP 7.4 compability
14
- * New: Settings and description for "disable comments" functionality.
15
- * Mod: WooCommerce settings moved to separate block.
16
- * Minor fixes.
17
- * Spam protection improved.
18
-
19
- = 5.131 December 6 2019 =
20
- * Fix: WooCommerce registration.
21
- * Fix: Auto update on Wordperss Multisite.
22
- * Fix: URLs exceptions validation.
23
- * New: Secuirty improved.
24
- * Spam protection is improved.
25
- * Minor fixes ond improvments.
26
-
27
- = 5.130.1 November 20 2019 =
28
- * Fix: Plugin autoupdate issues.
29
- * FIx: Woocommerce checking.
30
- * Fix: Correct IP detection.
31
- * Fix: CSV export not working after update.
32
- * Fix: QuickForms duplicates issues.
33
-
34
- = 5.130 November 14 2019 =
35
- * Fix: JetPack contact form JS check.
36
- * FIx: Iphorm AJAX form.
37
- * Fix: Paid Memberships Pro fix.
38
- * Fix: Divi theme contact form fix.
39
- * Integration: Paid Memberships Pro.
40
- * Integration: Elementor Pro page builder forms.
41
- * Improved: Compatibility with different server.
42
-
43
- = 5.129.1 November 5 2019 =
44
- * Fix: WooCommerce order detecting.
45
-
46
- = 5.129 October 30 2019 =
47
- * Upd: Localize updated.
48
- * Fix: Direct $_SERVER access replaced.
49
- * Integration: The 7 theme contact form.
50
- * Fix: Minor improvements and bug fixes.
51
- * Mod: Putting site in maintenance mode during plugin update.
52
-
53
- = 5.128.1 October 23 2019 =
54
- * Fix: Fatal error when using buffer output.
55
- * Fix: Translate domain for errors.
56
- * Code: Fix spelling in function name.
57
- * Fix: JS disabled error.
58
- * Upd: Comment edit screen updated.
59
- * Fix: Cleantalk\Arr::search() fixed.
60
-
61
- = 5.128 October 17 2019 =
62
- * Mod: Users check - functionality updated.
63
- * Fix: Users check - dates format updated.
64
- * Mod: Comments check - functionality updated.
65
- * Fix: Comments check - dates format updated.
66
- * Fix: Fields exclusion fixed.
67
- * Fix: Notice fixed.
68
- * Fix: Cleantalk/Antispam/API.
69
- * Fix: Minor improvements and bug fixes.
70
-
71
- = 5.127.4 October 13 2019 =
72
- * Mod: Automatically decrease amount of checked users by one request if an error occurs.
73
- * Fix: Security issue.
74
- * Fix: Static JS key.
75
-
76
- = 5.127.3 October 8 2019 =
77
- * Fix: Errors during registration.
78
-
79
- = 5.127.2 October 8 2019 =
80
- * Integration: SeedProd Coming Soon Page Pro.
81
- * Fix: WooCommerce double reuqests.
82
- * Fix: Static JS key.
83
-
84
- = 5.127.1 October 7 2019 =
85
- * Fix: WPMS settings logic.
86
- * Using default database storage engine for tables.
87
-
88
- = 5.127 September 30 2019 =
89
- * Fix: Delete redirect notice on external forms
90
- * Fix: Storing spam for 15 days.
91
- * Fix: correct DiVi display message.
92
- * Integration: Ultimate Members.
93
- * Mod: Setting "Use static JS key" switched to "Auto" if it was "No". Default is "Auto".
94
- * Mod: Moving White Label option to main site settings.
95
- * New: Use static JS key if cache plugin detected.
96
- * New: Settings for URLs, fields, roles exclusions.
97
- * New: Regular Expressions support in URLs, fields exclusions.
98
- * New: Send validation errors on standard registration form.
99
- * Updater: Move exclusions from global variable to settings.
100
- * Deprecated: IP exclusions.
101
-
102
- = 5.126 September 9 2019 =
103
- * Spam protection improved!
104
- * Integration: Option wheel.
105
- * Mod: Improved Email detection.
106
- * Mod: Improved IP detection.
107
- * Fix: Too large database table with alternative sessions.
108
- * Fix: Exception for WooCommerce AJAX.
109
- * Fix: API key validation.
110
- * Minor fixes.
111
-
112
- = 5.125 August 26 2019 =
113
- * Fix: PHP Notices.
114
- * Fix: Auto update.
115
- * Fix: Displaying protection status for IP license.
116
- * Fix: prevent capturing buffer for XMLRPC requests (check_external functionality).
117
- * Fix: API key validating.
118
- * New: Complete deactivation setting.
119
-
120
- = 5.124.1 August 8 2019 =
121
- * Fix: Error on PHP 5.3.
122
-
123
- = 5.124 August 8 2019 =
124
- * Spam protection improved.
125
- * Fix: SpamFireWall local database counter on Multisite.
126
- * Fix: Caldera Forms integration.
127
- * Fix: Settings "Use AJAX for JS check" description.
128
- * Fix: Formidable integration.
129
- * New: External forms check now independed from JavaScript.
130
- * New: Setting Protect external - capture buffer.
131
- * New: QuForm integration.
132
-
133
- = 5.123 July 25 2019 =
134
- * Fix: Plenty of minor fixes.
135
- * Fix: wpDiscuz integration.
136
- * Fix: Integration with bbPress.
137
- * Fix: New comment email notification.
138
- * New: Follow-Up Emails integration.
139
- * Fix: Woocommerce integration.
140
- * Fix: Spelling.
141
-
142
- = 5.122 July 10 2019 =
143
- * Spam Protection improved.
144
- * Fix: Error while checking account status.
145
- * Fix: Conflict with Elementor Pro.
146
- * Fix: Integration with Ninja Forms.
147
- * Fix: Integration with Formidable.
148
- * New: Detecting mobile devices.
149
- * New: Integration for Easy Forms for Mailchimp.
150
-
151
- = 5.121 June 26 2019 =
152
- * Fix: Translation typos.
153
- * Fix: Woocommerce integration.
154
- * Fix: Catching admin in AJAX queries.
155
- * Mod: Session table (cleantalk_sessions) issue.
156
- * Mod: Spam protection improved.
157
- * Integration: Wilcity theme custom registration validation enabled
158
- * New: Option "Use static JS key".
159
-
160
- = 5.120.2 June 17 2019 =
161
- * Fix: WPForms integration.
162
- * Fix: Translation and spelling.
163
- * Fix: Minor PHP error
164
-
165
- = 5.120.1 June 6 2019 =
166
- * Mod: Description for Search form protection.
167
- * Fix: CSS and JS attachment.
168
- * Fix: Undefined index error.
169
-
170
- = 5.120 June 5 2019 =
171
- * Fix: bbPress false positives.
172
- * Fix: SpamFireWall check condition.
173
- * Fix: SpamFireWall block page.
174
- * Fix: Catch admin action via search form test.
175
- * Fix: Catch admin action (AJAX).
176
- * Mod: Using minified version of JS and CSS.
177
- * Mod: Date format in statistics.
178
-
179
- = 5.119.1 May 30 2019 =
180
- * Fix: Helper class error.
181
-
182
- = 5.119 May 30 2019 =
183
- * Fix: No more second request after registration.
184
- * Fix: Activation hook.
185
- * Fix: Alternative sessions. Clear table.
186
- * Fix: Stop capchuring AJAX requests in admin area.
187
- * Fix: Spelling.
188
- * Fix: Registration cookies set.
189
- * Mod: SFW exdtended die page when testing.
190
- * Mod: User-agent modified.
191
- * New: Test search queries for spam.
192
- * New: Gathering and output statistics.
193
-
194
- = 5.118.4 May 13 2019 =
195
- * Fix: SFW cookie. Set correct domain for subdomains.
196
- * Fix: SFW update.
197
- * Fix: IP detection.
198
- * Fix: Triggering AJAX check in backend.
199
- * Fix: Zero submit time on few forms.
200
-
201
- = 5.118.3 April 29 2019 =
202
- * Fix: Spam statistics in dashboard widget.
203
- * Fix: IP detection.
204
- * Fix: Double check AJAX integrated forms like Ninja Forms.
205
- * Fix: Use url exclusions for AJAX forms.
206
-
207
- = 5.118.2 April 25 2019 =
208
- * Mod: Spam filtration quality improved.
209
- * Mod: Store SFW cookie for 30 days.
210
- * Mod: Server IP added to connection report.
211
- * Fix: spam_stat is not defined.
212
-
213
- = 5.118.1 April 19 2019 =
214
- * Fix: Fatal error.
215
- * Mod: Spam protection improved on registrations.
216
-
217
- = 5.118 April 19 2019 =
218
- * Fix: Cookies on registration page.
219
- * Fix: Update fix.
220
- * Fix: Wordpress built-in API.
221
- * Fix: WooCommerce checkout form.
222
- * Fix: UpdraftPlus. Saving settings.
223
- * Fix: Convert Pro saving settings.
224
- * Fix: UTF-8 Converting.
225
- * Fix: GDPR notice.
226
- * Fix: cleantalk_sessions table size reduced.
227
- * Mod: Localization.
228
- * Mod: Performance improved.
229
- * Mod: SpamFierWall improvments.
230
- * Mod: IP detection improved.
231
- * Mod: JavaScript check rewised.
232
- * New: Setting "Use alternative mechanism for cookies".
233
-
234
- = 5.117.1 April 5 2019 =
235
- * Fix: GDPR notice.
236
- * Fix: noCacheJS localization.
237
- * Fix: Fatal error when updating.
238
-
239
- = 5.117 March 27 2019 =
240
- * New: Update logic runs on all pages.
241
- * New: Integration for Ajax Contact Forms plugin.
242
- * New: Notification for users groups about new comments.
243
- * New: SFW die page. Show browser and page creation time.
244
- * Fix: Huge bug in Cleantalk.php connected with servers changing.
245
- * Fix: Check AJAX requests for logged in users.
246
- * Fix: Deleting debug in JS.
247
- * Fix: Validating settings before saving.
248
-
249
- = 5.116.3 March 14 2019 =
250
- * Fix: "Headers already sent" error.
251
- * Fix: Images paths.
252
- * Fix: IP detection.
253
- * Fix: Skip lost password form check
254
- * Fix: Skip mobile requests (push settings)
255
- * Fix: PHP notice when detecting BuddyPress template.
256
-
257
- = 5.116.2 March 7 2019 =
258
- * Fix: Creating tables in MariaDB.
259
-
260
- = 5.116.1 March 6 2019 =
261
- * Fix: Creating tables in DB.
262
- * Fix: PHP Warning in spam statistics widget.
263
-
264
- = 5.116 March 6 2019 =
265
- * Spam filtration quality improved.
266
- * New: Storing visited URLs.
267
- * New: Check before validation Contact Form 7, Comments, Jetpack comments.
268
- * New: Get validation result for Contact Form 7, Comments, Jetpack comments.
269
- * Fix: ES add subscriber.
270
- * Fix: IP detection.
271
-
272
- = 5.115.2 February 27 2019 =
273
- * Fix: False positives spam detection in WP Forms and Contact Form 7.
274
-
275
- = 5.115.1 February 16 2019 =
276
- * Fix: SpamFireWall's false positives.
277
-
278
- = 5.115 February 14 2019 =
279
- * Fix: Http_only flag for backend cookies.
280
- * Fix: Spam filtration improved.
281
- * New: IP detection improved.
282
- * Fix: SpamFirewall update speeded up.
283
- * New: False positives with caching solutions decreased.
284
- * New: Opportunity to use Wordpress HTTP API to connect with Cloud.
285
-
286
- = 5.114 January 31 2019 =
287
- * New: Setting "Use Wordpress HTTP API" as alternative to CURL. Disabled by default.
288
- * Fix: Formidable: Adding small JS check when adding JS_key.
289
- * Mod: layout of settings page.
290
- * Mod: Banner logic altered.
291
-
292
- = 5.113.2 January 18 2019 =
293
- * Fix: "Settings" link returns to plugin page.
294
-
295
- = 5.113.1 January 17 2019 =
296
- * Fix: Conflict with CityTours theme.
297
- * Fix: Error for Wordpress lower 4.7.
298
- * Add: Spam protection: "Validate email for existence".
299
-
300
- = 5.113 January 16 2019 =
301
- * Fix: Fast and Simple Contact Form.
302
- * Fix: Settings layout.
303
- * Fix: Error with WooCommerce Quickview.
304
- * Fix: Bitrix24 contact form.
305
- * Fix: Request time decreased.
306
- * Fix: Requesting account status when activating for IP licenses.
307
- * Add: Precise AJAX request detection.
308
- * Spam protection improved.
309
-
310
- = 5.112 December 21 2018 =
311
- * Fix: Woocommerce AJAX checkout form.
312
- * Fix: Profile Builder Pro.
313
- * Fix: DB structure improvements for WPMS.
314
- * Spam filtering quality improved.
315
- * Minor fixes.
316
-
317
- = 5.111 December 13 2018 =
318
- * Fix: Double request in JetPack contact form.
319
- * Fix: Email notification about spam registration.
320
- * Fix: Links button for feedback comments.
321
- * Fix: Mail notification about plugin error.
322
- * Fix: Key field output.
323
- * Minor fixes.
324
-
325
- = 5.110 November 29 2018 =
326
- * Integration: BuddyPress ActivityWall spam protection.
327
- * Add: GDPR setting for shortcode.
328
- * Add: Support different BuddyPress templates on activity wall.
329
- * Fix: Admin/moderator checking for validate post data.
330
-
331
- = 5.109 November 15 2018 =
332
- * Fix: Added URL and IP exclusions to Contact Form 7.
333
- * Fix: js error when responseText is not exists
334
- * Fix: Sitename when getting key automatically under WPMS.
335
- * Mod: SpamFireWall is now fully compatible with WPMS.
336
- * Mod: Setting 'Tell others about CleanTalk' was deleted.
337
- * Mod: Protection from spam improved.
338
-
339
- = 5.108.1 November 8 2018 =
340
- * Fix: Errors with integration class.
341
-
342
- = 5.108 November 7 2018 =
343
- * Fix: White label mode.
344
- * Fix: SpamFireWall now can be disabled.
345
- * Fix: Layout.
346
- * Integration: WPForms.
347
- * Add: Message about block for all no integrated AJAX forms.
348
- * Add: Displaying account name near api key.
349
-
350
- = 5.107 October 29 2018 =
351
- * Fix: Ninja Forms integration.
352
- * Fix: Cookie usage.
353
- * Add: Capturing AJAX responses from non integrated forms.
354
- * Spam protection improved.
355
- * Minor fixes.
356
-
357
- = 5.106 October 11 2018 =
358
- * Spam filtration improved.
359
- * New: White Label mode.
360
- * Modification: Warning message about test on SpamFireWall die page.
361
- * Integration: WP Maintenance Mode.
362
- * Fix: S2Member.
363
- * Fix: JavaScript attachments reconsidered.
364
- * Fix: Admin banners layout.
365
- * Fix: Minor layout fixes.
366
-
367
- = 5.105 September 26 2018 =
368
- * Integration: Now bloking spam for QAEngine questions.
369
- * Fix: Async http__request call.
370
- * Fix: Unnecessary get_antispam_report_breif method call.
371
- * Layout: Hide "Do you like Cleantlak?" when key is not ok.
372
- * Layout: Minor fixes.
373
-
374
- = 5.104 September 18 2018 =
375
- * Fix: Error when saving settings.
376
- * Fix: Trying update anti spam plugin for the first installation.
377
- * Fix: Update system.
378
- * Fix: Errors output.
379
- * Fix: Plugin's settings under WPMS.
380
- * Fix: SpamFireWall update.
381
- * Fix: The server change system repaired.
382
- * Mod: Cron saving tasks improved.
383
-
384
- = 5.103.1 September 14 2018 =
385
- * Fix: Error when saving settings.
386
- * Fix: Error when getting key automatically.
387
-
388
- = 5.103 September 13 2018 =
389
- * Fix: Gravity Forms response message.
390
- * Fix: SpamFireWall redirect to 404 page.
391
- * Major anti-spam plugin improvement.
392
- * Recombined setting page.
393
- * Added error notification.
394
- * Mod: S2 Members integration.
395
- * Mod: Improved remote calls.
396
-
397
- = 5.102 August 29 2018 =
398
- * Fix: Users and comments check.
399
- * Fix: Update from 5.70 or previous versions.
400
- * Fix: GDPR public JS-script.
401
- * Fix: Dashboard widget JS scripts attachment.
402
- * Fix: WooCommerce "Place order" action.
403
- * Mod: Notification logic altered.
404
- * Mod: Users check table now has 'Signed up' column.
405
- * Minor fixes.
406
-
407
- = 5.101 August 10 2018 =
408
- * Fix: Set cookie only for non-dashboard pages.
409
- * Fix: Dashboard widget JS error.
410
- * Fix: JavaScript error for some environment.
411
- * Mod: Antispam protection accelerated for some pages.
412
-
413
- = 5.100 July 30 2018 =
414
- * Fix: JavaScript dependencies.
415
-
416
- = 5.99.1 July 17 2018 =
417
- * IP detection fixed and improved.
418
-
419
- = 5.99 July 10 2018 =
420
- * Fix: WooCommerce false positives.
421
- * Fix: SpamFireWall IP detection.
422
- * Minor fixes.
423
-
424
- = 5.98 June 27 2018 =
425
- * Fix: WooCommerce: Theme exclusion.
426
- * Fix: Public GDPR JS code.
427
- * Minor fixes.
428
-
429
- = 5.97 June 7 2018 =
430
- * Fix: Update system.
431
- * Fix: Feedback from public page (admin only).
432
- * Fix: Users and comment check: API error.
433
- * Fix: Too many negative reports. (Too big ct_data option)
434
- * Fix: SpamFireWall: Infinite redirection on the blocking page.
435
- * Minor fixes.
436
-
437
- = 5.96 May 22 2018 =
438
- * Fix: Update system.
439
- * Mod: Reset all counters button in admin bar.
440
- * Mod: GDPR compliance.
441
- * Minor fixes.
442
-
443
- = 5.95.1 May 3 2018 =
444
- * Fix: "Get key automatically" button display logic.
445
- * Fix: PHP notices.
446
-
447
- = 5.95 May 2 2018 =
448
- * Spam filtration improved.
449
- * Fix: Public widget layout.
450
- * Fix: Connection reports output.
451
- * Minor fixes.
452
-
453
- = 5.94 April 23 2018 =
454
- * Mod: Async load option for JS.
455
- * Mod: JS scripts loading is conditional.
456
- * Fix: IP detection.
457
- * Fix: IP detection.
458
- * Fix: Javascript error.
459
-
460
- = 5.93.1 April 9 2018 =
461
- * Fix: Fatal error on PHP 5.5 or lower.
462
-
463
- = 5.93 April 9 2018 =
464
- * Fix: Spam FireWall IP detection.
465
- * Fix: Contact Form 7. False positives.
466
- * Mod: Autoupdate function improved.
467
- * Minor fixes.
468
-
469
- = 5.92.2 March 23 2018 =
470
- * Fix: Error if cURL extension is disabled.
471
-
472
- = 5.92.1 March 23 2018 =
473
- * Fix: Spelling
474
- * Fix: Fatal error if cURL extension is disabled.
475
-
476
- = 5.92 March 22 2018 =
477
- * IP detection improved.
478
- * Fix: SSL connection.
479
- * Fix: False positives spam detection in Contact Form 7.
480
- * Minor fixes.
481
-
482
- = 5.91 March 15 2018 =
483
- * Fix: Errors for PHP compiled without XML support.
484
- * Fix: Spelling and translation.
485
- * Stability increased.
486
- * Minor fixes.
487
-
488
- = 5.90 March 7 2018 =
489
- * Improvement: Better IP recognition in Spam FireWall.
490
- * Fix: Gravity Froms blocking message.
491
- * Security improvments.
492
- * Minor fixes.
493
-
494
- = 5.89 February 21 2018 =
495
- * Improved spam filtration quality.
496
- * Improved compatibility.
497
- * Public widget: Styles and referral link added.
498
- * Dashboard widget: revised and fixed.
499
- * Minor fixes.
500
-
501
- = 5.88 February 12 2018 =
502
- * Integration: ConvertPro.
503
- * Improvement: Search for visitor's names in request.
504
- * Fix: Contact Form 7 message recognition.
505
- * Preparation for the remote plugin update.
506
- * Minor fixes.
507
-
508
- = 5.87 February 2 2018 =
509
- * Filtration quality improved.
510
- * Fix: WP Foto Vote downloading images.
511
- * Fix: Fatal error for unsupported PHP 5.2.
512
- * Fix: Formidable Forms improved spam filtration.
513
-
514
- = 5.86 January 25 2018 =
515
- * Fix: High CPU load with wp-ajax.php.
516
- * Fix: Mailpoet: Newsletter.
517
- * Fix: Gravity: Forms standardization for input fields.
518
- * Fix: ajax hook checks data for contact form.
519
- * Fix: UTF8 character in requests.
520
-
521
- = 5.85 January 11 2018 =
522
- * Fix: Fast Secure contact form spam block message.
523
- * Fix: IP license status.
524
- * Layout: Dashboard widget description altered.
525
-
526
- = 5.84 December 26 2017 =
527
- * Integration: PeepSo contact form
528
- * Repared: Feedback from comments page.
529
- * Fix: mb_* functions used only if exists.
530
- * Fix: Gravity forms: Multi-page form logic repared.
531
- * Fix: Gravity forms: AJAX form logic repared.
532
- * Minor fixes.
533
-
534
- = 5.83.2 December 19 2017 =
535
- * Fix: Error in base class.
536
-
537
- = 5.83.1 December 19 2017 =
538
- * Fix: CDN IP detection.
539
-
540
- = 5.83 December 19 2017 =
541
- * Improving: Stability and compatibility.
542
- * Improving: Spam protection.
543
- * Fix: Comments logic filtration.
544
- * Fix: Admin bar counter.
545
- * Minor errors fixes.
546
-
547
- = 5.82.1 December 7 2017 =
548
- * Fixed minor error with attaching JS and CSS files.
549
-
550
- = 5.82 December 4 2017 =
551
- * Plugin doesn't use PHP sessions anymore.
552
- * Bug fixes.
553
- * Improved update logic.
554
-
555
- = 5.81 November 22 2017 =
556
- * Fixed error with "Show/Hide key" button.
557
- * Slightly improved spam protection for all forms.
558
- * Small errors fixes.
559
-
560
- = 5.80 November 3 2017 =
561
- * Spam protection improved.
562
- * Improved filtration quality for WooCommerce checkout.
563
- * Minor fixes for Spam FireWall.
564
-
565
- = 5.79 October 26 2017 =
566
- * Spam protection improved.
567
- * Fixed issue with existing spam comments check.
568
- * Added posibility to exclude IP from check.
569
- * Minor fixes.
570
-
571
- = 5.78 October 16 2017 =
572
- * Improved compatibility with themes. Changed core functions prefix.
573
- * Fixed issue with WooCommerce checkout.
574
- * Spam protection improved.
575
- * Minor fixes.
576
-
577
- = 5.77 October 2 2017 =
578
- * Connection report's system.
579
- * Integration for CouponXXL Theme.
580
- * Fixed issue with mb_* functions.
581
- * Banners logic updated.
582
-
583
- = 5.76 September 20 2017 =
584
- * Fixed issue with Spam FireWall and caching plugins.
585
- * Banners logic updated.
586
-
587
- = 5.75 September 15 2017 =
588
- * Pause feature for users/comments spam check.
589
- * Improved protection from spam.
590
- * Small fixes.
591
-
592
- = 5.74.2 September 2 2017 =
593
- * Fix for users spam check for PHP 5.3 and lower.
594
-
595
- = 5.74.1 September 2 2017 =
596
- * Fix for the update system and cloud communication.
597
- * Added possibility to check users and comments for spam with a specific date range.
598
-
599
- = 5.74 August 31 2017 =
600
- * Users and comments spam check: Two check types (fast and accurate).
601
- * Fix for WooCommerce checkout test.
602
- * Minor fixes.
603
-
604
- = 5.73 August 11 2017 =
605
- * Fix for spam check for already existed users and comments.
606
- * Spam FireWall updated.
607
- * Layout fix for BT Comments.
608
- * Minor fixes.
609
-
610
- = 5.72 July 27 2017 =
611
- * Improved spam check for existed users and comments.
612
- * Minor fixes.
613
-
614
- = 5.71 July 20 2017 =
615
- * Improved spam protection for external forms.
616
- * Optimization.
617
- * Minor fixes.
618
-
619
- = 5.70.2 July 17 2017 =
620
- * Fix for Spam FireWall for Multisite.
621
-
622
- = 5.70.1 July 17 2017 =
623
- * Fix for Spam FireWall.
624
- * Spam detection improved.
625
-
626
- = 5.70 July 13 2017 =
627
- * New updater logic.
628
- * Self cron system.
629
- * Improved AMP compatibility.
630
- * Optimization.
631
- * Fixed users and comments spam check.
632
- * Fixed layout for Comment's feedback from public page.
633
- * Updated Spam FireWall.
634
- * SFW: Spam FireWall counter now work in real-time.
635
- * SFW: Improved compatibility with different Data Bases.
636
-
637
- = 5.69 July 3 2017 =
638
- * Reviewer - integration.
639
- * Optimization for Users and Comments check for big databases.
640
- * Errors fixes.
641
- * Improved protection from spam.
642
-
643
- = 5.68 June 22 2017 =
644
- * Contact Form for WordPress - Ultimate Form Builder Lite - integration.
645
- * Contact Bank - Contact Forms Builder - integration.
646
- * Smart Forms - integration.
647
- * cformsII - integration.
648
- * Contact Form by Web-Settler - integration.
649
- * Error fixes.
650
-
651
- = 5.67.3 June 9 2017 =
652
- * Fixed JS attachment error.
653
-
654
- = 5.67.2 June 5 2017 =
655
- * Fixed error with IP determination.
656
-
657
- = 5.67.1 June 4 2017 =
658
- * Fixed JS error in 5.67 version.
659
- * Integrations: Enfold theme, Convertplug.
660
- * Links to check for Emails/IP for spam.
661
- * Control comments and feedback about them from public post's page.
662
- * Improved connection stability with cloud service.
663
- * Spam protection improved.
664
- * Other small fixes.
665
-
666
- = 5.67 June 1 2017 =
667
- * Integrations: Enfold theme, Convertplug.
668
- * Links to check for Emails/IP for spam.
669
- * Control comments and feedback about them from public post's page.
670
- * Improved connection stability with cloud service.
671
- * Spam protection improved.
672
- * Other small fixes.
673
-
674
- = 5.66 May 23 2017 =
675
- * Spam protection improved.
676
- * Major fixes for users and comments spam check.
677
- * Added feedback from Wordpress comments list.
678
- * Fix for "internal forms check" option.
679
- * Fixed issue with caching Spam FireWall die page.
680
- * Other small fixes.
681
-
682
- = 5.65 May 16 2017 =
683
- * Fix for PayPal redirecton.
684
- * Fixed issue with empty query for bulk comments test.
685
- * Added protection for Enfold contact form.
686
- * Ninja forms integration.
687
-
688
- = 5.64 April 26 2017 =
689
- * Integration for Facebook registrations.
690
- * Small fixes for WPMS.
691
- * Fix for Activecampaign service.
692
- * Fix for check spam users.
693
- * Fixed rare notice Notice: Undefined index: REQUEST_URI
694
-
695
- = 5.63 April 20 2017 =
696
- * Fix for the dashboard spam stat widget.
697
- * Added translation posibility for all text.
698
-
699
- = 5.62 April 17 2017 =
700
- * Fix for the dashboard spam statistics widget.
701
- * Fix for users spam check.
702
- * Small appearance changes.
703
-
704
- = 5.61 April 6 2017 =
705
- * Improved filtration.
706
- * Additional logic for the form recognizing.
707
- * Integration: Divi Theme Contact Form.
708
- * Fix: Gravity Forms multipages forms.
709
- * Stat Widget: Minor fixes.
710
- * Added possibility to download results of the users check in CSV format.
711
- * Alteration for settings page (footer).
712
-
713
- = 5.60.1 March 29 2017 =
714
- * Fixed error function 'locale_get_display_region' no exists.
715
-
716
- = 5.60 March 29 2017 =
717
- * Added main dashboard widget with spam sctivity stats.
718
- * Mailster - integration.
719
- * Base class updated.
720
-
721
- = 5.59 March 24 2017 =
722
- * Users/comments check fix.
723
- * Plugin's name changed to Anti-Spam by CleanTalk.
724
- * Trial banner is dismissable. Disapear for 24h or till logout.
725
- * Settings modified (Auto testing failed warning).
726
- * Mailing(inactive key) interval increased to 6 hours.
727
-
728
- = 5.58.6 March 16 2017 =
729
- * Fix for Ninja forms (protection updated).
730
- * Fix for QA Theme.
731
- * Fix for RSVP form.
732
- * Setting changes (Spam FireWall).
733
- * Improved debug section.
734
- * Improved gathering data function.
735
- * Minor fixes.
736
-
737
- = 5.58.5 March 6 2017 =
738
- * Minor backend fix.
739
-
740
- = 5.58.4 March 6 2017 =
741
- * Users check fix (redirect after the check).
742
- * Fixed PHP Notice "HTTP_REFERER" is unset.
743
- * Updated Notice logic.
744
-
745
- = 5.58.3 February 28 2017 =
746
- * Bitrix24 Contact form integration.
747
- * Users/comments check fix.
748
- * Spam sorting updated.
749
- * Banner showing logic.
750
-
751
- = 5.58.2 February 17 2017 =
752
- * Cron fix for daily report.
753
-
754
- = 5.58.1 February 16 2017 =
755
- * Minor fixes.
756
-
757
- = 5.58 February 15 2017 =
758
- * Work without access key
759
- * Bitrix24 contact integration
760
- * Issues fixes
761
-
762
- = 5.57.1 February 8 2017 =
763
- * Fix for notice logic.
764
-
765
- = 5.57 February 8 2017 =
766
- * Setting page changes.
767
- * Bug fixes for WooCommerce.
768
- * Spam FireWall filters only GET requests.
769
- * Optimization.
770
- * Minor and major fixes.
771
-
772
- = 5.56.1 January 25 2017 =
773
- * Minor fixes
774
-
775
- = 5.56 January 19 2017 =
776
- * Integrations: MailChimp Premium, Profile Press.
777
- * Changes comments flow.
778
- * FireWall updater fix.
779
- * Users check optimization.
780
-
781
- = 5.55 December 23 2016 =
782
- * Integrations: Caldera Forms, Visual Form Builder.
783
- * Fix for different 'cookies' header names.
784
- * Fixed user deletion.
785
-
786
- = 5.54 December 12 2016 =
787
- * Integrations: AmoForms, Contact Form Clean and Simple.
788
- * Comments check logic refreshed.
789
- * Registration JS error fix.
790
- * Users check fix.
791
- * Fix for translation system.
792
- * Minor fixes.
793
-
794
- = 5.53.1 December 9 2016 =
795
- * Minor layout fixes.
796
-
797
- = 5.53 November 28 2016 =
798
- * Addition warning before deleting users.
799
- * Spam FireWall is enabled by default.
800
- * Usernoise modal feedback / contact form : integration.
801
- * Translations.
802
- * Optimization.
803
- * Fixes.
804
-
805
- = 5.52.1 November 14 2016 =
806
- * Users and comments check: Using new API method.
807
- * Quick Contact From: Integration via "Custom Contact Forms" setting.
808
- * JavaScript filtration improved.
809
- * Translation changes.
810
- * Optimized JavaScript code.
811
-
812
- = 5.51 November 2 2016 =
813
- * Added protection for internal forms
814
- * Immediate spam check for comments and users from WP dashboard
815
- * Optimized code
816
-
817
- = 5.50.1 October 24 2016 =
818
- * Improved filtration in contact forms.
819
- * Spam FireWall: Fixed issue with SFW logs
820
- * Skipping service fields: Fast Secure Contact Froms, QU Forms, Custom Contact Forms
821
-
822
- = 5.50 October 20 2016 =
823
- * Custom contact forms: integration.
824
- * Pirate Forms: integration.
825
- * PHP 7 compatibility: Deleted third-party JSON library and dependences.
826
- * PHP 7 compatibility: Fixed end of lines.
827
- * YOAST Seo: Fixed PHP warnings.
828
- * Spam FireWall: Minor fix for Spam FireWall counter.
829
- * Only admin could access to CleanTalk dashboard (exclude Authors an Editors).
830
- * Improved filtration in contact forms.
831
-
832
- = 5.49.2 October 5 2016 =
833
- * Second Fix for database error. Stable version.
834
-
835
- = 5.49.1 October 5 2016 =
836
- * Fixed database error.
837
-
838
- = 5.49 October 3 2016 =
839
- * Spam FireWall feature: Class upgraded.
840
- * New feature: Delete links from approved comments.
841
- * Settings: Grouped.
842
- * Settings: Altered description fixed spelling mistakes.
843
- * Settings: Added indicator for Spam FireWall.
844
- * Admin bar: Added Spam FireWall counter
845
- * Clean and Simple Contact Form: Direct integration.
846
- * WooCommerce: Don't check password recovery form.
847
- * WooCommerce Wishlists: Issue with check for Google bots.
848
- * JetPack: contact form fix.
849
- * Fixed and created the defaults for all CleanTalk options.
850
- * Fixed spelling mistakes.
851
-
852
- = 5.48 September 15 2016 =
853
- * buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
854
- * buddyPress: Added option in settings for private messages check.
855
- * WooCommerce Wishlist: Added check for wishlists.
856
- * Fixed issue with "check all post data" option.
857
- * Improved filtering for Gravity Forms
858
- * Mobile Assistant Connector fix
859
- * Minor fixes.
860
-
861
- = 5.47 September 5 2016 =
862
- * WooCommerce: direct integration for checkout form.
863
- * WooCommerce Sensei: login form fix.
864
- * bbPress: Added the check for topics and comments with stop_words
865
- * bbPress: Skip check for admin in comments and topics
866
- * UserPro: fixes. Request without field "shortcode"
867
- * Contact Form 7: Bug fix.
868
- * Spam FireWall: Optimized logs rotation.
869
- * Updated inner functions (compatibility fix for PHP 5.4+)
870
- * Fixed output of counters (without spamfirewall stats)
871
- * Fixed spelling in settings
872
- * Added "Delete from the list" button in comments spam check page
873
- * Minor fixes.
874
-
875
- = 5.46 August 17 2016 =
876
- * Fixed issue with admin bar links in WP Multi Network mode.
877
- * Added "All time counter" and "Daily counter" into admin bar.
878
- * Added settings to disable counters in admin bar.
879
- * New style for "Get access key manually" button.
880
-
881
- = 5.45.2 August 4 2016 =
882
- * Added Anti-Spam protection for Quick Event Manager.
883
- * 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.
884
- * Fixed bulk spam test for comments. Previous version had a conflict between spam history for IP and Email.
885
- * Minor fix function to get the API key.
886
-
887
- = 5.45.1 July 26 2016 =
888
- * Fixed issue with missed spam messages, subscriptions.
889
- * Improved bulk spam test for comments. Now the plugin will not mark as Spam comments, if a comment sender (IP address) has spam activity more than 30 days ago.
890
-
891
- = 5.45 July 21 2016 =
892
- * Optimized bulk spam comments deletion.
893
- * Turned off JavaScript anti-spam cookies if the option 'Set cookies' is turned off. It helps to avoid issues with Varnish.
894
- * Added links to bulk spam comments&users removal tool.
895
-
896
- = 5.44.1 July 13 2016 =
897
- * Optimized options getting code.
898
- * Added the option 'Protect Logged in users' to do anti-spam tests for submissions by logged in users.
899
-
900
- = 5.43.2 June 30 2016 =
901
- * Optimized anti-spam code for AJAX based contact forms.
902
- * Fixed CSS layout of counters in Admin bar (issue with layout in IE11).
903
-
904
- = 5.43.1 June 23 2016 =
905
- * Added agent version in requests to test a connection between the website and servers.
906
- * Fixed issue with PHP notices in cleantalk-admin.php.
907
-
908
- = 5.43 June 22 2016 =
909
- * Added spam protection for registrations via 'Login with AJAX' plug-in.
910
- * Added a new counter to Admin bar that allows to count spam and approved submissions since last reset.
911
- * Update the code that tests a connection between a website and CleanTalk's servers. New version doesn't generate submissions with email good@cleantalk.org.
912
- * Fixed issue with spam protection for nested forms by Formidable plug-in.
913
-
914
- = 5.42 2016-06-15 =
915
- * Added anti-spam protection for UserPro.
916
- * Improved protection for Formidable forms + Varnish.
917
- * Improved bulk search for spam accounts.
918
- * Fixed spam protection for pages that contain multiple Formidable forms with same HTML ID.
919
- * Optimized PHP code to be compatible with PHP 5.4 and above. The patch has been applied to Formidable forms spam protection.
920
- * Minor fixes in plugin backend.
921
-
922
- = 5.41 2016-05-31 =
923
- * Added HTTP response in plugin response if an network issue was happend.
924
- * Optimized JavaScript anti-spam test for Formidable forms.
925
- * Re-stored the option to auto redirect to plugn settings after plugin activation.
926
- * Updated Spanish, Russian translations.
927
- * Fixed issue with nasted fields in Formidable forms.
928
-
929
- = 5.40.3 2016-05-26 =
930
- * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
931
- * Added JSON encoding for AJAX forms.
932
- * Obfuscated private data for Custom contact forms option.
933
- * Optimized bulk users check for spam over blacklists database.
934
- * Fixed issue with lost connection to servers and JavaScript anti-spam test.
935
- * Fixed issue with WordFence and collect_details.
936
-
937
- = 5.40.2 2016-05-11 =
938
- * Improved account status check logic.
939
- * Fixed issue with double anti-spam tests for FastSecure contact forms.
940
- * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occurred on standart WordPress registration form and with failed JavaScript spam test.
941
- * Fixed issue with session_start() with PHP sessions stored in memcache.
942
-
943
- = 5.40.1 2016-04-28 =
944
- * Fixed issue with Super Socializer.
945
- * Fixed issue with spam filtration for logged in users and Formidable forms.
946
- * Added logging of all submitted fields for FastSecure contact form.
947
-
948
- = 5.40 2016-04-19 =
949
- * Added JSON encoding for posts that were protected via Custom contact forms option. It allows show anti-spam logs in the Dashboard in more comfortable view.
950
- * Minor fix in plugin settings.
951
- * Fixed pagination for bulk users spam test.
952
- * Fixed issue with unknown _SESSION.
953
- * Fixed issue with double Spam FireWall database upload.
954
-
955
- = 5.39.1 2016-04-04 =
956
- * Improved AJAX based anti-spam test with HTTPS backends.
957
- * Added fix to avoid issue with empty ct_info_flag on JavaScript side.
958
- * Added logic to exclude caching for Spam FireWall.
959
- * Removed a condition to skip accounts with 127.0.0.1 IP in spam test for registered acconts.
960
-
961
- = 5.38.1 2016-03-24 =
962
- * Fixed issue with PHP sessions and 'The session id is too long or contains illegal characters'.
963
- * Removed Spam FireWall protection on /feed page.
964
- * Disabled anti-spam tests for AJAX calls if the option 'Custom contact forms' is turned off.
965
- * Added reject notice for spam submissions on Gravity forms with AJAX calls.
966
-
967
- = 5.37.3 2016-03-10 =
968
- * Fixed bug with broken MailPoet previews.
969
- * Fixed bug with broken Geo My WP pop-up windows.
970
- * Fixed issue with mb_convert_encoding() function.
971
- * Removed double JavaScript code in front-end.
972
- * Removed unused variables in anti spam logic.
973
- * Added option 'Set cookies' (turned on by default). If the option turned off, the plugin will not generate cookies, but in this case plugin will not protect some rarely used contact forms. Any way, turn this option off be compatible with Varnish in spam protection for WordPress core comments, registrations and most popular contact forms.
974
- * Added anti-spam protection for Gravity forms via option 'Contact forms' with hook gform_entry_is_spam().
975
-
976
- = 5.36.1 2016-02-05 =
977
- * Fixed bug, when users receive error after logging in
978
- * Improve anti-spam filters for contact forms.
979
-
980
- = 5.36 2016-02-04 =
981
- * Improved JavaScript anti spam protection
982
- * Improvements for avoiding blocking requests from payment systems
983
-
984
- = 5.35 2016-01-14 =
985
- * Added support for IP licensing
986
- * Some anti-spam protection improvements
987
- * Small backend interface fixes
988
-
989
- = 5.34.1 2015-12-17 =
990
- * Fixed trackback antispam protection: improved checking mechanism
991
- * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
992
-
993
- = 5.34 2015-12-10 =
994
- * Improved spam checking mechanism
995
- * Added "Collect browser details" option for better antispam protection
996
- * Fixed custom contact forms checking for AJAX requests
997
- * Minor translations fixes
998
-
999
- = 5.33.1 2015-12-04 =
1000
- * Fixed issue with BBPress: restored old user permission checking mechanism
1001
- * Fixed anti-spam comments checking: sometimes get_comments returned wrong comments number
1002
- * Fixed bulk checking: made numeric indexes in users and comments arrays
1003
- * Fixed trackback and pingback checking: removed exception for checking
1004
-
1005
- = 5.33 2015-12-01 =
1006
- * Backend interface fixes
1007
- * Improved Spam FireWall efficiency
1008
- * Improved performance of anti spam checking
1009
-
1010
- = 5.32 2015-11-26 =
1011
- * Added improvements for manual spam detection
1012
- * Fixed errors in backend
1013
- * Fixed bulk users anti spam checking
1014
- * Added indicator for bulk spam checking
1015
- * Added "Get access key automatically" button
1016
-
1017
- = 5.31 2015-11-11 =
1018
- * Improved backend performance
1019
- * Fixed counter of approved/blocked spam attacks
1020
- * Fixed Spam FireWall logging
1021
-
1022
- = 5.30 2015-11-05 =
1023
- * Improved anti-spam checking
1024
- * Optimized performance
1025
- * Fixed blocking email preview in MailPoet
1026
- * Interface fixes
1027
- * WPMU interface fixes
1028
-
1029
- = 5.29 2015-10-27 =
1030
- * Optimized performance
1031
- * Fixed bugs in custom contact forms spam checking
1032
-
1033
- = 5.28.7 2015-10-23 =
1034
- * Optimized PHP sessions creation algorithm. This fix should increase plugin perfomance on hostings without retenion of PHP sessions files.
1035
- * Removed autoredirection to plugin settings after plugin activation.
1036
-
1037
- = 5.28 2015-10-16 =
1038
- * Fixed errors in anti-spam checking
1039
- * Restored options for spam checking registrations and cpmmon contact forms
1040
- * Improved spam protection
1041
- * Fixed problems with AJAX functionality in MailPoet, WooCommerce and other AJAX plugins
1042
-
1043
- = 5.27 2015-10-13 =
1044
- * Improvements in SpamFireWall feature
1045
- * Code optimization
1046
- * Backend interface fixes
1047
-
1048
- = 5.26 2015-10-05 =
1049
- * Added WordPress Language Pack support
1050
- * Removed spam checking for some autorisation plugins
1051
- * New experimental feature: SpamFireWall
1052
-
1053
- = 5.25.2 2015-09-28 =
1054
- * Fixed backend bug
1055
-
1056
- = 5.25.1 2015-09-28 =
1057
- * Added widget with anti-spam stats
1058
- * Added information about blocked spam attacks in admin dashboard and CleanTalk settings
1059
- * Added ability not to check comments for users with 3 or above allowed comments
1060
- * Added an option 'Help others known CleanTalk' to show information for site visitors, that your site is protected from spam by us
1061
- * Some backend interface settings
1062
-
1063
- = 5.24.1 2015-09-16 =
1064
- * Fixed some errors in frontend
1065
- * Fixed access key saving
1066
-
1067
- = 5.24 2015-09-14 =
1068
- * Backend interface fixes
1069
- * Improvement for AJAX JavaScript spam checking
1070
-
1071
- = 5.23 2015-09-01 =
1072
- * Fixed BuddyPress profile search false positivities of anti-spam protection.
1073
- * Some interface fixes of bulk users & comments spam checking
1074
-
1075
- = 5.22 2015-08-26 =
1076
- * Fixed possible XSS issue for anti-spam test on third-party forms.
1077
-
1078
- = 5.21 2015-08-21 =
1079
- * Fixed bug with skipping spam submissions
1080
- * Fixed bug with receiving old user_token for viewing anti-spam stats
1081
- * Small backend fixes
1082
-
1083
- = 5.20 2015-08-15 =
1084
- * Fixed anti-spam stats in admin bar - now stats updates every hour
1085
- * Fixed issue with skipping spam submissions
1086
- * Added some PHP-constants for advanced users - CLEANTALK_AJAX_USE_BUFFER and CLEANTALK_AJAX_USE_FOOTER_HEADER can be defined to true or false in wp-config.php to control method, which will be used for injection of AJAX script.
1087
-
1088
- = 5.19 2015-08-11 =
1089
- * New feature: anti-spam checking for registered users
1090
- * Fixed issue with AJAX JavaScript anti-spam test.
1091
- * Fixed issue with SEO Yoast xml sitemaps and JavaScript anti-spam test.
1092
-
1093
- = 5.18 2015-08-04 =
1094
- * Fixed issue with user_token
1095
- * Added anti-spam API, see our FAQ
1096
-
1097
- = 5.17 2015-07-23 =
1098
- * Fixed infinite redirection after activation
1099
- * Minor backend fixes
1100
-
1101
- = 5.16 2015-07-22 =
1102
- * Fixed external services checking
1103
- * Fixed mass comments deletion
1104
- * Fixed AJAX anti-spam protection
1105
-
1106
- = 5.15 2015-07-16 =
1107
- * New feature: anti-spam protection for forms, that uses external services
1108
-
1109
- = 5.14 2015-07-03 =
1110
- * Added anti-spam protection for some themes and plugins
1111
- * Some backend fixes
1112
-
1113
- = 5.13 2015-06-12 =
1114
- * Closing notification for anti-spam renew
1115
- * Fixed bulk anti spam comment checking
1116
-
1117
- = 5.12 2015-06-01 =
1118
- * Added option for checking all post data for spam
1119
- * Some JavaScript protection improvements
1120
- * Added option for old JavaScript check (without AJAX)
1121
-
1122
- = 5.10 2015-05-25 =
1123
- * Fixed Javascript error on some forms
1124
-
1125
- = 5.9 2015-05-21 =
1126
- * Fixed Javascript error on CF7 and JetPack
1127
- * Some backend and frontent fixes
1128
-
1129
- = 5.8 2015-05-18 =
1130
- * Minor fixes
1131
-
1132
- = 5.7 2015-05-18 =
1133
- * Fixed French translation
1134
- * Fixed protection algorithm
1135
-
1136
- = 5.6 2015-05-11 =
1137
- * Fixed translation
1138
- * Fixed bulk comments anti-spam checking
1139
- * Added option for disabling anti spam stats in adminbar
1140
- * Some security fixes
1141
-
1142
- = 5.5 2015-04-29 =
1143
- * Fixed security issue
1144
- * Some interface fixes
1145
-
1146
- = 5.4 2015-04-27 =
1147
- * Some interface and functionality changes in plugin settings page
1148
- * Added counter for anti-spam stats in admin bar
1149
-
1150
- = 5.3 2015-04-13 =
1151
- * Added anti-spam protection for Divi theme contact forms
1152
- * Added anti-spam protection for MyMail contact forms
1153
- * Added anti-spam protection for MailPoet Newsletters
1154
- * Some interface and functionality changes in backend
1155
-
1156
- = 5.2 2015-04-01 =
1157
- * Added link for anti-spam stats
1158
- * Added WP User Frontend Pro registration form protection
1159
-
1160
- = 5.1 2015-03-24 =
1161
- * Fixed site crash after installing 5.0 on some websites
1162
-
1163
- = 5.0 2015-03-24 =
1164
- * Added bulk comments checking for spam via CleanTalk blacklists
1165
- * Added anti-spam form protection for 'Ajax Login & Register'
1166
- * Fixed JetPack form protection
1167
-
1168
- = 4.24 2015-03-20 =
1169
- * Added immediate spam protection activation.
1170
-
1171
- = 4.22 2015-03-17 =
1172
- * Added button for automatic spam protection key getting.
1173
-
1174
- = 4.21 2015-03-11 =
1175
- * Added license renew notification.
1176
-
1177
- = 4.20 2015-03-03 =
1178
- * Added German, Italian, Polish, Portuguese translations.
1179
- * Minor code fixes.
1180
-
1181
- = 4.19 2015-02-24 =
1182
- * Increased keys lifetime for JS spam test.
1183
-
1184
- = 4.18 2015-02-17 =
1185
- * Fixed bug with comments approvement - moved ct_unmark_red() to cleantalk-admin.php
1186
- * Added PayPal 'payment_status' in skip list.
1187
- * Added Akismet 'spam' status processing.
1188
-
1189
- = 4.17 2015-02-12 =
1190
- * New base class.
1191
- * Divided code to 3 separate files - common, public and admin.
1192
-
1193
- = 4.16 2015-02-05 =
1194
- * New base class.
1195
- * Fixed JetPack spam filters logics.
1196
- * Optimized Formidable, bbPress, BuddyPress spam filters.
1197
-
1198
- = 4.15 2015-01-29 =
1199
- * Support spam test for Contact Form 7 versions before 3.0.0.
1200
- * Fixed global JS-vars for JS spam test.
1201
- * Fixed online notice cookie logics.
1202
- * Optimized spam filters for FSCF, WooCommerce, JetPack.
1203
- * Optimized option getting.
1204
-
1205
- = 4.14 2015-01-19 =
1206
- * Removed deprecated option from comment approvement code.
1207
- * New API key URL.
1208
- * Trimmed API key in admin panel.
1209
- * Added current options to array sended to CleanTalk servers.
1210
- = 4.13 2014-12-29 =
1211
- * Fixed bug with autimatically aprovement not spam comments. Now this option disabled and do not override local WordPress policy.
1212
-
1213
- = 4.12 2014-12-29 =
1214
- * Fixed bug with 'Wrong Access key...' notice in WordPress dashboard.
1215
- * Fixed filtration bug in WordPress dashboard login form.
1216
-
1217
- = 4.11 2014-12-22 =
1218
- * Improved anti-spam protection for custom contact/registration/subscribe forms.
1219
- * Improved anti-spam protection for comments.
1220
- * Accelerated plugin speed for comments, regirstrations and contacts.
1221
- * Added translation to French.
1222
-
1223
- = 4.10 2014-12-10 =
1224
- * Improved anti-spam protection for custom contact/registration/subscribe forms.
1225
- * Option 'Custom contact forms' enabled by default for new setups.
1226
- * Removed settings "Publish relevant comments", "Use encrypted (SSL) connection".
1227
- * Added translation to Danish (thank you for Mikkel at KreativJul.dk).
1228
-
1229
- = 4.9 2014-11-24 =
1230
- * Fixed spam test for Contact Form 7.
1231
-
1232
- = 4.8 2014-11-19 =
1233
- * Improved anti-spam protection for BuddyPress registrations and custom contact forms.
1234
-
1235
- = 4.7 2014-11-16 =
1236
- * Fixed JavaScript spam test for FastSecure contact form.
1237
-
1238
- = 4.6 2014-11-11 =
1239
- * Improved anti-spam protection on BuddyPress registrations.
1240
- * Improved anti-spam protection on contact forms.
1241
- * Removed plugin sign from pending, spam comments. To get details about a comment please use Dashboard at cleantalk.org.
1242
- * Improved Access key validation function.
1243
- * Added protection for bbPress comments via stop list. Stop list function is a list to reject comments by prefiled words. To fill the list please use Dashboard at cleantalk.org.
1244
-
1245
- = 4.5 2014-11-04 =
1246
- * Fixed CF7 JavaScript bug.
1247
- * Fixed rejects in bbPress guests comments.
1248
-
1249
- = 4.4 2014-10-29 =
1250
- * Improved anti-spam JS test for CF7.
1251
- * Fixed 'noscript' text in FaceBook Like preview in Valenti theme.
1252
-
1253
- = 4.2 2014-10-20 =
1254
- * Fixed double checks issue for BuddyPress registrations.
1255
- * Increased timeout limits to find the work server.
1256
-
1257
- = 4.1 2014-10-13 =
1258
- * Optimized code for manual moderation feedback sending.
1259
- * Optimized anti-spam algorithms for comments, contacts and signups.
1260
-
1261
- = 4.0 2014-10-06 =
1262
- * Improved anti-spam protection for custom contact forms.
1263
- * Improved anti-spam protection for registration forms.
1264
-
1265
- = 3.9 2014-10-01 =
1266
- * Did exception to do not break to create new user in WordPress backend.
1267
-
1268
- = 3.8 2014-09-19 =
1269
- * Fixed json_encode() + malformed characters.
1270
- * Fixed JavaScript issue with wpautop().
1271
-
1272
- = 3.6 2014-09-15 =
1273
- * Fixed preg_match() issue for Formidable forms and Custom contact forms.
1274
- * Improved anti-spam protection for Custom contact forms.
1275
-
1276
- = 3.4 2014-09-04 =
1277
- * We've added anti-spam for themes contact forms and any untested contact forms plugins. To use this test enable option "Custom contact forms" in plugin settings.
1278
- * We've added auto rotation for spam comments. Now the plugin removes comments in SPAM folder older then 15 days. This option is enabled by default.
1279
-
1280
- = 3.2 2014-08-27 =
1281
- * Fixed submit_time() logic for failed submits (comments/registrations). Now form fill time resets after every failed submit.
1282
-
1283
- = 3.1 2014-08-19 =
1284
- * Added anti-spam test over senders Cookies.
1285
- * Improved form fill anti-spam test.
1286
- * Improved speed selection of the nearest server to website.
1287
- * Improved anti-spam speed for comments.
1288
- * Relevance anti-spam test disabled by default. To enable test should be used option 'relevance_test'.
1289
-
1290
- = 2.58 2014-08-06 =
1291
- * Added anti-spam protection for signups posted via WooCommerce order form.
1292
- * Improved anti-spam protection for Contact Form 7.
1293
- * Improved anti-spam protection for registrations. Now the plugin looking for JavaScript anti spam test results not only in POST array, but in COOKIES array too. This improvement allows protect signup forms for any untested signups plugins and themes.
1294
- * Updated PHP API. Now the plugin can resolve sender IP for websites behind proxy servers. If the proxy servers uses private IP address.
1295
-
1296
- = 2.57 2014-07-29 =
1297
- * Improved anti-spam protection for comments. The plugin now proccessing website url in the comments form.
1298
- * Fixed sign remove logic for approved comments. Previous version doesn't cut sign for comments approved via AJAX call in WordPress backend.
1299
- * Fixed switching to SSL for comments. Previous version doesn't use secured connection for comments.
1300
-
1301
- = 2.56 2014-07-21 =
1302
- * Fixed account status check logic. Previous version makes unnecessary test API calls when the plugin asks account status check.
1303
-
1304
- = 2.55 2014-07-11 =
1305
- * Fixed bug with account status function. In backend the plugin showed notice 'Please don't forget to disable CAPTCHA if you have it!' on every page.
1306
-
1307
- = 2.54 2014-07-11 =
1308
- * Fixed signup anti-spam protection logic for BuddyPress registrations.
1309
- * Fixed anti-spam protection for JetPack contact form.
1310
- * Changed account status check logic.
1311
-
1312
- = 2.53 2014-06-27 =
1313
- * Fixed anit-spam protection bug for signups.
1314
- * Changed anti-spam functions (comments and signups) priority.
1315
-
1316
- = 2.52 2014-06-25 =
1317
- * Fixed 'Fatal error: Call to a member function get_error_code()' issue with signups via BuddyPress.
1318
-
1319
- = 2.51 2014-06-23 =
1320
- * Added spam protection for registrations via plugin New User Approve by Josh Harrison. If the CleanTalk matched signup as spam this signup will be denied to placing in pending queue.
1321
- * Added option "Use secure (SSL) connection to CleanTalk cloud". If the option enabled plugin will communicate with CleanTalk severs via 128bit encrypted data channel. So, if you have SSL protected webforms on website you can use this option to be sure that visitors personal data safely transmits to CleanTalk servers.
1322
- * Fixed minor bug with loading backend functions.
1323
-
1324
- = 2.49 2014-06-10 =
1325
- * Added spam protection for S2Member Auth.net forms.
1326
- * Added spam protection for multisite signup form.
1327
- * Optimized account status check function.
1328
-
1329
- = 2.46 2014-05-19 =
1330
- * Added: HTML notice about the need to enable JavaScript.
1331
- * Fixed: Fixed pingbacks anti-spam test.
1332
-
1333
- = 2.44 2014-05-12 =
1334
- * Added: Anti-spam protection for S2Member framework.
1335
- * Improved: JavaScript anti-spam test.
1336
- * Improved: Plugin load time for backend and frontend.
1337
- * Fixed: PHP warning mb_convert_encoding()
1338
-
1339
- = 2.42 2014-04-29 =
1340
- * Fixed: JavaScript anti-spam test for comments.
1341
-
1342
- = 2.40 2014-04-25 =
1343
- * New: Fast Secure Contact form support.
1344
- * New: WordPress Landing Pages support
1345
-
1346
- = 2.38 2014-03-27 =
1347
- * Fixed: Registraion form submit time spam test.
1348
-
1349
- = 2.36 2014-03-12 =
1350
- * Reversed to patches from old revisions.
1351
-
1352
- = 2.35 2014-03-12 =
1353
- * New: Notifications about disabled account
1354
- * New: Improved JavaScript spam test.
1355
- * Fixed: Code optimization
1356
- * Fixed: JavaScript test for signups.
1357
-
1358
- = 2.33 2014-02-12 =
1359
- * Fixed: CURLOPT_FOLLOWLOCATION bug at admin notice
1360
-
1361
- = 2.32 2014-02-04 =
1362
- * New: Added notice about automatically approved comment. The notice shows only for first approved comment and only for new commentators (without approved comments) of the blog.
1363
- * New: At WordPress console added banner for notices.
1364
- * Changed: Screenshots updated.
1365
-
1366
- = 2.31 2014-01-24 =
1367
- * New: Added spam protection for JetPack comments
1368
- * Fixed: cURL connection issue "Expect: 100-continue"
1369
-
1370
- = 2.30 2014-01-13 =
1371
- * Changed: Improved servers connection logic.
1372
- * Fixed: Antispam test for Fomidable forms.
1373
-
1374
- = 2.28 2013-12-19 =
1375
- * New: Added protection against spam bots for WooCommerce review form.
1376
- * Fixed: JavaScript anti-spam logic for WooCommerce review form.
1377
-
1378
- = 2.27 2013-12-06 =
1379
- * New: Added protection against spam bots for JetPack Contact form.
1380
- * Fixed: JavaScript anti-spam logic for registrations and Contact form 7.
1381
-
1382
- = 2.25 2013-11-27 =
1383
- * New: Added protection against spam bots for BuddyPress registrations.
1384
- * New: Added protection against spam bots for Contact form 7.
1385
- * New: Added Spanish (es_ES) translation.
1386
-
1387
- = 2.23 2013-11-20 =
1388
- * New: Added automatic training blacklists on spam bot account deletion.
1389
- * New: Added URL to project homepage at plugin options.
1390
- * Changed: Improved anti-spam logic.
1391
-
1392
- = 2.21 2013-11-13 =
1393
- * Changed: WordPress blacklists settings get priority over plugin's anti-spam settings
1394
- * Changed: Disabled management approval comments for regular commentators of the blog. Automatically approved for publication only the comments of the new blog authors.
1395
- * Changed: Removed form submit time test. Imporved JavaScript spam test.
1396
- * Changed: PHP code optimizations
1397
-
1398
- = 2.19 2013-11-08 =
1399
- * New: Antispam protection from spam bots at the registration form
1400
- * Changed: Russian localization for admin panel
1401
- * Changed: PHP code optimizations
1402
-
1403
- = 2.5.18 2013-11-01 =
1404
- * Fixed: Bug with selection of the last comments for post
1405
- * New: Antispam protection for Formidable feedback forms
1406
- * New: Automatic deletion of outdated spam comments
1407
- * New: On/Off option for comments spam filtration
1408
- * Tested with WordPress 3.7.1
1409
-
1410
- = 2.4.15 2013-09-26 =
1411
- * Fixed: Bug with mass comments deletion
1412
- * Changed: Russian localization for admin panel
1413
- * Tested with mulitsite setup (WordPress network or WPMU)
1414
-
1415
- = 2.4.14 2013-08-29 =
1416
- * Changed: Removed feedback requests to the servers for banned (spam) comments.
1417
-
1418
- = 2.4.13 2013-08-19 =
1419
- * Changed: Switched HTTP requests from file_get_contents() to CURL. Added file_get_contens() as backup connection to the servers.
1420
- * Changed: Removed feedback requests for comments moved to trash.
1421
- * Fixed: "Fail connect to servers..." error on hostings with disabled 'allow_url_fopen' PHP option.
1422
-
1423
- = 2.4.12 2013-08-12 =
1424
- * Removed RPC::XML library from plugin.
1425
- * Switched plugin to HTTP+JSON connection with servers.
1426
- * Fixed bug with comments anti-spam tests with non UTF8 codepage.
1427
-
1428
- = 2.4.11 2013-08-02 =
1429
- * Removed spam tests for self-made pingbacks
1430
- * Tested up to WP 3.6
1431
-
1432
- = 2.4.10 2013-07-24 =
1433
- * Fixed warning in PHP 5.4
1434
- * Fixed bug with disabling comments test for Administrators, Authors and Editors
1435
- * "Stop words" settings moved to <a href="http://cleantalk.org/my">Control panel</a> of the service
1436
- * "Response language" settings moved <a href="http://cleantalk.org/my">Control panel</a> of the service
1437
-
1438
- = 2.4.9 =
1439
- * Fixed extra debugging in base class
1440
-
1441
- = 2.4.8 =
1442
- * Enabled convertion to UTF8 for comment and example text
1443
- * Optimized PHP code
1444
-
1445
- = 2.3.8 =
1446
- * Enabled selection the fastest server in the pool
1447
- * Fixed work server in plugin's config
1448
-
1449
- = 2.2.3 =
1450
- * Secured md5 string for JavaScript test
1451
- * Added requests's timestamp to calculate request work time
1452
- * Update base CleanTalk's PHP class
1453
-
1454
- = 2.1.2 =
1455
- * Improved perfomance for processing large comments (over 32kb size)
1456
- * Improved perfomance for bulk operations with comments in Comments panel
1457
- * Added feedback request with URL to approved comment
1458
-
1459
- = 2.0.2 =
1460
- * Fixed bug with JavaScript test and WordPress cache plugins
1461
-
1462
- = 2.0.1 =
1463
- * Added option "Publicate relevant comments" to plugin's options.
1464
- * Added descriptions to plugin options
1465
-
1466
- = 1.5.4 =
1467
- * Fixed HTTP_REFERER transmission to the servers
1468
- * Improved JavaScript spam test
1469
- * Optimized PHP code
1470
-
1471
- = 1.4.4 =
1472
- * Pingback, trackback comments has moved to manual moderataion
1473
- * Added transmission to the serves comment type and URL
1474
- * Post title, body and comments separated into individual data elements
1475
- * Added priority for matched words in the comment with post title
1476
- * Enabled stop words filtration as default option
1477
-
1478
- = 1.3.4 =
1479
- * Removed PHP debugging.
1480
-
1481
- = 1.3.3 =
1482
- * Added notice at admin panel about empty Access key in plugin settings
1483
- * Removed HTTP link to the site project from post page
1484
- * Removed unused options from settings page
1485
- * Tested up to WordPress 3.5
1486
-
1487
- = 1.2.3 =
1488
- * Fixed bug with session_start.
1489
-
1490
- = 1.2.2 =
1491
- * Plugin rename to CleanTalk. Spam prevent plugin
1492
- * Integration Base Class version 0.7
1493
- * Added fast submit check
1494
- * Added check website in form
1495
- * Added feedbacks for change comment status (Not spam, unapprove)
1496
- * Added function move comment in spam folder if CleanTalk say is spam
1497
- * Disable checking for user groups Administrator, Author, Editor
1498
- * Marked red color bad words
1499
-
1500
- = 1.1.2 =
1501
- * Addition: Title of the post attached to the example text in auto publication tool.
1502
- * Tested with WordPress 3.4.1.
1503
-
1504
- = 1.1.1 =
1505
- * HTTP_REFERER bug fixed
1506
-
1507
- = 1.1.1 =
1508
- * Added user locale support, tested up to WP 3.4
1509
-
1510
- = 1.1.0 =
1511
- * First version
1512
-
1513
-
1514
- == Upgrade Notice ==
1515
- = 5.130 November 14 2019 =
1516
- * Fix: JetPack contact form JS check.
1517
- * FIx: Iphorm AJAX form.
1518
- * Fix: Paid Memberships Pro fix.
1519
- * Fix: Divi theme contact form fix.
1520
- * Integration: Paid Memberships Pro.
1521
- * Integration: Elementor Pro page builder forms.
1522
- * Improved: Compatibility with different server.
1523
-
1524
- = 5.129.1 November 5 2019 =
1525
- * Fix: WooCommerce order detecting.
1526
-
1527
- = 5.129 October 30 2019 =
1528
- * Upd: Localize updated.
1529
- * Fix: Direct $_SERVER access replaced.
1530
- * Integration: The 7 theme contact form.
1531
- * Fix: Minor improvements and bug fixes.
1532
- * Mod: Putting site in maintenance mode during plugin update.
1533
-
1534
- = 5.128.1 October 23 2019 =
1535
- * Fix: Fatal error when using buffer output.
1536
- * Fix: Translate domain for errors.
1537
- * Code: Fix spelling in function name.
1538
- * Fix: JS disabled error.
1539
- * Upd: Comment edit screen updated.
1540
- * Fix: Cleantalk\Arr::search() fixed.
1541
-
1542
- = 5.128 October 17 2019 =
1543
- * Mod: Users check - functionality updated.
1544
- * Fix: Users check - dates format updated.
1545
- * Mod: Comments check - functionality updated.
1546
- * Fix: Comments check - dates format updated.
1547
- * Fix: Fields exclusion fixed.
1548
- * Fix: Notice fixed.
1549
- * Fix: Cleantalk/Antispam/API.
1550
- * Fix: Minor improvements and bug fixes.
1551
-
1552
- = 5.127.4 October 13 2019 =
1553
- * Mod: Automatically decrease amount of checked users by one request if an error occurs.
1554
- * Fix: Security issue.
1555
- * Fix: Static JS key.
1556
-
1557
- = 5.127.3 October 8 2019 =
1558
- * Fix: Errors during registration.
1559
-
1560
- = 5.127.2 October 8 2019 =
1561
- * Integration: SeedProd Coming Soon Page Pro.
1562
- * Fix: WooCommerce double reuqests.
1563
- * Fix: Static JS key.
1564
-
1565
- = 5.127.1 October 7 2019 =
1566
- * Fix: WPMS settings logic.
1567
- * Using default database storage engine for tables.
1568
-
1569
- = 5.127 September 30 2019 =
1570
- * Fix: Delete redirect notice on external forms
1571
- * Fix: Storing spam for 15 days.
1572
- * Fix: correct DiVi display message.
1573
- * Integration: Ultimate Members.
1574
- * Mod: Setting "Use static JS key" switched to "Auto" if it was "No". Default is "Auto".
1575
- * Mod: Moving White Label option to main site settings.
1576
- * New: Use static JS key if cache plugin detected.
1577
- * New: Settings for URLs, fields, roles exclusions.
1578
- * New: Regular Expressions support in URLs, fields exclusions.
1579
- * New: Send validation errors on standard registration form.
1580
- * Updater: Move exclusions from global variable to settings.
1581
- * Deprecated: IP exclusions.
1582
-
1583
- = 5.126 September 9 2019 =
1584
- * Spam protection improved!
1585
- * Integration: Option wheel.
1586
- * Mod: Improved Email detection.
1587
- * Mod: Improved IP detection.
1588
- * Fix: Too large database table with alternative sessions.
1589
- * Fix: Exception for WooCommerce AJAX.
1590
- * Fix: API key validation.
1591
- * Minor fixes.
1592
-
1593
- = 5.125 August 26 2019 =
1594
- * Fix: PHP Notices.
1595
- * Fix: Auto update.
1596
- * Fix: Displaying protection status for IP license.
1597
- * Fix: prevent capturing buffer for XMLRPC requests (check_external functionality).
1598
- * Fix: API key validating.
1599
- * New: Complete deactivation setting.
1600
-
1601
- = 5.124.1 August 8 2019 =
1602
- * Fix: Error on PHP 5.3.
1603
-
1604
- = 5.124 August 8 2019 =
1605
- * Spam protection improved.
1606
- * Fix: SpamFireWall local database counter on Multisite.
1607
- * Fix: Caldera Forms integration.
1608
- * Fix: Settings "Use AJAX for JS check" description.
1609
- * Fix: Formidable integration.
1610
- * New: External forms check now independed from JavaScript.
1611
- * New: Setting Protect external - capture buffer.
1612
- * New: QuForm integration.
1613
-
1614
- = 5.123 July 25 2019 =
1615
- * Fix: Plenty of minor fixes.
1616
- * Fix: wpDiscuz integration.
1617
- * Fix: Integration with bbPress.
1618
- * Fix: New comment email notification.
1619
- * New: Follow-Up Emails integration.
1620
- * Fix: Woocommerce integration.
1621
- * Fix: Spelling.
1622
-
1623
- = 5.122 July 10 2019 =
1624
- * Spam Protection improved.
1625
- * Fix: Error while checking account status.
1626
- * Fix: Conflict with Elementor Pro.
1627
- * Fix: Integration with Ninja Forms.
1628
- * Fix: Integration with Formidable.
1629
- * New: Detecting mobile devices.
1630
- * New: Integration for Easy Forms for Mailchimp.
1631
-
1632
- = 5.121 June 26 2019 =
1633
- * Fix: Translation typos.
1634
- * Fix: Woocommerce integration.
1635
- * Fix: Catching admin in AJAX queries.
1636
- * Mod: Session table (cleantalk_sessions) issue.
1637
- * Mod: Spam protection improved.
1638
- * Integration: Wilcity theme custom registration validation enabled
1639
- * New: Option "Use static JS key".
1640
-
1641
- = 5.120.2 June 17 2019 =
1642
- * Fix: WPForms integration.
1643
- * Fix: Translation and spelling.
1644
- * Fix: Minor PHP error
1645
-
1646
- = 5.120.1 June 6 2019 =
1647
- * Mod: Description for Search form protection.
1648
- * Fix: CSS and JS attachment.
1649
- * Fix: Undefined index error.
1650
-
1651
- = 5.120 June 5 2019 =
1652
- * Fix: bbPress false positives.
1653
- * Fix: SpamFireWall check condition.
1654
- * Fix: SpamFireWall block page.
1655
- * Fix: Catch admin action via search form test.
1656
- * Fix: Catch admin action (AJAX).
1657
- * Mod: Using minified version of JS and CSS.
1658
- * Mod: Date format in statistics.
1659
-
1660
-
1661
- = 5.119.1 May 30 2019 =
1662
- * Fix: Helper class error.
1663
-
1664
- = 5.119 May 30 2019 =
1665
- * Fix: No more second request after registration.
1666
- * Fix: Activation hook.
1667
- * Fix: Alternative sessions. Clear table.
1668
- * Fix: Stop capchuring AJAX requests in admin area.
1669
- * Fix: Spelling.
1670
- * Fix: Registration cookies set.
1671
- * Mod: SFW exdtended die page when testing.
1672
- * Mod: User-agent modified.
1673
- * New: Test search queries for spam.
1674
- * New: Gathering and output statistics.
1675
-
1676
- = 5.118.4 May 13 2019 =
1677
- * Fix: SFW cookie. Set correct domain for subdomains.
1678
- * Fix: SFW update.
1679
- * Fix: IP detection.
1680
- * Fix: Triggering AJAX check in backend.
1681
- * Fix: Zero submit time on few forms.
1682
-
1683
- = 5.118.3 April 29 2019 =
1684
- * Fix: Spam statistics in dashboard widget.
1685
- * Fix: IP detection.
1686
- * Fix: Double check AJAX integrated forms like Ninja Forms.
1687
- * Fix: Use url exclusions for AJAX forms.
1688
-
1689
- = 5.118.2 April 25 2019 =
1690
- * Mod: Spam filtration quality improved.
1691
- * Mod: Store SFW cookie for 30 days.
1692
- * Mod: Server IP added to connection report.
1693
- * Fix: spam_stat is not defined.
1694
-
1695
- = 5.118.1 April 19 2019 =
1696
- * Fix: Fatal error.
1697
- * Mod: Spam protection improved on registrations.
1698
-
1699
- = 5.118 April 19 2019 =
1700
- * Fix: Cookies on registration page.
1701
- * Fix: Update fix.
1702
- * Fix: Wordpress built-in API.
1703
- * Fix: WooCommerce checkout form.
1704
- * Fix: UpdraftPlus. Saving settings.
1705
- * Fix: Convert Pro saving settings.
1706
- * Fix: UTF-8 Converting.
1707
- * Fix: GDPR notice.
1708
- * Fix: cleantalk_sessions table size reduced.
1709
- * Mod: Localization.
1710
- * Mod: Performance improved.
1711
- * Mod: SpamFierWall improvments.
1712
- * Mod: IP detection improved.
1713
- * Mod: JavaScript check rewised.
1714
- * New: Setting "Use alternative mechanism for cookies".
1715
-
1716
- = 5.117.1 April 5 2019 =
1717
- * Fix: GDPR notice.
1718
- * Fix: noCacheJS localization.
1719
- * Fix: Fatal error when updating.
1720
-
1721
- = 5.117 March 27 2019 =
1722
- * New: Update logic runs on all pages.
1723
- * New: Integration for Ajax Contact Forms plugin.
1724
- * New: Notification for users groups about new comments.
1725
- * New: SFW die page. Show browser and page creation time.
1726
- * Fix: Huge bug in Cleantalk.php connected with servers changing.
1727
- * Fix: Check AJAX requests for logged in users.
1728
- * Fix: Deleting debug in JS.
1729
- * Fix: Validating settings before saving.
1730
-
1731
- = 5.116.3 March 14 2019 =
1732
- * Fix: "Headers already sent" error.
1733
- * Fix: Images paths.
1734
- * Fix: IP detection.
1735
- * Fix: Skip lost password form check
1736
- * Fix: Skip mobile requests (push settings)
1737
- * Fix: PHP notice when detecting BuddyPress template.
1738
-
1739
- = 5.116.2 March 7 2019 =
1740
- * Fix: Creating tables in MariaDB.
1741
-
1742
- = 5.116.1 March 6 2019 =
1743
- * Fix: Creating tables in DB.
1744
- * Fix: PHP Warning in spam statistics widget.
1745
-
1746
- = 5.116 March 6 2019 =
1747
- * Spam filtration quality improved.
1748
- * New: Storing visited URLs.
1749
- * New: Check before validation Contact Form 7, Comments, Jetpack comments.
1750
- * New: Get validation result for Contact Form 7, Comments, Jetpack comments.
1751
- * Fix: ES add subscriber.
1752
- * Fix: IP detection.
1753
-
1754
- = 5.115.2 February 27 2019 =
1755
- * Fix: False positives spam detection in WP Forms and Contact Form 7.
1756
-
1757
- = 5.115.1 February 16 2019 =
1758
- * Fix: SpamFireWall's false positives.
1759
-
1760
- = 5.115 February 14 2019 =
1761
- * Fix: Http_only flag for backend cookies.
1762
- * Fix: Spam filtration improved.
1763
- * New: IP detection improved.
1764
- * Fix: SpamFirewall update speeded up.
1765
- * New: False positives with caching solutions decreased.
1766
- * New: Opportunity to use Wordpress HTTP API to connect with Cloud.
1767
-
1768
- = 5.114 January 31 2019 =
1769
- * New: Setting "Use Wordpress HTTP API" as alternative to CURL. Disabled by default.
1770
- * Fix: Formidable: Adding small JS check when adding JS_key.
1771
- * Mod: layout of settings page.
1772
- * Mod: Banner logic altered.
1773
-
1774
- = 5.113.2 January 18 2019 =
1775
- * Fix: "Settings" link returns to plugin page.
1776
-
1777
- = 5.113.1 January 17 2019 =
1778
- * Fix: Conflict with CityTours theme.
1779
- * Fix: Error for Wordperss lower 4.7.
1780
- * Add: Spam protection: "Validate email for existance".
1781
-
1782
- = 5.113 January 16 2019 =
1783
- * Fix: Fast and Simple Contact Form.
1784
- * Fix: Settings layout.
1785
- * Fix: Error with WooCommerce Quickview.
1786
- * Fix: Bitrix24 contact form.
1787
- * Fix: Request time decreased.
1788
- * Fix: Requesting account status when activating for IP licenses.
1789
- * Add: Precise AJAX request detection.
1790
- * Spam protection improved.
1791
-
1792
- = 5.112 December 21 2018 =
1793
- * Fix: Woocommerce AJAX checkout form.
1794
- * Fix: Profile Builder Pro.
1795
- * Fix: DB structure improvements for WPMS.
1796
- * Spam filtering quality improved.
1797
- * Minor fixes.
1798
-
1799
- = 5.111 December 13 2018 =
1800
- * Fix: Double request in JetPack contact form.
1801
- * Fix: Email notification about spam registration.
1802
- * Fix: Links button for feedback comments.
1803
- * Fix: Mail notification about plugin error.
1804
- * Fix: Key field output.
1805
- * Minor fixes.
1806
-
1807
- = 5.110 November 29 2018 =
1808
- * Integration: BuddyPress ActivityWall spam protection.
1809
- * Add: Support different BuddyPress templates on activity wall.
1810
- * Fix: Admin/moderator checking for validate post data.
1811
- * Add: GDPR setting for shortcode.
1812
- * Fix: Increase timeout for spam_check_cms to 15.
1813
-
1814
- = 5.109 November 15 2018 =
1815
- * Fix: Added URL and IP exclusions to Contact Form 7.
1816
- * Fix: js error when responseText is not exists
1817
- * Fix: Sitename when getting key automatically under WPMS.
1818
- * Mod: SpamFireWall is now fully compatible with WPMS.
1819
- * Mod: Setting 'Tell others about CleanTalk' was deleted.
1820
- * Mod: Protection from spam improved.
1821
-
1822
- = 5.108.1 November 8 2018 =
1823
- * Fix: Errors with integration class.
1824
-
1825
- = 5.108 November 7 2018 =
1826
- * Fix: White label mode.
1827
- * Fix: SpamFireWall now can be disabled.
1828
- * Fix: Layout.
1829
- * Integration: WPForms.
1830
- * Add: Message about block for all no integrated AJAX forms.
1831
- * Add: Displaying account name near api key.
1832
-
1833
- = 5.107 October 29 2018 =
1834
- * Fix: Ninja Forms integration.
1835
- * Fix: Cookie usage.
1836
- * Add: Capturing AJAX responses from non integrated forms.
1837
- * Spam protection improved.
1838
- * Minor fixes.
1839
-
1840
- = 5.106 October 11 2018 =
1841
- * Spam filtration improved.
1842
- * New: White Label mode.
1843
- * Modification: Warning message about test on SpamFireWall die page.
1844
- * Integration: WP Maintenance Mode.
1845
- * Fix: S2Member.
1846
- * Fix: JavaScript attachments reconsidered.
1847
- * Fix: Admin banners layout.
1848
- * Fix: Minor layout fixes.
1849
-
1850
- = 5.105 September 26 2018 =
1851
- * Integration: Now bloking spam for QAEngine questions.
1852
- * Fix: Async http__request call.
1853
- * Fix: Unnecessary get_antispam_report_breif method call.
1854
- * Layout: Hide "Do you like Cleantlak?" when key is not ok.
1855
- * Layout: Minor fixes.
1856
-
1857
- = 5.104 September 18 2018 =
1858
- * Fix: Error when saving settings.
1859
- * Fix: Trying update plugin plugin for the first installation.
1860
- * Fix: Update system.
1861
- * Fix: Errors output.
1862
- * Fix: Plugin's settings under WPMS.
1863
- * Fix: SpamFireWall update.
1864
- * Fix: The server change system repaired.
1865
- * Mod: Cron saving tasks improved.
1866
-
1867
- = 5.103.1 September 14 2018 =
1868
- * Fix: Error when saving settings.
1869
- * Fix: Error when getting key automatically.
1870
-
1871
- = 5.103 September 13 2018 =
1872
- * Fix: Gravity Forms response message.
1873
- * Fix: SpamFireWall redirect to 404 page.
1874
- * Major anti-spam plugin improvement.
1875
- * Recombined setting page.
1876
- * Added error notification.
1877
- * Mod: S2 Members integration.
1878
- * Mod: Improved remote calls.
1879
-
1880
- = 5.102 August 29 2018 =
1881
- * Fix: Users and comments check.
1882
- * Fix: Update from 5.70 or previous versions.
1883
- * Fix: GDPR public JS-script.
1884
- * Fix: Dashboard widget JS scripts attachment.
1885
- * Fix: WooCommerce "Place order" action.
1886
- * Mod: Notification logic altered.
1887
- * Mod: Users check table now has 'Signed up' column.
1888
- * Minor fixes.
1889
-
1890
- = 5.101 August 10 2018 =
1891
- * Fix: Set cookie only for non-dashboard pages.
1892
- * Fix: Dashboard widget JS error.
1893
- * Fix: JavaScript error for some environment.
1894
- * Mod: Antispam protection accelerated for some pages.
1895
-
1896
- = 5.100 July 30 2018 =
1897
- * Fix: JavaScript dependencies.
1898
-
1899
- = 5.99.1 July 17 2018 =
1900
- * IP detection fixed and improved.
1901
-
1902
- = 5.99 July 10 2018 =
1903
- * Fix: WooCommerce false positives.
1904
- * Fix: SpamFireWall IP detection.
1905
- * Minor fixes.
1906
-
1907
- = 5.98 June 27 2018 =
1908
- * Fix: WooCommerce: Exclusion.
1909
- * Fix: Public GDPR JS code.
1910
- * Minor fixes.
1911
-
1912
- = 5.97 June 7 2018 =
1913
- * Fix: Update system.
1914
- * Fix: Feedback from public page (admin only).
1915
- * Fix: Users and comment check: API error.
1916
- * Fix: Too many negative reports. (Too big ct_data option)
1917
- * Fix: SpamFireWall: Infinite redirection on the blocking page.
1918
- * Minor fixes.
1919
-
1920
- = 5.96 May 22 2018 =
1921
- * Fix: Update system.
1922
- * Mod: Reset all counters button in admin bar.
1923
- * Mod: GDPR compliance.
1924
- * Minor fixes.
1925
-
1926
- = 5.95.1 May 3 2018 =
1927
- * Fix: "Get key automatically" button display logic.
1928
- * Fix: PHP notices.
1929
-
1930
- = 5.95 May 2 2018 =
1931
- * Spam filtration improved.
1932
- * Fix: Public widget layout.
1933
- * Fix: Connection reports output.
1934
- * Minor fixes.
1935
-
1936
- = 5.94 April 23 2018 =
1937
- * Mod: Async load option for JS.
1938
- * Mod: JS scripts loading is conditional.
1939
- * Fix: IP detection.
1940
- * Fix: IP detection.
1941
- * Fix: Javascript error.
1942
-
1943
- = 5.93.1 April 9 2018 =
1944
- * Fix: Fatal error on PHP 5.5 or lower.
1945
-
1946
- = 5.93 April 9 2018 =
1947
- * Fix: SpamFirewall IP detection.
1948
- * Fix: Contact Form 7. False positives.
1949
- * Mod: Autoupdate function improved.
1950
- * Minor fixes.
1951
-
1952
- = 5.92.2 March 23 2018 =
1953
- * Fix: Error if cURL extension is disabled.
1954
-
1955
- = 5.92.1 March 23 2018 =
1956
- * Fix: Spelling
1957
- * Fix: Fatal error if cURL extension is disabled.
1958
-
1959
- = 5.92 March 22 2018 =
1960
- * IP detection improved.
1961
- * Fix: SSL connection.
1962
- * Fix: False positives spam detection in Contact Form 7.
1963
- * Minor fixes.
1964
-
1965
- = 5.91 March 15 2018 =
1966
- * Fix: Errors for PHP compiled without XML support.
1967
- * Fix: Spelling and translation.
1968
- * Stability increased.
1969
- * Minor fixes.
1970
-
1971
- = 5.90 March 7 2018 =
1972
- * Improvement: Better IP recognition in Spam FireWall.
1973
- * Fix: Gravity Froms blocking message.
1974
- * Security improvments.
1975
- * Minor fixes.
1976
-
1977
- = 5.89 February 21 2018 =
1978
- * Improved spam filtration quality.
1979
- * Improved compatibility.
1980
- * Public widget: Styles and referral link added.
1981
- * Dashboard widget: revised and fixed.
1982
- * Minor fixes.
1983
-
1984
- = 5.88 February 12 2018 =
1985
- * Integration: ConvertPro.
1986
- * Improvement: Search for visitor's names in request.
1987
- * Fix: Contact Form 7 message recognition.
1988
- * Preparation for the remote plugin update.
1989
- * Minor fixes.
1990
-
1991
- = 5.87 February 2 2018 =
1992
- * Filtration quality improved.
1993
- * Fix: WP Foto Vote downloading images.
1994
- * Fix: Fatal error for unsupported PHP 5.2.
1995
- * Fix: Formidable Forms improved spam filtration.
1996
-
1997
- = 5.86 January 25 2018 =
1998
- * Fix: High CPU load with wp-ajax.php.
1999
- * Fix: Mailpoet: Newsletter.
2000
- * Fix: Gravity: Forms standardization for input fields.
2001
- * Fix: ajax hook checks data for contact form.
2002
- * Fix: UTF8 character in requests.
2003
-
2004
- = 5.85 January 11 2018 =
2005
- * Fix: Fast Secure contact form spam block message.
2006
- * Fix: IP license status.
2007
- * Layout: Dashboard widget description altered.
2008
-
2009
- = 5.84 December 26 2017 =
2010
- * Integration: PeepSo contact form
2011
- * Repared: Feedback from comments page.
2012
- * Fix: mb_* functions used only if exists.
2013
- * Fix: Gravity forms: Multi-page form logic repared.
2014
- * Fix: Gravity forms: AJAX form logic repared.
2015
- * Minor fixes.
2016
-
2017
- = 5.83.2 December 19 2017 =
2018
- * Fix: Error in base class.
2019
-
2020
- = 5.83.1 December 19 2017 =
2021
- * Fix: CDN IP detection.
2022
-
2023
- = 5.83 December 19 2017 =
2024
- * Improving: Stability and compatibility.
2025
- * Improving: Spam protection.
2026
- * Fix: Comments logic filtration.
2027
- * Fix: Admin bar counter.
2028
- * Minor errors fixes.
2029
-
2030
- = 5.82.1 December 7 2017 =
2031
- * Fixed minor error with attaching JS and CSS files.
2032
-
2033
- = 5.82 December 4 2017 =
2034
- * Plugin doesn't use PHP sessions anymore.
2035
- * Bug fixes.
2036
- * Improved update logic.
2037
-
2038
- = 5.81 November 22 2017 =
2039
- * Fixed error with "Show/Hide key" button.
2040
- * Slightly improved spam protection for all forms.
2041
- * Small errors fixes.
2042
-
2043
- = 5.80 November 3 2017 =
2044
- * Spam protection improved.
2045
- * Improved filtration quality for WooCommerce checkout.
2046
- * Minor fixes for Spam FireWall.
2047
-
2048
- = 5.79 October 26 2017 =
2049
- * Spam protection improved.
2050
- * Fixed issue with existing spam comments check.
2051
- * Added posibility to exclude IP from check.
2052
- * Minor fixes.
2053
-
2054
- = 5.78 October 16 2017 =
2055
- * Improved compatibility with themes. Changed core functions prefix.
2056
- * Fixed issue with WooCommerce checkout.
2057
- * Spam protection improved.
2058
- * Minor fixes.
2059
-
2060
- = 5.77 October 2 2017 =
2061
- * Connection report's system.
2062
- * Integration for CouponXXL Theme.
2063
- * Fixed issue with mb_* functions.
2064
- * Banners logic updated.
2065
-
2066
- = 5.76 September 20 2017 =
2067
- * Fixed issue with Spam FireWall and caching plugins.
2068
- * Banners logic updated.
2069
-
2070
- = 5.75 September 15 2017 =
2071
- * Pause feature for users/comments spam check.
2072
- * Improved protection from spam.
2073
- * Small fixes.
2074
-
2075
- = 5.74.2 September 2 2017 =
2076
- * Fix for users spam check for PHP 5.3 and lower.
2077
-
2078
- = 5.74.1 September 2 2017 =
2079
- * Fix for the update system and cloud communication.
2080
- * Added possibility to check users and comments for spam with a specific date range.
2081
-
2082
- = 5.74 August 31 2017 =
2083
- * Users and comments spam check: Two check types (fast and accurate).
2084
- * Fix for WooCommerce checkout test.
2085
- * Minor fixes.
2086
-
2087
- = 5.73 August 11 2017 =
2088
- * Fix for spam check for already existed users and comments.
2089
- * Spam FireWall updated.
2090
- * Layout fix for BT Comments.
2091
- * Minor fixes.
2092
-
2093
- = 5.72 July 27 2017 =
2094
- * Improved spam check for existed users and comments.
2095
- * Minor fixes.
2096
-
2097
- = 5.71 July 20 2017 =
2098
- * Improved spam protection for external forms.
2099
- * Optimization.
2100
- * Minor fixes.
2101
-
2102
- = 5.70.2 July 17 2017 =
2103
- * Fix for Spam FireWall for Multisite.
2104
-
2105
- = 5.70.1 July 17 2017 =
2106
- * Fix for Spam FireWall.
2107
- * Spam detection improved.
2108
-
2109
- = 5.70 July 13 2017 =
2110
- * New updater logic.
2111
- * Self cron system.
2112
- * Improved AMP compatibility.
2113
- * Optimization.
2114
- * Fixed users and comments spam check.
2115
- * Fixed layout for Comment's feedback from public page.
2116
- * Updated Spam FireWall.
2117
- * SFW: Spam FireWall counter now work in real-time.
2118
- * SFW: Improved compatibility with different Data Bases.
2119
-
2120
- = 5.69 July 3 2017 =
2121
- * Reviewer - integration.
2122
- * Optimization for Users and Comments check for big databases.
2123
- * Errors fixes.
2124
- * Improved protection from spam.
2125
-
2126
- = 5.68 June 22 2017 =
2127
- * Contact Form for WordPress - Ultimate Form Builder Lite - integration.
2128
- * Contact Bank - Contact Forms Builder - integration.
2129
- * Smart Forms - integration.
2130
- * cformsII - integration.
2131
- * Contact Form by Web-Settler - integration.
2132
- * Error fixes.
2133
-
2134
- = 5.67.3 June 9 2017 =
2135
- * Fixed JS attachment error.
2136
-
2137
- = 5.67.2 June 5 2017 =
2138
- * Fixed error with IP determination.
2139
-
2140
- = 5.67.1 June 4 2017 =
2141
- * Fixed JS error in 5.67 version.
2142
- * Integrations: Enfold theme, Convertplug.
2143
- * Links to check for Emails/IP for spam.
2144
- * Control comments and feedback about them from public post's page.
2145
- * Improved connection stability with cloud service.
2146
- * Spam protection improved.
2147
- * Other small fixes.
2148
-
2149
- = 5.67 June 1 2017 =
2150
- * Integrations: Enfold theme, Convertplug.
2151
- * Links to check for Emails/IP for spam.
2152
- * Control comments and feedback about them from public post's page.
2153
- * Improved connection stability with cloud service.
2154
- * Spam protection improved.
2155
- * Other small fixes.
2156
-
2157
- = 5.66 May 23 2017 =
2158
- * Spam protection improved.
2159
- * Major fixes for users and comments spam check.
2160
- * Added feedback from Wordpress comments list.
2161
- * Fix for "internal forms check" option.
2162
- * Fixed issue with caching Spam FireWall die page.
2163
- * Other small fixes.
2164
-
2165
- = 5.65 May 16 2017 =
2166
- * Fix for PayPal redirecton.
2167
- * Fixed issue with empty query for bulk comments test.
2168
- * Added protection for Enfold contact form.
2169
- * Ninja forms integration.
2170
-
2171
- = 5.64 April 26 2017 =
2172
- * Integration for Facebook registrations.
2173
- * Small fixes for WPMS.
2174
- * Fix for Activecampaign service.
2175
- * Fix for check spam users.
2176
- * Fixed rare notice Notice: Undefined index: REQUEST_URI
2177
-
2178
- = 5.63 April 20 2017 =
2179
- * Fix for the dashboard spam stat widget.
2180
- * Added translation posibility for all text.
2181
-
2182
- = 5.62 April 17 2017 =
2183
- * Fix for the dashboard spam statistics widget.
2184
- * Fix for users spam check.
2185
- * Small appearance changes.
2186
-
2187
- = 5.61 April 6 2017 =
2188
- * Improved filtration.
2189
- * Additional logic for the form recognizing.
2190
- * Integration: Divi Theme Contact Form.
2191
- * Fix: Gravity Forms multipages forms.
2192
- * Stat Widget: Minor fixes.
2193
- * Added possibility to download results of the users check in CSV format.
2194
- * Alteration for settings page (footer).
2195
-
2196
- = 5.60.1 March 29 2017 =
2197
- * Fixed error function 'locale_get_display_region' no exists.
2198
-
2199
- = 5.60 March 29 2017 =
2200
- * Added main dashboard widget with spam sctivity stats.
2201
- * Mailster - integration.
2202
- * Base class updated.
2203
-
2204
- = 5.59 March 24 2017 =
2205
- * Users/comments check fix.
2206
- * Plugin's name changed to Anti-Spam by CleanTalk.
2207
- * Trial banner is dismissable. Disapear for 24h or till logout.
2208
- * Settings modified (Auto testing failed warning).
2209
- * Mailing(inactive key) interval increased to 6 hours.
2210
-
2211
- = 5.58.6 March 16 2017 =
2212
- * Fix for Ninja forms (protection updated).
2213
- * Fix for QA Theme.
2214
- * Fix for RSVP form.
2215
- * Setting changes (Spam FireWall).
2216
- * Improved debug section.
2217
- * Improved gathering data function.
2218
- * Minor fixes.
2219
-
2220
- = 5.58.5 March 6 2017 =
2221
- * Minor backend fix.
2222
-
2223
- = 5.58.4 March 6 2017 =
2224
- * Users check fix (redirect after the check).
2225
- * Fixed PHP Notice "HTTP_REFERER" is unset.
2226
- * Updated Notice logic.
2227
-
2228
- = 5.58.3 February 28 2017 =
2229
- * Bitrix24 Contact form integration.
2230
- * Users/comments check fix.
2231
- * Spam sorting updated.
2232
- * Banner showing logic.
2233
-
2234
- = 5.58.2 February 17 2017 =
2235
- * Cron fix for daily report.
2236
-
2237
- = 5.58.1 February 16 2017 =
2238
- * Minor fixes.
2239
-
2240
- = 5.58 February 15 2017 =
2241
- * Work without access key
2242
- * Bitrix24 contact integration
2243
- * Issues fixes
2244
-
2245
- = 5.57.1 February 8 2017 =
2246
- * Fix for notice logic.
2247
-
2248
- = 5.57 February 8 2017 =
2249
- * Setting page changes.
2250
- * Bug fixes for WooCommerce.
2251
- * Spam FireWall filters only GET requests.
2252
- * Optimization.
2253
- * Minor and major fixes.
2254
-
2255
- = 5.56.1 January 25 2017 =
2256
- * Minor fixes
2257
-
2258
- = 5.56 January 19 2017 =
2259
- * Integrations: MailChimp Premium, Profile Press.
2260
- * Changes comments flow.
2261
- * FireWall updater fix.
2262
- * Users check optimization.
2263
-
2264
- = 5.55 December 23 2016 =
2265
- * Integrations: Caldera Forms, Visual Form Builder.
2266
- * Fix for different 'cookies' header names.
2267
- * Fixed user deletion.
2268
-
2269
- = 5.54 December 12 2016 =
2270
- * Integrations: AmoForms, Contact Form Clean and Simple.
2271
- * Comments check logic refreshed.
2272
- * Registration JS error fix.
2273
- * Users check fix.
2274
- * Fix for translation system.
2275
- * Minor fixes.
2276
-
2277
- = 5.53.1 December 9 2016 =
2278
- * Minor layout fixes.
2279
-
2280
- = 5.53 November 28 2016 =
2281
- * Addition warning before deleting users.
2282
- * Spam FireWall is enabled by default.
2283
- * Usernoise modal feedback / contact form : integration.
2284
- * Translations.
2285
- * Optimization.
2286
- * Fixes.
2287
-
2288
- = 5.52.1 November 14 2016 =
2289
- * Users and comments check: Using new API method.
2290
- * Quick Contact From: Integration via "Custom Contact Forms" setting.
2291
- * JavaScript filtration improved.
2292
- * Translation changes.
2293
- * Optimized JavaScript code.
2294
-
2295
- = 5.51 November 2 2016 =
2296
- * Added protection for internal forms
2297
- * Immediate spam check for comments and users from WP dashboard
2298
- * Optimized code
2299
-
2300
- = 5.50.1 October 24 2016 =
2301
- * Improved filtration in contact forms.
2302
- * Spam FireWall: Fixed issue with SFW logs
2303
- * Skipping service fields: Fast Secure Contact Froms, QU Forms, Custom Contact Forms
2304
-
2305
- = 5.50 October 20 2016 =
2306
- * Custom contact forms: integration.
2307
- * Pirate Forms: integration.
2308
- * PHP 7 compatibility: Deleted third-party JSON library and dependences.
2309
- * PHP 7 compatibility: Fixed end of lines.
2310
- * YOAST Seo: Fixed PHP warnings.
2311
- * Spam FireWall: Minor fix for Spam FireWall counter.
2312
- * Only admin could access to CleanTalk dashboard (exclude Authors an Editors).
2313
- * Improved filtration in contact forms.
2314
-
2315
- = 5.49.2 October 5 2016 =
2316
- * Second Fix for database error. Stable version.
2317
-
2318
- = 5.49.1 October 5 2016 =
2319
- * Fixed database error.
2320
-
2321
- = 5.49 October 3 2016 =
2322
- * Spam FireWall feature: Class upgraded.
2323
- * New feature: Delete links from approved comments.
2324
- * Settings: Grouped.
2325
- * Settings: Altered description fixed spelling mistakes.
2326
- * Settings: Added indicator for Spam FireWall.
2327
- * Admin bar: Added Spam FireWall counter
2328
- * Clean and Simple Contact Form: Direct integration.
2329
- * WooCommerce: Don't check password recovery form.
2330
- * WooCommerce Wishlists: Issue with check for Google bots.
2331
- * JetPack: contact form fix.
2332
- * Fixed and created the defaults for all CleanTalk options.
2333
- * Fixed spelling mistakes.
2334
-
2335
- = 5.48 September 15 2016 =
2336
- * buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
2337
- * buddyPress: Added option in settings for private messages check.
2338
- * WooCommerce Wishlist: Added check for wishlists.
2339
- * Fixed issue with "check all post data" option.
2340
- * Improved filtering for Gravity Forms
2341
- * Mobile Assistant Connector fix
2342
- * Minor fixes.
2343
-
2344
- = 5.47 September 5 2016 =
2345
- * WooCommerce: direct integration for checkout form.
2346
- * WooCommerce Sensei: login form fix.
2347
- * bbPress: Added the check for topics and comments with stop_words
2348
- * bbPress: Skip check for admin in comments and topics
2349
- * UserPro: fixes. Request without field "shortcode"
2350
- * Contact Form 7: Bug fix.
2351
- * Spam FireWall: Optimized logs rotation.
2352
- * Updated inner functions (compatibility fix for PHP 5.4+)
2353
- * Fixed output of counters (without spamfirewall stats)
2354
- * Fixed spelling in settings
2355
- * Added "Delete from the list" button in comments spam check page
2356
- * Minor fixes.
2357
-
2358
- = 5.46 August 17 2016 =
2359
- * Fixed issue with admin bar links in WP Multi Network mode.
2360
- * Added "All time counter" and "Daily counter" into admin bar.
2361
- * Added settings to disable counters in admin bar.
2362
- * New style for "Get access key manually" button.
2363
-
2364
- = 5.45.2 August 4 2016 =
2365
- * Added Anti-Spam protection for Quick Event Manager.
2366
- * 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.
2367
- * Fixed bulk spam test for comments. Previous version had a conflict between spam history for IP and Email.
2368
- * Minor fix function to get the API key.
2369
-
2370
- = 5.45.1 July 26 2016 =
2371
- * Fixed issue with missed spam messages, subscriptions.
2372
- * Improved bulk spam test for comments. Now the plugin will not mark as Spam comments, if a comment sender (IP address) has spam activity more then 30 days ago.
2373
-
2374
- = 5.45 July 21 2016 =
2375
- * Optimized bulk spam comments deletion.
2376
- * Turned off JavaScript anti-spam cookies if the option 'Set cookies' is turned off. It helps to avoid issues with Varnish.
2377
- * Added links to bulk spam comments&users removal tool.
2378
-
2379
- = 5.44.1 July 13 2016 =
2380
- * Optimized options getting code.
2381
- * Added the option 'Protect Logged in users' to do anti-spam tests for submissions by logged in users.
2382
-
2383
- = 5.43.2 June 30 2016 =
2384
- * Optimized anti-spam code for AJAX based contact forms.
2385
- * Fixed CSS layout of counters in Admin bar (issue with layout in IE11).
2386
-
2387
- = 5.43.1 June 23 2016 =
2388
- * Added agent version in requests to test a connection between the website and servers.
2389
- * Fixed issue with PHP notices in cleantalk-admin.php.
2390
-
2391
- = 5.43 June 22 2016 =
2392
- * Added spam protection for registrations via 'Login with AJAX' plug-in.
2393
- * Added a new counter to Admin bar that allows to count spam and approved submissions since last reset.
2394
- * Update the code that tests a connection between a website and CleanTalk's servers. New version doesn't generate submissions with email good@cleantalk.org.
2395
- * Fixed issue with spam protection for nested forms by Formidable plug-in.
2396
-
2397
- = 5.42 2016-06-15 =
2398
- * Added anti-spam protection for UserPro.
2399
- * Improved protection for Formidable forms + Varnish.
2400
- * Improved bulk search for spam accounts.
2401
- * Fixed spam protection for pages that contain multiple Formidable forms with same HTML ID.
2402
- * Optimized PHP code to be compatible with PHP 5.4 and above. The patch has been applied to Formidable forms spam protection.
2403
- * Minor fixes in plugin backend.
2404
-
2405
- = 5.41 2016-05-31 =
2406
- * Added HTTP response in plugin response if an network issue was happend.
2407
- * Optimized JavaScript anti-spam test for Formidable forms.
2408
- * Re-stored the option to auto redirect to plugn settings after plugin activation.
2409
- * Fixed issue with nasted fields in Formidable forms.
2410
-
2411
- = 5.40.3 2016-05-26 =
2412
- * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
2413
- * Added JSON encoding for AJAX forms.
2414
- * Obfuscated private data for Custom contact forms option.
2415
- * Optimized bulk users check for spam over blacklists database.
2416
- * Fixed issue with lost connection to servers and JavaScript anti-spam test.
2417
- * Fixed issue with WordFence and collect_details.
2418
-
2419
- = 5.40.2 2016-05-11 =
2420
- * Improved account status check logic.
2421
- * Fixed issue with double anti-spam tests for FastSecure contact forms.
2422
- * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occurred on standart WordPress registration form and with failed JavaScript spam test.
2423
- * Fixed issue with session_start() with PHP sessions stored in memcache.
2424
-
2425
- = 5.40.1 2016-04-28 =
2426
- * Fixed issue with Super Socializer.
2427
- * Fixed issue with spam filtration for logged in users and Formidable forms.
2428
- * Added logging of all submitted fields for FastSecure contact form.
2429
-
2430
- = 5.40 2016-04-19 =
2431
- * Added JSON encoding for posts that were protected via Custom contact forms option. It allows show anti-spam logs in the Dashboard in more comfortable view.
2432
- * Minor fix in plugin settings.
2433
- * Fixed pagination for bulk users spam test.
2434
- * Fixed issue with unknown _SESSION.
2435
- * Fixed issue with double Spam FireWall database upload.
2436
-
2437
- = 5.39.1 2016-04-04 =
2438
- * Improved AJAX based anti-spam test with HTTPS backends.
2439
- * Added fix to avoid issue with empty ct_info_flag on JavaScript side.
2440
- * Added logic to exclude caching for Spam FireWall.
2441
- * Removed a condition to skip accounts with 127.0.0.1 IP in spam test for registered acconts.
2442
-
2443
- = 5.38.1 2016-03-24 =
2444
- * Fixed issue with PHP sessions and 'The session id is too long or contains illegal characters'.
2445
- * Removed Spam FireWall protection on /feed page.
2446
- * Disabled anti-spam tests for AJAX calls if the option 'Custom contact forms' is turned off.
2447
- * Added reject notice for spam submissions on Gravity forms with AJAX calls.
2448
-
2449
- = 5.37.3 2016-03-10 =
2450
- * Minor bug fixes. Added an option to support Varnish cache.
2451
-
2452
- = 5.36.1 2016-02-05 =
2453
- * Fixed bug, when users receive error after logging in
2454
-
2455
- = 5.36 2016-02-04 =
2456
- * Improved JavaScript anti spam protection
2457
- * Improvements for avoiding blocking requests from payment systems
2458
-
2459
- = 5.35 2016-01-14 =
2460
- * Added support for IP licensing
2461
- * Some anti-spam protection improvements
2462
- * Small backend interface fixes
2463
-
2464
- = 5.34.1 2015-12-17 =
2465
- * Fixed trackback antispam protection: improved checking mechanism
2466
- * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
2467
-
2468
- = 5.34 2015-12-10 =
2469
- * Improved spam checking mechanism
2470
- * Added "Collect browser details" option for better antispam protection
2471
- * Fixed custom contact forms checking
2472
- * Minor translations fixes
2473
-
2474
- = 5.33.1 2015-12-04 =
2475
- * Fixed issue with BBPress
2476
- * Fixed anti-spam comments checking
2477
- * Fixed bulk checking
2478
- * Fixed trackback and pingback checking
2479
-
2480
- = 5.33 2015-12-01 =
2481
- * Backend interface fixes
2482
- * Improved Spam FireWall efficiency
2483
- * Improved performance of anti spam checking
2484
-
2485
- = 5.32 2015-11-26 =
2486
- * Added improvements for manual spam detection
2487
- * Fixed errors in backend
2488
- * Fixed bulk users anti spam checking
2489
- * Added indicator for bulk spam checking
2490
- * Added "Get access key automatically" feature
2491
-
2492
- = 5.31 2015-11-11 =
2493
- * Improved backend performance
2494
- * Fixed counter of approved/blocked spam attacks
2495
- * Fixed Spam Firewall logging
2496
-
2497
- = 5.30 2015-11-05 =
2498
- * Improved anti-spam checking
2499
- * Optimized performance
2500
- * Fixed blocking email preview in MailPoet
2501
- * Interface fixes
2502
- * WPMU interface fixes
2503
-
2504
- = 5.29 2015-10-27 =
2505
- * Optimized performance
2506
- * Fixed bugs in custom contact forms spam checking
2507
-
2508
- = 5.28.7 2015-10-23 =
2509
- * Major backend peromance fix.
2510
-
2511
- = 5.28 2015-10-16 =
2512
- * Fixed errors in anti-spam checking
2513
- * Restored options for spam checking registrations and cpmmon contact forms
2514
- * Improved anti spam defence
2515
- * Fixed problems with AJAX functionality in MailPoet, WooCommerce and other AJAX plugins
2516
-
2517
- = 5.27 2015-10-13 =
2518
- * Improvements in Spam FireWall feature
2519
- * Code optimization
2520
- * Backend interface fixes
2521
-
2522
- = 5.26 2015-10-05 =
2523
- * Added WordPress Language Pack support
2524
- * Removed spam checking for some autorisation plugins
2525
- * New experimental feature: Spam FireWall
2526
-
2527
- = 5.25.2 2015-09-28 =
2528
- * Fixed backend bug
2529
-
2530
- = 5.25.1 2015-09-28 =
2531
- * Added widget with anti-spam stats
2532
- * Added information about blocked spam attacks in admin dashboard and CleanTalk settings
2533
- * Added ability not to check comments for users with 3 or above allowed comments
2534
- * Added an option 'Help others known CleanTalk' to show information for site visitors, that your site is protected from spam by us
2535
- * Some backend interface settings
2536
- * Removed "CleanTalk connection test" query
2537
-
2538
- = 5.24.1 2015-09-16 =
2539
- * Fixed some errors in frontend
2540
- * Fixed access key saving
2541
-
2542
- = 5.24 2015-09-14 =
2543
- * Backend interface fixes
2544
- * Improvement for AJAX JavaScript spam checking
2545
-
2546
- = 5.23 2015-09-01 =
2547
- * Fixed BuddyPress profile search false positivities of anti-spam protection.
2548
- * Some interface fixes of bulk users & comments spam checking
2549
-
2550
- = 5.22 2015-08-26 =
2551
- * Fixed possible XSS issue for anti-spam test on third-party forms.
2552
-
2553
- = 5.21 2015-08-21 =
2554
- * Fixed bug with skipping spam submissions
2555
- * Fixed bug with receiving old user_token for viewing anti-spam stats
2556
- * Small backend fixes
2557
-
2558
- = 5.20 2015-08-15 =
2559
- * Fixed anti-spam stats in admin bar
2560
- * Fixed issue with skipping spam submissions
2561
- * Added some PHP-constants for advanced users
2562
-
2563
- = 5.19 2015-08-11 =
2564
- * New feature: anti-spam checking for registered users
2565
- * Fixed issue with AJAX JavaScript checking
2566
- * Fixed issue with SEO Yoast xml sitemaps.
2567
-
2568
- = 5.18 2015-08-04 =
2569
- * Fixed issue with user_token
2570
- * Added anti-spam API, see our FAQ
2571
-
2572
- = 5.17 2015-07-23 =
2573
- * Fixed infinite redirection after activation
2574
- * Minor backend fixes
2575
-
2576
- = 5.16 2015-07-22 =
2577
- * Fixed external services checking
2578
- * Fixed mass comments deletion
2579
- * Fixed AJAX anti-spam protection
2580
-
2581
- = 5.15 2015-07-16 =
2582
- * New feature: anti-spam protection for forms, that uses external services
2583
-
2584
- = 5.14 2015-07-03 =
2585
- * Added anti-spam protection for some themes and plugins
2586
- * Some backend fixes
2587
-
2588
- = 5.13 2015-06-12 =
2589
- * Closing notification for anti-spam renew
2590
- * Fixed bulk anti spam comment checking
2591
-
2592
- = 5.12 2015-06-01 =
2593
- * Added option for checking all post data for spam
2594
- * Some JavaScript protection improvements
2595
- * Added option for old JavaScript check (without AJAX)
2596
-
2597
- = 5.10 2015-05-25 =
2598
- * Fixed Javascript error on some forms
2599
-
2600
- = 5.9 2015-05-21 =
2601
- * Fixed Javascript error on CF7 and JetPack
2602
- * Some backend and frontent fixes
2603
-
2604
- = 5.8 2015-05-18 =
2605
- * Minor fixes
2606
-
2607
- = 5.7 2015-05-18 =
2608
- * Fixed French translation
2609
- * Fixed protection algorithm
2610
-
2611
- = 5.6 2015-05-11 =
2612
- * Fixed translation
2613
- * Fixed bulk comments anti-spam checking
2614
- * Added option for disabling anti spam stats in adminbar
2615
- * Some security fixes
2616
-
2617
- = 5.5 2015-04-29
2618
- * Fixed security issue
2619
-
2620
- = 5.4 2015-04-27 =
2621
- * Some interface and functionality changes in plugin settings page
2622
- * Added counter for anti-spam stats in admin bar
2623
-
2624
- = 5.3 2015-04-13 =
2625
- * Added anti-spam protection for Divi theme contact forms
2626
- * Added anti-spam protection for MyMail contact forms
2627
- * Added anti-spam protection for MailPoet Newsletters
2628
- * Some interface and functionality changes in backend
2629
-
2630
- = 5.2 2015-04-01 =
2631
- * Added link for anti-spam stats
2632
- * Added WP User Frontend Pro registration form protection
2633
-
2634
- = 5.10 2015-03-24 =
2635
- * Fixed site crash after installing 5.0 on some websites
2636
-
2637
- = 5.00 2015-03-24 =
2638
- * Added bulk comments checking for spam via CleanTalk blacklists
2639
- * Added anti-spam form protection for 'Ajax Login & Register'
2640
- * Fixed JetPack form protection
2641
-
2642
- = 4.24 2015-03-20 =
2643
- Added immediate spam protection activation.
2644
-
2645
- = 4.22 2015-03-17 =
2646
- * Added button for automatic spam protection key getting.
2647
-
2648
- = 4.21 2015-03-11 =
2649
- * Added license renew notification.
2650
-
2651
- = 4.20 2015-03-03 =
2652
- * German, Italian, Polish, Portuguese translations, minor code fixes.
2653
-
2654
- = 4.19 2015-02-24 =
2655
- * Increased JS keys lifetime.
2656
-
2657
- = 4.18 2015-02-17 =
2658
- * Bugfix - fixed bug with comments approvement, PayPal 'payment_status' and Akismet 'spam' status processing.
2659
-
2660
- = 4.17 2015-02-12 =
2661
- * New base class, divided code to 3 separate files - common, public and admin.
2662
-
2663
- = 4.16 2015-02-05 =
2664
- * New base class, fixed JetPack filters logics, optimized Formidable, bbPress, BuddyPress filters.
2665
-
2666
- = 4.15 2015-01-29 =
2667
- * Support of Contact Form 7 versions before 3.0.0, fixed global JS-vars and online notice cookie logics.
2668
-
2669
- = 4.14 2015-01-19 =
2670
- * Removed deprecated option from comment approvement code.
2671
-
2672
- = 4.13 2014-12-29 =
2673
- * Not spam comments auto approvement bug fix.
2674
-
2675
- = 4.12 2014-12-29 =
2676
- * Plugin backend minfor bug fixes.
2677
-
2678
- = 4.11 2014-12-22 =
2679
- * Major changes in spam protection algorithms.
2680
-
2681
- = 4.10 2014-12-10 =
2682
- * Minor improvements for custom contact/registration/subscribe forms.
2683
-
2684
- = 4.9 2014-11-24 =
2685
- * Minor bug fix for Contact form 7.
2686
-
2687
- = 4.8 2014-11-19 =
2688
- * Improved anti-spam protection for BuddyPress registrations and custom contact forms.
2689
-
2690
- = 4.7 2014-11-16 =
2691
- * Fixed JavaScript antispam test for FastSecure contact form.
2692
-
2693
- = 4.6 2014-11-11 =
2694
- * Minor changes in anti-spam logic for BuddyPress registrations, contact forms and bbPress guest posting.
2695
-
2696
- = 4.5 2014-11-04 =
2697
- * Bug fixes for Contact form 7 and bbPress guests posting.
2698
-
2699
- = 4.4 2014-10-29 =
2700
- * Improved JS checking for CF7.
2701
-
2702
- = 4.2 2014-10-20 =
2703
- * Increased plugin perfomance for BuddyPress registrations.
2704
-
2705
- = 4.1 2014-10-13 =
2706
- * Minor anti-spam improvements for contacts, registration and contact forms.
2707
-
2708
- = 4.0 2014-10-06 =
2709
- * Major anti-spam improvements for registration and contact forms.
2710
-
2711
- = 3.9 2014-10-01 =
2712
- * Did exception to do not break to create new user in WordPress backend.
2713
-
2714
- = 3.8 2014-09-19 =
2715
- * Bug fix release. Minor fixes in API class and JavaScript anti-spam test.
2716
-
2717
- = 3.6 2014-09-15 =
2718
- * Minor fixes in anti-spam protection for Formidable and custom contact forms.
2719
-
2720
- = 3.4 2014-09-04 =
2721
- * Spam comments rotation. Custom (themes) contact forms support.
2722
-
2723
- = 3.2 2014-08-27 =
2724
- * Minor changes in spam filtration logic.
2725
-
2726
- = 3.1 2014-08-19 =
2727
- * Major changes for comments antispam logic. Improved plugin speed.
2728
-
2729
- = 2.59 2014-08-14 =
2730
- * Antispam protection for bbPress guests posts. Improvement for JetPack comments and PHP API update.
2731
-
2732
- = 2.58 2014-08-06 =
2733
- * Added anti-spam protection for signups posted via WooCommerce order form.
2734
- * Improved anti-spam protection for Contact Form 7.
2735
- * Improved anti-spam protection for registrations. Now the plugin looking for JavaScript antispam test results not only in POST array, but in COOKIES array too. This improvement allows protect signup forms for any untested signups plugins and themes.
2736
- * Updated PHP API. No the plugin can resolve sender IP for websites behind proxy servers. If the proxy servers uses private IP address.
2737
-
2738
- = 2.57 2014-07-29 =
2739
- * Improved anti-spam protection for comments. The plugin now proccessing website url in the comments form.
2740
- * Fixed sign remove logic for approved comments. Previous version doesn't cut sign for comments approved via AJAX call in WordPress backend.
2741
- * Fixed switching to SSL for comments. Previous version doesn't use secured connection for comments.
2742
-
2743
- = 2.56 2014-07-21 =
2744
- * Fixed account status check logic. Previous version makes unnecessary test API calls when the plugin asks account status check.
2745
-
2746
- = 2.55 2014-07-11 =
2747
- * Fixed bug with account status function. In backend the plugin showed notice 'Please don't forget to disable CAPTCHA if you have it on every page.
2748
-
2749
- = 2.54 2014-07-11 =
2750
- * Fixed signup anti-spam protection logic for BuddyPress registrations.
2751
- * Fixed anti-spam protection for JetPack contact form.
2752
- * Changed account status check logic.
2753
-
2754
- = 2.53 2014-06-27 =
2755
- * Fixed anit-spam protection bug for signups.
2756
- * Changed anti-spam functions (comments and signups) priority.
2757
-
2758
- = 2.52 2014-06-25 =
2759
- * Fixed 'Fatal error: Call to a member function get_error_code()' issue with signups via BuddyPress.
2760
-
2761
- = 2.51 2014-06-23 =
2762
- * Added spam protection for registrations via plugin New User Approve by Josh Harrison. If the CleanTalk matched signup as spam this signup will be denied to placing in pending queue.
2763
- * Added option "Use secure (SSL) connection to CleanTalk cloud". If the option enabled plugin will communicate with CleanTalk severs via 128bit encrypted data channel. So, if you have SSL protected webforms on website you can use this option to be sure that visitors personal data safely transmits to CleanTalk servers.
2764
- * Fixed minor bug with loading backend functions.
2765
-
2766
- = 2.49 2014-06-10 =
2767
- * Added spam protection for S2Member Auth.net forms.
2768
- * Added spam protection for multisite signup form.
2769
- * Optimized account status check function.
2770
-
2771
- = 2.46 2014-05-19 =
2772
- * Added: HTML notice about the need to enable JavaScript.
2773
- * Fixed: Fixed pingbacks anti-spam test.
2774
-
2775
- = 2.44 2014-05-12 =
2776
- * Added: Anti-spam protection for S2Member framework.
2777
- * Improved: Plugin load time for backend and frontend.
2778
- * Improved: JavaScript anti-spam test.
2779
- * Fixed: PHP warning mb_convert_encoding()
2780
-
2781
- = 2.42 2014-04-29 =
2782
- * Fixed: JavaScript anti-spam test for comments.
2783
-
2784
- = 2.38 2014-03-27 =
2785
- * Fixed: Registraion form submit time spam test.
2786
-
2787
- = 2.36 2014-03-12 =
2788
- * Reversed to patches from old revisions.
2789
-
2790
- = 2.35 2014-03-12 =
2791
- * New: Notifications about disabled account
2792
- * New: Improved JavaScript spam test.
2793
- * Fixed: Code optimization
2794
- * Fixed: JavaScript test for signups.
2795
-
2796
- = 2.33 2014-02-12 =
2797
- * Fixed: CURLOPT_FOLLOWLOCATION bug at admin notice
2798
-
2799
- = 2.32 2014-02-04 =
2800
- * New: Added notice about automatically approved comment. The notice shows only for first approved comment and only for new commentators (without approved comments) of the blog.
2801
- * New: At WordPress console added banner for notices.
2802
- * Changed: Screenshots updated.
1
+ == Changelog ==
2
+
3
+ = 5.132.3 December 19 2019 =
4
+ * Fix: The disable comments functionality.
5
+
6
+ = 5.132.2 December 17 2019 =
7
+ * Fix: The disable comments functionality.
8
+
9
+ = 5.132.1 December 17 2019 =
10
+ * Fix: Fatal PHP error.
11
+
12
+ = 5.132 December 17 2019 =
13
+ * Fix: PHP 7.4 compability
14
+ * New: Settings and description for "disable comments" functionality.
15
+ * Mod: WooCommerce settings moved to separate block.
16
+ * Minor fixes.
17
+ * Spam protection improved.
18
+
19
+ = 5.131 December 6 2019 =
20
+ * Fix: WooCommerce registration.
21
+ * Fix: Auto update on Wordperss Multisite.
22
+ * Fix: URLs exceptions validation.
23
+ * New: Secuirty improved.
24
+ * Spam protection is improved.
25
+ * Minor fixes ond improvments.
26
+
27
+ = 5.130.1 November 20 2019 =
28
+ * Fix: Plugin autoupdate issues.
29
+ * FIx: Woocommerce checking.
30
+ * Fix: Correct IP detection.
31
+ * Fix: CSV export not working after update.
32
+ * Fix: QuickForms duplicates issues.
33
+
34
+ = 5.130 November 14 2019 =
35
+ * Fix: JetPack contact form JS check.
36
+ * FIx: Iphorm AJAX form.
37
+ * Fix: Paid Memberships Pro fix.
38
+ * Fix: Divi theme contact form fix.
39
+ * Integration: Paid Memberships Pro.
40
+ * Integration: Elementor Pro page builder forms.
41
+ * Improved: Compatibility with different server.
42
+
43
+ = 5.129.1 November 5 2019 =
44
+ * Fix: WooCommerce order detecting.
45
+
46
+ = 5.129 October 30 2019 =
47
+ * Upd: Localize updated.
48
+ * Fix: Direct $_SERVER access replaced.
49
+ * Integration: The 7 theme contact form.
50
+ * Fix: Minor improvements and bug fixes.
51
+ * Mod: Putting site in maintenance mode during plugin update.
52
+
53
+ = 5.128.1 October 23 2019 =
54
+ * Fix: Fatal error when using buffer output.
55
+ * Fix: Translate domain for errors.
56
+ * Code: Fix spelling in function name.
57
+ * Fix: JS disabled error.
58
+ * Upd: Comment edit screen updated.
59
+ * Fix: Cleantalk\Arr::search() fixed.
60
+
61
+ = 5.128 October 17 2019 =
62
+ * Mod: Users check - functionality updated.
63
+ * Fix: Users check - dates format updated.
64
+ * Mod: Comments check - functionality updated.
65
+ * Fix: Comments check - dates format updated.
66
+ * Fix: Fields exclusion fixed.
67
+ * Fix: Notice fixed.
68
+ * Fix: Cleantalk/Antispam/API.
69
+ * Fix: Minor improvements and bug fixes.
70
+
71
+ = 5.127.4 October 13 2019 =
72
+ * Mod: Automatically decrease amount of checked users by one request if an error occurs.
73
+ * Fix: Security issue.
74
+ * Fix: Static JS key.
75
+
76
+ = 5.127.3 October 8 2019 =
77
+ * Fix: Errors during registration.
78
+
79
+ = 5.127.2 October 8 2019 =
80
+ * Integration: SeedProd Coming Soon Page Pro.
81
+ * Fix: WooCommerce double reuqests.
82
+ * Fix: Static JS key.
83
+
84
+ = 5.127.1 October 7 2019 =
85
+ * Fix: WPMS settings logic.
86
+ * Using default database storage engine for tables.
87
+
88
+ = 5.127 September 30 2019 =
89
+ * Fix: Delete redirect notice on external forms
90
+ * Fix: Storing spam for 15 days.
91
+ * Fix: correct DiVi display message.
92
+ * Integration: Ultimate Members.
93
+ * Mod: Setting "Use static JS key" switched to "Auto" if it was "No". Default is "Auto".
94
+ * Mod: Moving White Label option to main site settings.
95
+ * New: Use static JS key if cache plugin detected.
96
+ * New: Settings for URLs, fields, roles exclusions.
97
+ * New: Regular Expressions support in URLs, fields exclusions.
98
+ * New: Send validation errors on standard registration form.
99
+ * Updater: Move exclusions from global variable to settings.
100
+ * Deprecated: IP exclusions.
101
+
102
+ = 5.126 September 9 2019 =
103
+ * Spam protection improved!
104
+ * Integration: Option wheel.
105
+ * Mod: Improved Email detection.
106
+ * Mod: Improved IP detection.
107
+ * Fix: Too large database table with alternative sessions.
108
+ * Fix: Exception for WooCommerce AJAX.
109
+ * Fix: API key validation.
110
+ * Minor fixes.
111
+
112
+ = 5.125 August 26 2019 =
113
+ * Fix: PHP Notices.
114
+ * Fix: Auto update.
115
+ * Fix: Displaying protection status for IP license.
116
+ * Fix: prevent capturing buffer for XMLRPC requests (check_external functionality).
117
+ * Fix: API key validating.
118
+ * New: Complete deactivation setting.
119
+
120
+ = 5.124.1 August 8 2019 =
121
+ * Fix: Error on PHP 5.3.
122
+
123
+ = 5.124 August 8 2019 =
124
+ * Spam protection improved.
125
+ * Fix: SpamFireWall local database counter on Multisite.
126
+ * Fix: Caldera Forms integration.
127
+ * Fix: Settings "Use AJAX for JS check" description.
128
+ * Fix: Formidable integration.
129
+ * New: External forms check now independed from JavaScript.
130
+ * New: Setting Protect external - capture buffer.
131
+ * New: QuForm integration.
132
+
133
+ = 5.123 July 25 2019 =
134
+ * Fix: Plenty of minor fixes.
135
+ * Fix: wpDiscuz integration.
136
+ * Fix: Integration with bbPress.
137
+ * Fix: New comment email notification.
138
+ * New: Follow-Up Emails integration.
139
+ * Fix: Woocommerce integration.
140
+ * Fix: Spelling.
141
+
142
+ = 5.122 July 10 2019 =
143
+ * Spam Protection improved.
144
+ * Fix: Error while checking account status.
145
+ * Fix: Conflict with Elementor Pro.
146
+ * Fix: Integration with Ninja Forms.
147
+ * Fix: Integration with Formidable.
148
+ * New: Detecting mobile devices.
149
+ * New: Integration for Easy Forms for Mailchimp.
150
+
151
+ = 5.121 June 26 2019 =
152
+ * Fix: Translation typos.
153
+ * Fix: Woocommerce integration.
154
+ * Fix: Catching admin in AJAX queries.
155
+ * Mod: Session table (cleantalk_sessions) issue.
156
+ * Mod: Spam protection improved.
157
+ * Integration: Wilcity theme custom registration validation enabled
158
+ * New: Option "Use static JS key".
159
+
160
+ = 5.120.2 June 17 2019 =
161
+ * Fix: WPForms integration.
162
+ * Fix: Translation and spelling.
163
+ * Fix: Minor PHP error
164
+
165
+ = 5.120.1 June 6 2019 =
166
+ * Mod: Description for Search form protection.
167
+ * Fix: CSS and JS attachment.
168
+ * Fix: Undefined index error.
169
+
170
+ = 5.120 June 5 2019 =
171
+ * Fix: bbPress false positives.
172
+ * Fix: SpamFireWall check condition.
173
+ * Fix: SpamFireWall block page.
174
+ * Fix: Catch admin action via search form test.
175
+ * Fix: Catch admin action (AJAX).
176
+ * Mod: Using minified version of JS and CSS.
177
+ * Mod: Date format in statistics.
178
+
179
+ = 5.119.1 May 30 2019 =
180
+ * Fix: Helper class error.
181
+
182
+ = 5.119 May 30 2019 =
183
+ * Fix: No more second request after registration.
184
+ * Fix: Activation hook.
185
+ * Fix: Alternative sessions. Clear table.
186
+ * Fix: Stop capchuring AJAX requests in admin area.
187
+ * Fix: Spelling.
188
+ * Fix: Registration cookies set.
189
+ * Mod: SFW exdtended die page when testing.
190
+ * Mod: User-agent modified.
191
+ * New: Test search queries for spam.
192
+ * New: Gathering and output statistics.
193
+
194
+ = 5.118.4 May 13 2019 =
195
+ * Fix: SFW cookie. Set correct domain for subdomains.
196
+ * Fix: SFW update.
197
+ * Fix: IP detection.
198
+ * Fix: Triggering AJAX check in backend.
199
+ * Fix: Zero submit time on few forms.
200
+
201
+ = 5.118.3 April 29 2019 =
202
+ * Fix: Spam statistics in dashboard widget.
203
+ * Fix: IP detection.
204
+ * Fix: Double check AJAX integrated forms like Ninja Forms.
205
+ * Fix: Use url exclusions for AJAX forms.
206
+
207
+ = 5.118.2 April 25 2019 =
208
+ * Mod: Spam filtration quality improved.
209
+ * Mod: Store SFW cookie for 30 days.
210
+ * Mod: Server IP added to connection report.
211
+ * Fix: spam_stat is not defined.
212
+
213
+ = 5.118.1 April 19 2019 =
214
+ * Fix: Fatal error.
215
+ * Mod: Spam protection improved on registrations.
216
+
217
+ = 5.118 April 19 2019 =
218
+ * Fix: Cookies on registration page.
219
+ * Fix: Update fix.
220
+ * Fix: Wordpress built-in API.
221
+ * Fix: WooCommerce checkout form.
222
+ * Fix: UpdraftPlus. Saving settings.
223
+ * Fix: Convert Pro saving settings.
224
+ * Fix: UTF-8 Converting.
225
+ * Fix: GDPR notice.
226
+ * Fix: cleantalk_sessions table size reduced.
227
+ * Mod: Localization.
228
+ * Mod: Performance improved.
229
+ * Mod: SpamFierWall improvments.
230
+ * Mod: IP detection improved.
231
+ * Mod: JavaScript check rewised.
232
+ * New: Setting "Use alternative mechanism for cookies".
233
+
234
+ = 5.117.1 April 5 2019 =
235
+ * Fix: GDPR notice.
236
+ * Fix: noCacheJS localization.
237
+ * Fix: Fatal error when updating.
238
+
239
+ = 5.117 March 27 2019 =
240
+ * New: Update logic runs on all pages.
241
+ * New: Integration for Ajax Contact Forms plugin.
242
+ * New: Notification for users groups about new comments.
243
+ * New: SFW die page. Show browser and page creation time.
244
+ * Fix: Huge bug in Cleantalk.php connected with servers changing.
245
+ * Fix: Check AJAX requests for logged in users.
246
+ * Fix: Deleting debug in JS.
247
+ * Fix: Validating settings before saving.
248
+
249
+ = 5.116.3 March 14 2019 =
250
+ * Fix: "Headers already sent" error.
251
+ * Fix: Images paths.
252
+ * Fix: IP detection.
253
+ * Fix: Skip lost password form check
254
+ * Fix: Skip mobile requests (push settings)
255
+ * Fix: PHP notice when detecting BuddyPress template.
256
+
257
+ = 5.116.2 March 7 2019 =
258
+ * Fix: Creating tables in MariaDB.
259
+
260
+ = 5.116.1 March 6 2019 =
261
+ * Fix: Creating tables in DB.
262
+ * Fix: PHP Warning in spam statistics widget.
263
+
264
+ = 5.116 March 6 2019 =
265
+ * Spam filtration quality improved.
266
+ * New: Storing visited URLs.
267
+ * New: Check before validation Contact Form 7, Comments, Jetpack comments.
268
+ * New: Get validation result for Contact Form 7, Comments, Jetpack comments.
269
+ * Fix: ES add subscriber.
270
+ * Fix: IP detection.
271
+
272
+ = 5.115.2 February 27 2019 =
273
+ * Fix: False positives spam detection in WP Forms and Contact Form 7.
274
+
275
+ = 5.115.1 February 16 2019 =
276
+ * Fix: SpamFireWall's false positives.
277
+
278
+ = 5.115 February 14 2019 =
279
+ * Fix: Http_only flag for backend cookies.
280
+ * Fix: Spam filtration improved.
281
+ * New: IP detection improved.
282
+ * Fix: SpamFirewall update speeded up.
283
+ * New: False positives with caching solutions decreased.
284
+ * New: Opportunity to use Wordpress HTTP API to connect with Cloud.
285
+
286
+ = 5.114 January 31 2019 =
287
+ * New: Setting "Use Wordpress HTTP API" as alternative to CURL. Disabled by default.
288
+ * Fix: Formidable: Adding small JS check when adding JS_key.
289
+ * Mod: layout of settings page.
290
+ * Mod: Banner logic altered.
291
+
292
+ = 5.113.2 January 18 2019 =
293
+ * Fix: "Settings" link returns to plugin page.
294
+
295
+ = 5.113.1 January 17 2019 =
296
+ * Fix: Conflict with CityTours theme.
297
+ * Fix: Error for Wordpress lower 4.7.
298
+ * Add: Spam protection: "Validate email for existence".
299
+
300
+ = 5.113 January 16 2019 =
301
+ * Fix: Fast and Simple Contact Form.
302
+ * Fix: Settings layout.
303
+ * Fix: Error with WooCommerce Quickview.
304
+ * Fix: Bitrix24 contact form.
305
+ * Fix: Request time decreased.
306
+ * Fix: Requesting account status when activating for IP licenses.
307
+ * Add: Precise AJAX request detection.
308
+ * Spam protection improved.
309
+
310
+ = 5.112 December 21 2018 =
311
+ * Fix: Woocommerce AJAX checkout form.
312
+ * Fix: Profile Builder Pro.
313
+ * Fix: DB structure improvements for WPMS.
314
+ * Spam filtering quality improved.
315
+ * Minor fixes.
316
+
317
+ = 5.111 December 13 2018 =
318
+ * Fix: Double request in JetPack contact form.
319
+ * Fix: Email notification about spam registration.
320
+ * Fix: Links button for feedback comments.
321
+ * Fix: Mail notification about plugin error.
322
+ * Fix: Key field output.
323
+ * Minor fixes.
324
+
325
+ = 5.110 November 29 2018 =
326
+ * Integration: BuddyPress ActivityWall spam protection.
327
+ * Add: GDPR setting for shortcode.
328
+ * Add: Support different BuddyPress templates on activity wall.
329
+ * Fix: Admin/moderator checking for validate post data.
330
+
331
+ = 5.109 November 15 2018 =
332
+ * Fix: Added URL and IP exclusions to Contact Form 7.
333
+ * Fix: js error when responseText is not exists
334
+ * Fix: Sitename when getting key automatically under WPMS.
335
+ * Mod: SpamFireWall is now fully compatible with WPMS.
336
+ * Mod: Setting 'Tell others about CleanTalk' was deleted.
337
+ * Mod: Protection from spam improved.
338
+
339
+ = 5.108.1 November 8 2018 =
340
+ * Fix: Errors with integration class.
341
+
342
+ = 5.108 November 7 2018 =
343
+ * Fix: White label mode.
344
+ * Fix: SpamFireWall now can be disabled.
345
+ * Fix: Layout.
346
+ * Integration: WPForms.
347
+ * Add: Message about block for all no integrated AJAX forms.
348
+ * Add: Displaying account name near api key.
349
+
350
+ = 5.107 October 29 2018 =
351
+ * Fix: Ninja Forms integration.
352
+ * Fix: Cookie usage.
353
+ * Add: Capturing AJAX responses from non integrated forms.
354
+ * Spam protection improved.
355
+ * Minor fixes.
356
+
357
+ = 5.106 October 11 2018 =
358
+ * Spam filtration improved.
359
+ * New: White Label mode.
360
+ * Modification: Warning message about test on SpamFireWall die page.
361
+ * Integration: WP Maintenance Mode.
362
+ * Fix: S2Member.
363
+ * Fix: JavaScript attachments reconsidered.
364
+ * Fix: Admin banners layout.
365
+ * Fix: Minor layout fixes.
366
+
367
+ = 5.105 September 26 2018 =
368
+ * Integration: Now bloking spam for QAEngine questions.
369
+ * Fix: Async http__request call.
370
+ * Fix: Unnecessary get_antispam_report_breif method call.
371
+ * Layout: Hide "Do you like Cleantlak?" when key is not ok.
372
+ * Layout: Minor fixes.
373
+
374
+ = 5.104 September 18 2018 =
375
+ * Fix: Error when saving settings.
376
+ * Fix: Trying update anti spam plugin for the first installation.
377
+ * Fix: Update system.
378
+ * Fix: Errors output.
379
+ * Fix: Plugin's settings under WPMS.
380
+ * Fix: SpamFireWall update.
381
+ * Fix: The server change system repaired.
382
+ * Mod: Cron saving tasks improved.
383
+
384
+ = 5.103.1 September 14 2018 =
385
+ * Fix: Error when saving settings.
386
+ * Fix: Error when getting key automatically.
387
+
388
+ = 5.103 September 13 2018 =
389
+ * Fix: Gravity Forms response message.
390
+ * Fix: SpamFireWall redirect to 404 page.
391
+ * Major anti-spam plugin improvement.
392
+ * Recombined setting page.
393
+ * Added error notification.
394
+ * Mod: S2 Members integration.
395
+ * Mod: Improved remote calls.
396
+
397
+ = 5.102 August 29 2018 =
398
+ * Fix: Users and comments check.
399
+ * Fix: Update from 5.70 or previous versions.
400
+ * Fix: GDPR public JS-script.
401
+ * Fix: Dashboard widget JS scripts attachment.
402
+ * Fix: WooCommerce "Place order" action.
403
+ * Mod: Notification logic altered.
404
+ * Mod: Users check table now has 'Signed up' column.
405
+ * Minor fixes.
406
+
407
+ = 5.101 August 10 2018 =
408
+ * Fix: Set cookie only for non-dashboard pages.
409
+ * Fix: Dashboard widget JS error.
410
+ * Fix: JavaScript error for some environment.
411
+ * Mod: Antispam protection accelerated for some pages.
412
+
413
+ = 5.100 July 30 2018 =
414
+ * Fix: JavaScript dependencies.
415
+
416
+ = 5.99.1 July 17 2018 =
417
+ * IP detection fixed and improved.
418
+
419
+ = 5.99 July 10 2018 =
420
+ * Fix: WooCommerce false positives.
421
+ * Fix: SpamFireWall IP detection.
422
+ * Minor fixes.
423
+
424
+ = 5.98 June 27 2018 =
425
+ * Fix: WooCommerce: Theme exclusion.
426
+ * Fix: Public GDPR JS code.
427
+ * Minor fixes.
428
+
429
+ = 5.97 June 7 2018 =
430
+ * Fix: Update system.
431
+ * Fix: Feedback from public page (admin only).
432
+ * Fix: Users and comment check: API error.
433
+ * Fix: Too many negative reports. (Too big ct_data option)
434
+ * Fix: SpamFireWall: Infinite redirection on the blocking page.
435
+ * Minor fixes.
436
+
437
+ = 5.96 May 22 2018 =
438
+ * Fix: Update system.
439
+ * Mod: Reset all counters button in admin bar.
440
+ * Mod: GDPR compliance.
441
+ * Minor fixes.
442
+
443
+ = 5.95.1 May 3 2018 =
444
+ * Fix: "Get key automatically" button display logic.
445
+ * Fix: PHP notices.
446
+
447
+ = 5.95 May 2 2018 =
448
+ * Spam filtration improved.
449
+ * Fix: Public widget layout.
450
+ * Fix: Connection reports output.
451
+ * Minor fixes.
452
+
453
+ = 5.94 April 23 2018 =
454
+ * Mod: Async load option for JS.
455
+ * Mod: JS scripts loading is conditional.
456
+ * Fix: IP detection.
457
+ * Fix: IP detection.
458
+ * Fix: Javascript error.
459
+
460
+ = 5.93.1 April 9 2018 =
461
+ * Fix: Fatal error on PHP 5.5 or lower.
462
+
463
+ = 5.93 April 9 2018 =
464
+ * Fix: Spam FireWall IP detection.
465
+ * Fix: Contact Form 7. False positives.
466
+ * Mod: Autoupdate function improved.
467
+ * Minor fixes.
468
+
469
+ = 5.92.2 March 23 2018 =
470
+ * Fix: Error if cURL extension is disabled.
471
+
472
+ = 5.92.1 March 23 2018 =
473
+ * Fix: Spelling
474
+ * Fix: Fatal error if cURL extension is disabled.
475
+
476
+ = 5.92 March 22 2018 =
477
+ * IP detection improved.
478
+ * Fix: SSL connection.
479
+ * Fix: False positives spam detection in Contact Form 7.
480
+ * Minor fixes.
481
+
482
+ = 5.91 March 15 2018 =
483
+ * Fix: Errors for PHP compiled without XML support.
484
+ * Fix: Spelling and translation.
485
+ * Stability increased.
486
+ * Minor fixes.
487
+
488
+ = 5.90 March 7 2018 =
489
+ * Improvement: Better IP recognition in Spam FireWall.
490
+ * Fix: Gravity Froms blocking message.
491
+ * Security improvments.
492
+ * Minor fixes.
493
+
494
+ = 5.89 February 21 2018 =
495
+ * Improved spam filtration quality.
496
+ * Improved compatibility.
497
+ * Public widget: Styles and referral link added.
498
+ * Dashboard widget: revised and fixed.
499
+ * Minor fixes.
500
+
501
+ = 5.88 February 12 2018 =
502
+ * Integration: ConvertPro.
503
+ * Improvement: Search for visitor's names in request.
504
+ * Fix: Contact Form 7 message recognition.
505
+ * Preparation for the remote plugin update.
506
+ * Minor fixes.
507
+
508
+ = 5.87 February 2 2018 =
509
+ * Filtration quality improved.
510
+ * Fix: WP Foto Vote downloading images.
511
+ * Fix: Fatal error for unsupported PHP 5.2.
512
+ * Fix: Formidable Forms improved spam filtration.
513
+
514
+ = 5.86 January 25 2018 =
515
+ * Fix: High CPU load with wp-ajax.php.
516
+ * Fix: Mailpoet: Newsletter.
517
+ * Fix: Gravity: Forms standardization for input fields.
518
+ * Fix: ajax hook checks data for contact form.
519
+ * Fix: UTF8 character in requests.
520
+
521
+ = 5.85 January 11 2018 =
522
+ * Fix: Fast Secure contact form spam block message.
523
+ * Fix: IP license status.
524
+ * Layout: Dashboard widget description altered.
525
+
526
+ = 5.84 December 26 2017 =
527
+ * Integration: PeepSo contact form
528
+ * Repared: Feedback from comments page.
529
+ * Fix: mb_* functions used only if exists.
530
+ * Fix: Gravity forms: Multi-page form logic repared.
531
+ * Fix: Gravity forms: AJAX form logic repared.
532
+ * Minor fixes.
533
+
534
+ = 5.83.2 December 19 2017 =
535
+ * Fix: Error in base class.
536
+
537
+ = 5.83.1 December 19 2017 =
538
+ * Fix: CDN IP detection.
539
+
540
+ = 5.83 December 19 2017 =
541
+ * Improving: Stability and compatibility.
542
+ * Improving: Spam protection.
543
+ * Fix: Comments logic filtration.
544
+ * Fix: Admin bar counter.
545
+ * Minor errors fixes.
546
+
547
+ = 5.82.1 December 7 2017 =
548
+ * Fixed minor error with attaching JS and CSS files.
549
+
550
+ = 5.82 December 4 2017 =
551
+ * Plugin doesn't use PHP sessions anymore.
552
+ * Bug fixes.
553
+ * Improved update logic.
554
+
555
+ = 5.81 November 22 2017 =
556
+ * Fixed error with "Show/Hide key" button.
557
+ * Slightly improved spam protection for all forms.
558
+ * Small errors fixes.
559
+
560
+ = 5.80 November 3 2017 =
561
+ * Spam protection improved.
562
+ * Improved filtration quality for WooCommerce checkout.
563
+ * Minor fixes for Spam FireWall.
564
+
565
+ = 5.79 October 26 2017 =
566
+ * Spam protection improved.
567
+ * Fixed issue with existing spam comments check.
568
+ * Added posibility to exclude IP from check.
569
+ * Minor fixes.
570
+
571
+ = 5.78 October 16 2017 =
572
+ * Improved compatibility with themes. Changed core functions prefix.
573
+ * Fixed issue with WooCommerce checkout.
574
+ * Spam protection improved.
575
+ * Minor fixes.
576
+
577
+ = 5.77 October 2 2017 =
578
+ * Connection report's system.
579
+ * Integration for CouponXXL Theme.
580
+ * Fixed issue with mb_* functions.
581
+ * Banners logic updated.
582
+
583
+ = 5.76 September 20 2017 =
584
+ * Fixed issue with Spam FireWall and caching plugins.
585
+ * Banners logic updated.
586
+
587
+ = 5.75 September 15 2017 =
588
+ * Pause feature for users/comments spam check.
589
+ * Improved protection from spam.
590
+ * Small fixes.
591
+
592
+ = 5.74.2 September 2 2017 =
593
+ * Fix for users spam check for PHP 5.3 and lower.
594
+
595
+ = 5.74.1 September 2 2017 =
596
+ * Fix for the update system and cloud communication.
597
+ * Added possibility to check users and comments for spam with a specific date range.
598
+
599
+ = 5.74 August 31 2017 =
600
+ * Users and comments spam check: Two check types (fast and accurate).
601
+ * Fix for WooCommerce checkout test.
602
+ * Minor fixes.
603
+
604
+ = 5.73 August 11 2017 =
605
+ * Fix for spam check for already existed users and comments.
606
+ * Spam FireWall updated.
607
+ * Layout fix for BT Comments.
608
+ * Minor fixes.
609
+
610
+ = 5.72 July 27 2017 =
611
+ * Improved spam check for existed users and comments.
612
+ * Minor fixes.
613
+
614
+ = 5.71 July 20 2017 =
615
+ * Improved spam protection for external forms.
616
+ * Optimization.
617
+ * Minor fixes.
618
+
619
+ = 5.70.2 July 17 2017 =
620
+ * Fix for Spam FireWall for Multisite.
621
+
622
+ = 5.70.1 July 17 2017 =
623
+ * Fix for Spam FireWall.
624
+ * Spam detection improved.
625
+
626
+ = 5.70 July 13 2017 =
627
+ * New updater logic.
628
+ * Self cron system.
629
+ * Improved AMP compatibility.
630
+ * Optimization.
631
+ * Fixed users and comments spam check.
632
+ * Fixed layout for Comment's feedback from public page.
633
+ * Updated Spam FireWall.
634
+ * SFW: Spam FireWall counter now work in real-time.
635
+ * SFW: Improved compatibility with different Data Bases.
636
+
637
+ = 5.69 July 3 2017 =
638
+ * Reviewer - integration.
639
+ * Optimization for Users and Comments check for big databases.
640
+ * Errors fixes.
641
+ * Improved protection from spam.
642
+
643
+ = 5.68 June 22 2017 =
644
+ * Contact Form for WordPress - Ultimate Form Builder Lite - integration.
645
+ * Contact Bank - Contact Forms Builder - integration.
646
+ * Smart Forms - integration.
647
+ * cformsII - integration.
648
+ * Contact Form by Web-Settler - integration.
649
+ * Error fixes.
650
+
651
+ = 5.67.3 June 9 2017 =
652
+ * Fixed JS attachment error.
653
+
654
+ = 5.67.2 June 5 2017 =
655
+ * Fixed error with IP determination.
656
+
657
+ = 5.67.1 June 4 2017 =
658
+ * Fixed JS error in 5.67 version.
659
+ * Integrations: Enfold theme, Convertplug.
660
+ * Links to check for Emails/IP for spam.
661
+ * Control comments and feedback about them from public post's page.
662
+ * Improved connection stability with cloud service.
663
+ * Spam protection improved.
664
+ * Other small fixes.
665
+
666
+ = 5.67 June 1 2017 =
667
+ * Integrations: Enfold theme, Convertplug.
668
+ * Links to check for Emails/IP for spam.
669
+ * Control comments and feedback about them from public post's page.
670
+ * Improved connection stability with cloud service.
671
+ * Spam protection improved.
672
+ * Other small fixes.
673
+
674
+ = 5.66 May 23 2017 =
675
+ * Spam protection improved.
676
+ * Major fixes for users and comments spam check.
677
+ * Added feedback from Wordpress comments list.
678
+ * Fix for "internal forms check" option.
679
+ * Fixed issue with caching Spam FireWall die page.
680
+ * Other small fixes.
681
+
682
+ = 5.65 May 16 2017 =
683
+ * Fix for PayPal redirecton.
684
+ * Fixed issue with empty query for bulk comments test.
685
+ * Added protection for Enfold contact form.
686
+ * Ninja forms integration.
687
+
688
+ = 5.64 April 26 2017 =
689
+ * Integration for Facebook registrations.
690
+ * Small fixes for WPMS.
691
+ * Fix for Activecampaign service.
692
+ * Fix for check spam users.
693
+ * Fixed rare notice Notice: Undefined index: REQUEST_URI
694
+
695
+ = 5.63 April 20 2017 =
696
+ * Fix for the dashboard spam stat widget.
697
+ * Added translation posibility for all text.
698
+
699
+ = 5.62 April 17 2017 =
700
+ * Fix for the dashboard spam statistics widget.
701
+ * Fix for users spam check.
702
+ * Small appearance changes.
703
+
704
+ = 5.61 April 6 2017 =
705
+ * Improved filtration.
706
+ * Additional logic for the form recognizing.
707
+ * Integration: Divi Theme Contact Form.
708
+ * Fix: Gravity Forms multipages forms.
709
+ * Stat Widget: Minor fixes.
710
+ * Added possibility to download results of the users check in CSV format.
711
+ * Alteration for settings page (footer).
712
+
713
+ = 5.60.1 March 29 2017 =
714
+ * Fixed error function 'locale_get_display_region' no exists.
715
+
716
+ = 5.60 March 29 2017 =
717
+ * Added main dashboard widget with spam sctivity stats.
718
+ * Mailster - integration.
719
+ * Base class updated.
720
+
721
+ = 5.59 March 24 2017 =
722
+ * Users/comments check fix.
723
+ * Plugin's name changed to Anti-Spam by CleanTalk.
724
+ * Trial banner is dismissable. Disapear for 24h or till logout.
725
+ * Settings modified (Auto testing failed warning).
726
+ * Mailing(inactive key) interval increased to 6 hours.
727
+
728
+ = 5.58.6 March 16 2017 =
729
+ * Fix for Ninja forms (protection updated).
730
+ * Fix for QA Theme.
731
+ * Fix for RSVP form.
732
+ * Setting changes (Spam FireWall).
733
+ * Improved debug section.
734
+ * Improved gathering data function.
735
+ * Minor fixes.
736
+
737
+ = 5.58.5 March 6 2017 =
738
+ * Minor backend fix.
739
+
740
+ = 5.58.4 March 6 2017 =
741
+ * Users check fix (redirect after the check).
742
+ * Fixed PHP Notice "HTTP_REFERER" is unset.
743
+ * Updated Notice logic.
744
+
745
+ = 5.58.3 February 28 2017 =
746
+ * Bitrix24 Contact form integration.
747
+ * Users/comments check fix.
748
+ * Spam sorting updated.
749
+ * Banner showing logic.
750
+
751
+ = 5.58.2 February 17 2017 =
752
+ * Cron fix for daily report.
753
+
754
+ = 5.58.1 February 16 2017 =
755
+ * Minor fixes.
756
+
757
+ = 5.58 February 15 2017 =
758
+ * Work without access key
759
+ * Bitrix24 contact integration
760
+ * Issues fixes
761
+
762
+ = 5.57.1 February 8 2017 =
763
+ * Fix for notice logic.
764
+
765
+ = 5.57 February 8 2017 =
766
+ * Setting page changes.
767
+ * Bug fixes for WooCommerce.
768
+ * Spam FireWall filters only GET requests.
769
+ * Optimization.
770
+ * Minor and major fixes.
771
+
772
+ = 5.56.1 January 25 2017 =
773
+ * Minor fixes
774
+
775
+ = 5.56 January 19 2017 =
776
+ * Integrations: MailChimp Premium, Profile Press.
777
+ * Changes comments flow.
778
+ * FireWall updater fix.
779
+ * Users check optimization.
780
+
781
+ = 5.55 December 23 2016 =
782
+ * Integrations: Caldera Forms, Visual Form Builder.
783
+ * Fix for different 'cookies' header names.
784
+ * Fixed user deletion.
785
+
786
+ = 5.54 December 12 2016 =
787
+ * Integrations: AmoForms, Contact Form Clean and Simple.
788
+ * Comments check logic refreshed.
789
+ * Registration JS error fix.
790
+ * Users check fix.
791
+ * Fix for translation system.
792
+ * Minor fixes.
793
+
794
+ = 5.53.1 December 9 2016 =
795
+ * Minor layout fixes.
796
+
797
+ = 5.53 November 28 2016 =
798
+ * Addition warning before deleting users.
799
+ * Spam FireWall is enabled by default.
800
+ * Usernoise modal feedback / contact form : integration.
801
+ * Translations.
802
+ * Optimization.
803
+ * Fixes.
804
+
805
+ = 5.52.1 November 14 2016 =
806
+ * Users and comments check: Using new API method.
807
+ * Quick Contact From: Integration via "Custom Contact Forms" setting.
808
+ * JavaScript filtration improved.
809
+ * Translation changes.
810
+ * Optimized JavaScript code.
811
+
812
+ = 5.51 November 2 2016 =
813
+ * Added protection for internal forms
814
+ * Immediate spam check for comments and users from WP dashboard
815
+ * Optimized code
816
+
817
+ = 5.50.1 October 24 2016 =
818
+ * Improved filtration in contact forms.
819
+ * Spam FireWall: Fixed issue with SFW logs
820
+ * Skipping service fields: Fast Secure Contact Froms, QU Forms, Custom Contact Forms
821
+
822
+ = 5.50 October 20 2016 =
823
+ * Custom contact forms: integration.
824
+ * Pirate Forms: integration.
825
+ * PHP 7 compatibility: Deleted third-party JSON library and dependences.
826
+ * PHP 7 compatibility: Fixed end of lines.
827
+ * YOAST Seo: Fixed PHP warnings.
828
+ * Spam FireWall: Minor fix for Spam FireWall counter.
829
+ * Only admin could access to CleanTalk dashboard (exclude Authors an Editors).
830
+ * Improved filtration in contact forms.
831
+
832
+ = 5.49.2 October 5 2016 =
833
+ * Second Fix for database error. Stable version.
834
+
835
+ = 5.49.1 October 5 2016 =
836
+ * Fixed database error.
837
+
838
+ = 5.49 October 3 2016 =
839
+ * Spam FireWall feature: Class upgraded.
840
+ * New feature: Delete links from approved comments.
841
+ * Settings: Grouped.
842
+ * Settings: Altered description fixed spelling mistakes.
843
+ * Settings: Added indicator for Spam FireWall.
844
+ * Admin bar: Added Spam FireWall counter
845
+ * Clean and Simple Contact Form: Direct integration.
846
+ * WooCommerce: Don't check password recovery form.
847
+ * WooCommerce Wishlists: Issue with check for Google bots.
848
+ * JetPack: contact form fix.
849
+ * Fixed and created the defaults for all CleanTalk options.
850
+ * Fixed spelling mistakes.
851
+
852
+ = 5.48 September 15 2016 =
853
+ * buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
854
+ * buddyPress: Added option in settings for private messages check.
855
+ * WooCommerce Wishlist: Added check for wishlists.
856
+ * Fixed issue with "check all post data" option.
857
+ * Improved filtering for Gravity Forms
858
+ * Mobile Assistant Connector fix
859
+ * Minor fixes.
860
+
861
+ = 5.47 September 5 2016 =
862
+ * WooCommerce: direct integration for checkout form.
863
+ * WooCommerce Sensei: login form fix.
864
+ * bbPress: Added the check for topics and comments with stop_words
865
+ * bbPress: Skip check for admin in comments and topics
866
+ * UserPro: fixes. Request without field "shortcode"
867
+ * Contact Form 7: Bug fix.
868
+ * Spam FireWall: Optimized logs rotation.
869
+ * Updated inner functions (compatibility fix for PHP 5.4+)
870
+ * Fixed output of counters (without spamfirewall stats)
871
+ * Fixed spelling in settings
872
+ * Added "Delete from the list" button in comments spam check page
873
+ * Minor fixes.
874
+
875
+ = 5.46 August 17 2016 =
876
+ * Fixed issue with admin bar links in WP Multi Network mode.
877
+ * Added "All time counter" and "Daily counter" into admin bar.
878
+ * Added settings to disable counters in admin bar.
879
+ * New style for "Get access key manually" button.
880
+
881
+ = 5.45.2 August 4 2016 =
882
+ * Added Anti-Spam protection for Quick Event Manager.
883
+ * 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.
884
+ * Fixed bulk spam test for comments. Previous version had a conflict between spam history for IP and Email.
885
+ * Minor fix function to get the API key.
886
+
887
+ = 5.45.1 July 26 2016 =
888
+ * Fixed issue with missed spam messages, subscriptions.
889
+ * Improved bulk spam test for comments. Now the plugin will not mark as Spam comments, if a comment sender (IP address) has spam activity more than 30 days ago.
890
+
891
+ = 5.45 July 21 2016 =
892
+ * Optimized bulk spam comments deletion.
893
+ * Turned off JavaScript anti-spam cookies if the option 'Set cookies' is turned off. It helps to avoid issues with Varnish.
894
+ * Added links to bulk spam comments&users removal tool.
895
+
896
+ = 5.44.1 July 13 2016 =
897
+ * Optimized options getting code.
898
+ * Added the option 'Protect Logged in users' to do anti-spam tests for submissions by logged in users.
899
+
900
+ = 5.43.2 June 30 2016 =
901
+ * Optimized anti-spam code for AJAX based contact forms.
902
+ * Fixed CSS layout of counters in Admin bar (issue with layout in IE11).
903
+
904
+ = 5.43.1 June 23 2016 =
905
+ * Added agent version in requests to test a connection between the website and servers.
906
+ * Fixed issue with PHP notices in cleantalk-admin.php.
907
+
908
+ = 5.43 June 22 2016 =
909
+ * Added spam protection for registrations via 'Login with AJAX' plug-in.
910
+ * Added a new counter to Admin bar that allows to count spam and approved submissions since last reset.
911
+ * Update the code that tests a connection between a website and CleanTalk's servers. New version doesn't generate submissions with email good@cleantalk.org.
912
+ * Fixed issue with spam protection for nested forms by Formidable plug-in.
913
+
914
+ = 5.42 2016-06-15 =
915
+ * Added anti-spam protection for UserPro.
916
+ * Improved protection for Formidable forms + Varnish.
917
+ * Improved bulk search for spam accounts.
918
+ * Fixed spam protection for pages that contain multiple Formidable forms with same HTML ID.
919
+ * Optimized PHP code to be compatible with PHP 5.4 and above. The patch has been applied to Formidable forms spam protection.
920
+ * Minor fixes in plugin backend.
921
+
922
+ = 5.41 2016-05-31 =
923
+ * Added HTTP response in plugin response if an network issue was happend.
924
+ * Optimized JavaScript anti-spam test for Formidable forms.
925
+ * Re-stored the option to auto redirect to plugn settings after plugin activation.
926
+ * Updated Spanish, Russian translations.
927
+ * Fixed issue with nasted fields in Formidable forms.
928
+
929
+ = 5.40.3 2016-05-26 =
930
+ * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
931
+ * Added JSON encoding for AJAX forms.
932
+ * Obfuscated private data for Custom contact forms option.
933
+ * Optimized bulk users check for spam over blacklists database.
934
+ * Fixed issue with lost connection to servers and JavaScript anti-spam test.
935
+ * Fixed issue with WordFence and collect_details.
936
+
937
+ = 5.40.2 2016-05-11 =
938
+ * Improved account status check logic.
939
+ * Fixed issue with double anti-spam tests for FastSecure contact forms.
940
+ * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occurred on standart WordPress registration form and with failed JavaScript spam test.
941
+ * Fixed issue with session_start() with PHP sessions stored in memcache.
942
+
943
+ = 5.40.1 2016-04-28 =
944
+ * Fixed issue with Super Socializer.
945
+ * Fixed issue with spam filtration for logged in users and Formidable forms.
946
+ * Added logging of all submitted fields for FastSecure contact form.
947
+
948
+ = 5.40 2016-04-19 =
949
+ * Added JSON encoding for posts that were protected via Custom contact forms option. It allows show anti-spam logs in the Dashboard in more comfortable view.
950
+ * Minor fix in plugin settings.
951
+ * Fixed pagination for bulk users spam test.
952
+ * Fixed issue with unknown _SESSION.
953
+ * Fixed issue with double Spam FireWall database upload.
954
+
955
+ = 5.39.1 2016-04-04 =
956
+ * Improved AJAX based anti-spam test with HTTPS backends.
957
+ * Added fix to avoid issue with empty ct_info_flag on JavaScript side.
958
+ * Added logic to exclude caching for Spam FireWall.
959
+ * Removed a condition to skip accounts with 127.0.0.1 IP in spam test for registered acconts.
960
+
961
+ = 5.38.1 2016-03-24 =
962
+ * Fixed issue with PHP sessions and 'The session id is too long or contains illegal characters'.
963
+ * Removed Spam FireWall protection on /feed page.
964
+ * Disabled anti-spam tests for AJAX calls if the option 'Custom contact forms' is turned off.
965
+ * Added reject notice for spam submissions on Gravity forms with AJAX calls.
966
+
967
+ = 5.37.3 2016-03-10 =
968
+ * Fixed bug with broken MailPoet previews.
969
+ * Fixed bug with broken Geo My WP pop-up windows.
970
+ * Fixed issue with mb_convert_encoding() function.
971
+ * Removed double JavaScript code in front-end.
972
+ * Removed unused variables in anti spam logic.
973
+ * Added option 'Set cookies' (turned on by default). If the option turned off, the plugin will not generate cookies, but in this case plugin will not protect some rarely used contact forms. Any way, turn this option off be compatible with Varnish in spam protection for WordPress core comments, registrations and most popular contact forms.
974
+ * Added anti-spam protection for Gravity forms via option 'Contact forms' with hook gform_entry_is_spam().
975
+
976
+ = 5.36.1 2016-02-05 =
977
+ * Fixed bug, when users receive error after logging in
978
+ * Improve anti-spam filters for contact forms.
979
+
980
+ = 5.36 2016-02-04 =
981
+ * Improved JavaScript anti spam protection
982
+ * Improvements for avoiding blocking requests from payment systems
983
+
984
+ = 5.35 2016-01-14 =
985
+ * Added support for IP licensing
986
+ * Some anti-spam protection improvements
987
+ * Small backend interface fixes
988
+
989
+ = 5.34.1 2015-12-17 =
990
+ * Fixed trackback antispam protection: improved checking mechanism
991
+ * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
992
+
993
+ = 5.34 2015-12-10 =
994
+ * Improved spam checking mechanism
995
+ * Added "Collect browser details" option for better antispam protection
996
+ * Fixed custom contact forms checking for AJAX requests
997
+ * Minor translations fixes
998
+
999
+ = 5.33.1 2015-12-04 =
1000
+ * Fixed issue with BBPress: restored old user permission checking mechanism
1001
+ * Fixed anti-spam comments checking: sometimes get_comments returned wrong comments number
1002
+ * Fixed bulk checking: made numeric indexes in users and comments arrays
1003
+ * Fixed trackback and pingback checking: removed exception for checking
1004
+
1005
+ = 5.33 2015-12-01 =
1006
+ * Backend interface fixes
1007
+ * Improved Spam FireWall efficiency
1008
+ * Improved performance of anti spam checking
1009
+
1010
+ = 5.32 2015-11-26 =
1011
+ * Added improvements for manual spam detection
1012
+ * Fixed errors in backend
1013
+ * Fixed bulk users anti spam checking
1014
+ * Added indicator for bulk spam checking
1015
+ * Added "Get access key automatically" button
1016
+
1017
+ = 5.31 2015-11-11 =
1018
+ * Improved backend performance
1019
+ * Fixed counter of approved/blocked spam attacks
1020
+ * Fixed Spam FireWall logging
1021
+
1022
+ = 5.30 2015-11-05 =
1023
+ * Improved anti-spam checking
1024
+ * Optimized performance
1025
+ * Fixed blocking email preview in MailPoet
1026
+ * Interface fixes
1027
+ * WPMU interface fixes
1028
+
1029
+ = 5.29 2015-10-27 =
1030
+ * Optimized performance
1031
+ * Fixed bugs in custom contact forms spam checking
1032
+
1033
+ = 5.28.7 2015-10-23 =
1034
+ * Optimized PHP sessions creation algorithm. This fix should increase plugin perfomance on hostings without retenion of PHP sessions files.
1035
+ * Removed autoredirection to plugin settings after plugin activation.
1036
+
1037
+ = 5.28 2015-10-16 =
1038
+ * Fixed errors in anti-spam checking
1039
+ * Restored options for spam checking registrations and cpmmon contact forms
1040
+ * Improved spam protection
1041
+ * Fixed problems with AJAX functionality in MailPoet, WooCommerce and other AJAX plugins
1042
+
1043
+ = 5.27 2015-10-13 =
1044
+ * Improvements in SpamFireWall feature
1045
+ * Code optimization
1046
+ * Backend interface fixes
1047
+
1048
+ = 5.26 2015-10-05 =
1049
+ * Added WordPress Language Pack support
1050
+ * Removed spam checking for some autorisation plugins
1051
+ * New experimental feature: SpamFireWall
1052
+
1053
+ = 5.25.2 2015-09-28 =
1054
+ * Fixed backend bug
1055
+
1056
+ = 5.25.1 2015-09-28 =
1057
+ * Added widget with anti-spam stats
1058
+ * Added information about blocked spam attacks in admin dashboard and CleanTalk settings
1059
+ * Added ability not to check comments for users with 3 or above allowed comments
1060
+ * Added an option 'Help others known CleanTalk' to show information for site visitors, that your site is protected from spam by us
1061
+ * Some backend interface settings
1062
+
1063
+ = 5.24.1 2015-09-16 =
1064
+ * Fixed some errors in frontend
1065
+ * Fixed access key saving
1066
+
1067
+ = 5.24 2015-09-14 =
1068
+ * Backend interface fixes
1069
+ * Improvement for AJAX JavaScript spam checking
1070
+
1071
+ = 5.23 2015-09-01 =
1072
+ * Fixed BuddyPress profile search false positivities of anti-spam protection.
1073
+ * Some interface fixes of bulk users & comments spam checking
1074
+
1075
+ = 5.22 2015-08-26 =
1076
+ * Fixed possible XSS issue for anti-spam test on third-party forms.
1077
+
1078
+ = 5.21 2015-08-21 =
1079
+ * Fixed bug with skipping spam submissions
1080
+ * Fixed bug with receiving old user_token for viewing anti-spam stats
1081
+ * Small backend fixes
1082
+
1083
+ = 5.20 2015-08-15 =
1084
+ * Fixed anti-spam stats in admin bar - now stats updates every hour
1085
+ * Fixed issue with skipping spam submissions
1086
+ * Added some PHP-constants for advanced users - CLEANTALK_AJAX_USE_BUFFER and CLEANTALK_AJAX_USE_FOOTER_HEADER can be defined to true or false in wp-config.php to control method, which will be used for injection of AJAX script.
1087
+
1088
+ = 5.19 2015-08-11 =
1089
+ * New feature: anti-spam checking for registered users
1090
+ * Fixed issue with AJAX JavaScript anti-spam test.
1091
+ * Fixed issue with SEO Yoast xml sitemaps and JavaScript anti-spam test.
1092
+
1093
+ = 5.18 2015-08-04 =
1094
+ * Fixed issue with user_token
1095
+ * Added anti-spam API, see our FAQ
1096
+
1097
+ = 5.17 2015-07-23 =
1098
+ * Fixed infinite redirection after activation
1099
+ * Minor backend fixes
1100
+
1101
+ = 5.16 2015-07-22 =
1102
+ * Fixed external services checking
1103
+ * Fixed mass comments deletion
1104
+ * Fixed AJAX anti-spam protection
1105
+
1106
+ = 5.15 2015-07-16 =
1107
+ * New feature: anti-spam protection for forms, that uses external services
1108
+
1109
+ = 5.14 2015-07-03 =
1110
+ * Added anti-spam protection for some themes and plugins
1111
+ * Some backend fixes
1112
+
1113
+ = 5.13 2015-06-12 =
1114
+ * Closing notification for anti-spam renew
1115
+ * Fixed bulk anti spam comment checking
1116
+
1117
+ = 5.12 2015-06-01 =
1118
+ * Added option for checking all post data for spam
1119
+ * Some JavaScript protection improvements
1120
+ * Added option for old JavaScript check (without AJAX)
1121
+
1122
+ = 5.10 2015-05-25 =
1123
+ * Fixed Javascript error on some forms
1124
+
1125
+ = 5.9 2015-05-21 =
1126
+ * Fixed Javascript error on CF7 and JetPack
1127
+ * Some backend and frontent fixes
1128
+
1129
+ = 5.8 2015-05-18 =
1130
+ * Minor fixes
1131
+
1132
+ = 5.7 2015-05-18 =
1133
+ * Fixed French translation
1134
+ * Fixed protection algorithm
1135
+
1136
+ = 5.6 2015-05-11 =
1137
+ * Fixed translation
1138
+ * Fixed bulk comments anti-spam checking
1139
+ * Added option for disabling anti spam stats in adminbar
1140
+ * Some security fixes
1141
+
1142
+ = 5.5 2015-04-29 =
1143
+ * Fixed security issue
1144
+ * Some interface fixes
1145
+
1146
+ = 5.4 2015-04-27 =
1147
+ * Some interface and functionality changes in plugin settings page
1148
+ * Added counter for anti-spam stats in admin bar
1149
+
1150
+ = 5.3 2015-04-13 =
1151
+ * Added anti-spam protection for Divi theme contact forms
1152
+ * Added anti-spam protection for MyMail contact forms
1153
+ * Added anti-spam protection for MailPoet Newsletters
1154
+ * Some interface and functionality changes in backend
1155
+
1156
+ = 5.2 2015-04-01 =
1157
+ * Added link for anti-spam stats
1158
+ * Added WP User Frontend Pro registration form protection
1159
+
1160
+ = 5.1 2015-03-24 =
1161
+ * Fixed site crash after installing 5.0 on some websites
1162
+
1163
+ = 5.0 2015-03-24 =
1164
+ * Added bulk comments checking for spam via CleanTalk blacklists
1165
+ * Added anti-spam form protection for 'Ajax Login & Register'
1166
+ * Fixed JetPack form protection
1167
+
1168
+ = 4.24 2015-03-20 =
1169
+ * Added immediate spam protection activation.
1170
+
1171
+ = 4.22 2015-03-17 =
1172
+ * Added button for automatic spam protection key getting.
1173
+
1174
+ = 4.21 2015-03-11 =
1175
+ * Added license renew notification.
1176
+
1177
+ = 4.20 2015-03-03 =
1178
+ * Added German, Italian, Polish, Portuguese translations.
1179
+ * Minor code fixes.
1180
+
1181
+ = 4.19 2015-02-24 =
1182
+ * Increased keys lifetime for JS spam test.
1183
+
1184
+ = 4.18 2015-02-17 =
1185
+ * Fixed bug with comments approvement - moved ct_unmark_red() to cleantalk-admin.php
1186
+ * Added PayPal 'payment_status' in skip list.
1187
+ * Added Akismet 'spam' status processing.
1188
+
1189
+ = 4.17 2015-02-12 =
1190
+ * New base class.
1191
+ * Divided code to 3 separate files - common, public and admin.
1192
+
1193
+ = 4.16 2015-02-05 =
1194
+ * New base class.
1195
+ * Fixed JetPack spam filters logics.
1196
+ * Optimized Formidable, bbPress, BuddyPress spam filters.
1197
+
1198
+ = 4.15 2015-01-29 =
1199
+ * Support spam test for Contact Form 7 versions before 3.0.0.
1200
+ * Fixed global JS-vars for JS spam test.
1201
+ * Fixed online notice cookie logics.
1202
+ * Optimized spam filters for FSCF, WooCommerce, JetPack.
1203
+ * Optimized option getting.
1204
+
1205
+ = 4.14 2015-01-19 =
1206
+ * Removed deprecated option from comment approvement code.
1207
+ * New API key URL.
1208
+ * Trimmed API key in admin panel.
1209
+ * Added current options to array sended to CleanTalk servers.
1210
+ = 4.13 2014-12-29 =
1211
+ * Fixed bug with autimatically aprovement not spam comments. Now this option disabled and do not override local WordPress policy.
1212
+
1213
+ = 4.12 2014-12-29 =
1214
+ * Fixed bug with 'Wrong Access key...' notice in WordPress dashboard.
1215
+ * Fixed filtration bug in WordPress dashboard login form.
1216
+
1217
+ = 4.11 2014-12-22 =
1218
+ * Improved anti-spam protection for custom contact/registration/subscribe forms.
1219
+ * Improved anti-spam protection for comments.
1220
+ * Accelerated plugin speed for comments, regirstrations and contacts.
1221
+ * Added translation to French.
1222
+
1223
+ = 4.10 2014-12-10 =
1224
+ * Improved anti-spam protection for custom contact/registration/subscribe forms.
1225
+ * Option 'Custom contact forms' enabled by default for new setups.
1226
+ * Removed settings "Publish relevant comments", "Use encrypted (SSL) connection".
1227
+ * Added translation to Danish (thank you for Mikkel at KreativJul.dk).
1228
+
1229
+ = 4.9 2014-11-24 =
1230
+ * Fixed spam test for Contact Form 7.
1231
+
1232
+ = 4.8 2014-11-19 =
1233
+ * Improved anti-spam protection for BuddyPress registrations and custom contact forms.
1234
+
1235
+ = 4.7 2014-11-16 =
1236
+ * Fixed JavaScript spam test for FastSecure contact form.
1237
+
1238
+ = 4.6 2014-11-11 =
1239
+ * Improved anti-spam protection on BuddyPress registrations.
1240
+ * Improved anti-spam protection on contact forms.
1241
+ * Removed plugin sign from pending, spam comments. To get details about a comment please use Dashboard at cleantalk.org.
1242
+ * Improved Access key validation function.
1243
+ * Added protection for bbPress comments via stop list. Stop list function is a list to reject comments by prefiled words. To fill the list please use Dashboard at cleantalk.org.
1244
+
1245
+ = 4.5 2014-11-04 =
1246
+ * Fixed CF7 JavaScript bug.
1247
+ * Fixed rejects in bbPress guests comments.
1248
+
1249
+ = 4.4 2014-10-29 =
1250
+ * Improved anti-spam JS test for CF7.
1251
+ * Fixed 'noscript' text in FaceBook Like preview in Valenti theme.
1252
+
1253
+ = 4.2 2014-10-20 =
1254
+ * Fixed double checks issue for BuddyPress registrations.
1255
+ * Increased timeout limits to find the work server.
1256
+
1257
+ = 4.1 2014-10-13 =
1258
+ * Optimized code for manual moderation feedback sending.
1259
+ * Optimized anti-spam algorithms for comments, contacts and signups.
1260
+
1261
+ = 4.0 2014-10-06 =
1262
+ * Improved anti-spam protection for custom contact forms.
1263
+ * Improved anti-spam protection for registration forms.
1264
+
1265
+ = 3.9 2014-10-01 =
1266
+ * Did exception to do not break to create new user in WordPress backend.
1267
+
1268
+ = 3.8 2014-09-19 =
1269
+ * Fixed json_encode() + malformed characters.
1270
+ * Fixed JavaScript issue with wpautop().
1271
+
1272
+ = 3.6 2014-09-15 =
1273
+ * Fixed preg_match() issue for Formidable forms and Custom contact forms.
1274
+ * Improved anti-spam protection for Custom contact forms.
1275
+
1276
+ = 3.4 2014-09-04 =
1277
+ * We've added anti-spam for themes contact forms and any untested contact forms plugins. To use this test enable option "Custom contact forms" in plugin settings.
1278
+ * We've added auto rotation for spam comments. Now the plugin removes comments in SPAM folder older then 15 days. This option is enabled by default.
1279
+
1280
+ = 3.2 2014-08-27 =
1281
+ * Fixed submit_time() logic for failed submits (comments/registrations). Now form fill time resets after every failed submit.
1282
+
1283
+ = 3.1 2014-08-19 =
1284
+ * Added anti-spam test over senders Cookies.
1285
+ * Improved form fill anti-spam test.
1286
+ * Improved speed selection of the nearest server to website.
1287
+ * Improved anti-spam speed for comments.
1288
+ * Relevance anti-spam test disabled by default. To enable test should be used option 'relevance_test'.
1289
+
1290
+ = 2.58 2014-08-06 =
1291
+ * Added anti-spam protection for signups posted via WooCommerce order form.
1292
+ * Improved anti-spam protection for Contact Form 7.
1293
+ * Improved anti-spam protection for registrations. Now the plugin looking for JavaScript anti spam test results not only in POST array, but in COOKIES array too. This improvement allows protect signup forms for any untested signups plugins and themes.
1294
+ * Updated PHP API. Now the plugin can resolve sender IP for websites behind proxy servers. If the proxy servers uses private IP address.
1295
+
1296
+ = 2.57 2014-07-29 =
1297
+ * Improved anti-spam protection for comments. The plugin now proccessing website url in the comments form.
1298
+ * Fixed sign remove logic for approved comments. Previous version doesn't cut sign for comments approved via AJAX call in WordPress backend.
1299
+ * Fixed switching to SSL for comments. Previous version doesn't use secured connection for comments.
1300
+
1301
+ = 2.56 2014-07-21 =
1302
+ * Fixed account status check logic. Previous version makes unnecessary test API calls when the plugin asks account status check.
1303
+
1304
+ = 2.55 2014-07-11 =
1305
+ * Fixed bug with account status function. In backend the plugin showed notice 'Please don't forget to disable CAPTCHA if you have it!' on every page.
1306
+
1307
+ = 2.54 2014-07-11 =
1308
+ * Fixed signup anti-spam protection logic for BuddyPress registrations.
1309
+ * Fixed anti-spam protection for JetPack contact form.
1310
+ * Changed account status check logic.
1311
+
1312
+ = 2.53 2014-06-27 =
1313
+ * Fixed anit-spam protection bug for signups.
1314
+ * Changed anti-spam functions (comments and signups) priority.
1315
+
1316
+ = 2.52 2014-06-25 =
1317
+ * Fixed 'Fatal error: Call to a member function get_error_code()' issue with signups via BuddyPress.
1318
+
1319
+ = 2.51 2014-06-23 =
1320
+ * Added spam protection for registrations via plugin New User Approve by Josh Harrison. If the CleanTalk matched signup as spam this signup will be denied to placing in pending queue.
1321
+ * Added option "Use secure (SSL) connection to CleanTalk cloud". If the option enabled plugin will communicate with CleanTalk severs via 128bit encrypted data channel. So, if you have SSL protected webforms on website you can use this option to be sure that visitors personal data safely transmits to CleanTalk servers.
1322
+ * Fixed minor bug with loading backend functions.
1323
+
1324
+ = 2.49 2014-06-10 =
1325
+ * Added spam protection for S2Member Auth.net forms.
1326
+ * Added spam protection for multisite signup form.
1327
+ * Optimized account status check function.
1328
+
1329
+ = 2.46 2014-05-19 =
1330
+ * Added: HTML notice about the need to enable JavaScript.
1331
+ * Fixed: Fixed pingbacks anti-spam test.
1332
+
1333
+ = 2.44 2014-05-12 =
1334
+ * Added: Anti-spam protection for S2Member framework.
1335
+ * Improved: JavaScript anti-spam test.
1336
+ * Improved: Plugin load time for backend and frontend.
1337
+ * Fixed: PHP warning mb_convert_encoding()
1338
+
1339
+ = 2.42 2014-04-29 =
1340
+ * Fixed: JavaScript anti-spam test for comments.
1341
+
1342
+ = 2.40 2014-04-25 =
1343
+ * New: Fast Secure Contact form support.
1344
+ * New: WordPress Landing Pages support
1345
+
1346
+ = 2.38 2014-03-27 =
1347
+ * Fixed: Registraion form submit time spam test.
1348
+
1349
+ = 2.36 2014-03-12 =
1350
+ * Reversed to patches from old revisions.
1351
+
1352
+ = 2.35 2014-03-12 =
1353
+ * New: Notifications about disabled account
1354
+ * New: Improved JavaScript spam test.
1355
+ * Fixed: Code optimization
1356
+ * Fixed: JavaScript test for signups.
1357
+
1358
+ = 2.33 2014-02-12 =
1359
+ * Fixed: CURLOPT_FOLLOWLOCATION bug at admin notice
1360
+
1361
+ = 2.32 2014-02-04 =
1362
+ * New: Added notice about automatically approved comment. The notice shows only for first approved comment and only for new commentators (without approved comments) of the blog.
1363
+ * New: At WordPress console added banner for notices.
1364
+ * Changed: Screenshots updated.
1365
+
1366
+ = 2.31 2014-01-24 =
1367
+ * New: Added spam protection for JetPack comments
1368
+ * Fixed: cURL connection issue "Expect: 100-continue"
1369
+
1370
+ = 2.30 2014-01-13 =
1371
+ * Changed: Improved servers connection logic.
1372
+ * Fixed: Antispam test for Fomidable forms.
1373
+
1374
+ = 2.28 2013-12-19 =
1375
+ * New: Added protection against spam bots for WooCommerce review form.
1376
+ * Fixed: JavaScript anti-spam logic for WooCommerce review form.
1377
+
1378
+ = 2.27 2013-12-06 =
1379
+ * New: Added protection against spam bots for JetPack Contact form.
1380
+ * Fixed: JavaScript anti-spam logic for registrations and Contact form 7.
1381
+
1382
+ = 2.25 2013-11-27 =
1383
+ * New: Added protection against spam bots for BuddyPress registrations.
1384
+ * New: Added protection against spam bots for Contact form 7.
1385
+ * New: Added Spanish (es_ES) translation.
1386
+
1387
+ = 2.23 2013-11-20 =
1388
+ * New: Added automatic training blacklists on spam bot account deletion.
1389
+ * New: Added URL to project homepage at plugin options.
1390
+ * Changed: Improved anti-spam logic.
1391
+
1392
+ = 2.21 2013-11-13 =
1393
+ * Changed: WordPress blacklists settings get priority over plugin's anti-spam settings
1394
+ * Changed: Disabled management approval comments for regular commentators of the blog. Automatically approved for publication only the comments of the new blog authors.
1395
+ * Changed: Removed form submit time test. Imporved JavaScript spam test.
1396
+ * Changed: PHP code optimizations
1397
+
1398
+ = 2.19 2013-11-08 =
1399
+ * New: Antispam protection from spam bots at the registration form
1400
+ * Changed: Russian localization for admin panel
1401
+ * Changed: PHP code optimizations
1402
+
1403
+ = 2.5.18 2013-11-01 =
1404
+ * Fixed: Bug with selection of the last comments for post
1405
+ * New: Antispam protection for Formidable feedback forms
1406
+ * New: Automatic deletion of outdated spam comments
1407
+ * New: On/Off option for comments spam filtration
1408
+ * Tested with WordPress 3.7.1
1409
+
1410
+ = 2.4.15 2013-09-26 =
1411
+ * Fixed: Bug with mass comments deletion
1412
+ * Changed: Russian localization for admin panel
1413
+ * Tested with mulitsite setup (WordPress network or WPMU)
1414
+
1415
+ = 2.4.14 2013-08-29 =
1416
+ * Changed: Removed feedback requests to the servers for banned (spam) comments.
1417
+
1418
+ = 2.4.13 2013-08-19 =
1419
+ * Changed: Switched HTTP requests from file_get_contents() to CURL. Added file_get_contens() as backup connection to the servers.
1420
+ * Changed: Removed feedback requests for comments moved to trash.
1421
+ * Fixed: "Fail connect to servers..." error on hostings with disabled 'allow_url_fopen' PHP option.
1422
+
1423
+ = 2.4.12 2013-08-12 =
1424
+ * Removed RPC::XML library from plugin.
1425
+ * Switched plugin to HTTP+JSON connection with servers.
1426
+ * Fixed bug with comments anti-spam tests with non UTF8 codepage.
1427
+
1428
+ = 2.4.11 2013-08-02 =
1429
+ * Removed spam tests for self-made pingbacks
1430
+ * Tested up to WP 3.6
1431
+
1432
+ = 2.4.10 2013-07-24 =
1433
+ * Fixed warning in PHP 5.4
1434
+ * Fixed bug with disabling comments test for Administrators, Authors and Editors
1435
+ * "Stop words" settings moved to <a href="http://cleantalk.org/my">Control panel</a> of the service
1436
+ * "Response language" settings moved <a href="http://cleantalk.org/my">Control panel</a> of the service
1437
+
1438
+ = 2.4.9 =
1439
+ * Fixed extra debugging in base class
1440
+
1441
+ = 2.4.8 =
1442
+ * Enabled convertion to UTF8 for comment and example text
1443
+ * Optimized PHP code
1444
+
1445
+ = 2.3.8 =
1446
+ * Enabled selection the fastest server in the pool
1447
+ * Fixed work server in plugin's config
1448
+
1449
+ = 2.2.3 =
1450
+ * Secured md5 string for JavaScript test
1451
+ * Added requests's timestamp to calculate request work time
1452
+ * Update base CleanTalk's PHP class
1453
+
1454
+ = 2.1.2 =
1455
+ * Improved perfomance for processing large comments (over 32kb size)
1456
+ * Improved perfomance for bulk operations with comments in Comments panel
1457
+ * Added feedback request with URL to approved comment
1458
+
1459
+ = 2.0.2 =
1460
+ * Fixed bug with JavaScript test and WordPress cache plugins
1461
+
1462
+ = 2.0.1 =
1463
+ * Added option "Publicate relevant comments" to plugin's options.
1464
+ * Added descriptions to plugin options
1465
+
1466
+ = 1.5.4 =
1467
+ * Fixed HTTP_REFERER transmission to the servers
1468
+ * Improved JavaScript spam test
1469
+ * Optimized PHP code
1470
+
1471
+ = 1.4.4 =
1472
+ * Pingback, trackback comments has moved to manual moderataion
1473
+ * Added transmission to the serves comment type and URL
1474
+ * Post title, body and comments separated into individual data elements
1475
+ * Added priority for matched words in the comment with post title
1476
+ * Enabled stop words filtration as default option
1477
+
1478
+ = 1.3.4 =
1479
+ * Removed PHP debugging.
1480
+
1481
+ = 1.3.3 =
1482
+ * Added notice at admin panel about empty Access key in plugin settings
1483
+ * Removed HTTP link to the site project from post page
1484
+ * Removed unused options from settings page
1485
+ * Tested up to WordPress 3.5
1486
+
1487
+ = 1.2.3 =
1488
+ * Fixed bug with session_start.
1489
+
1490
+ = 1.2.2 =
1491
+ * Plugin rename to CleanTalk. Spam prevent plugin
1492
+ * Integration Base Class version 0.7
1493
+ * Added fast submit check
1494
+ * Added check website in form
1495
+ * Added feedbacks for change comment status (Not spam, unapprove)
1496
+ * Added function move comment in spam folder if CleanTalk say is spam
1497
+ * Disable checking for user groups Administrator, Author, Editor
1498
+ * Marked red color bad words
1499
+
1500
+ = 1.1.2 =
1501
+ * Addition: Title of the post attached to the example text in auto publication tool.
1502
+ * Tested with WordPress 3.4.1.
1503
+
1504
+ = 1.1.1 =
1505
+ * HTTP_REFERER bug fixed
1506
+
1507
+ = 1.1.1 =
1508
+ * Added user locale support, tested up to WP 3.4
1509
+
1510
+ = 1.1.0 =
1511
+ * First version
1512
+
1513
+
1514
+ == Upgrade Notice ==
1515
+ = 5.130 November 14 2019 =
1516
+ * Fix: JetPack contact form JS check.
1517
+ * FIx: Iphorm AJAX form.
1518
+ * Fix: Paid Memberships Pro fix.
1519
+ * Fix: Divi theme contact form fix.
1520
+ * Integration: Paid Memberships Pro.
1521
+ * Integration: Elementor Pro page builder forms.
1522
+ * Improved: Compatibility with different server.
1523
+
1524
+ = 5.129.1 November 5 2019 =
1525
+ * Fix: WooCommerce order detecting.
1526
+
1527
+ = 5.129 October 30 2019 =
1528
+ * Upd: Localize updated.
1529
+ * Fix: Direct $_SERVER access replaced.
1530
+ * Integration: The 7 theme contact form.
1531
+ * Fix: Minor improvements and bug fixes.
1532
+ * Mod: Putting site in maintenance mode during plugin update.
1533
+
1534
+ = 5.128.1 October 23 2019 =
1535
+ * Fix: Fatal error when using buffer output.
1536
+ * Fix: Translate domain for errors.
1537
+ * Code: Fix spelling in function name.
1538
+ * Fix: JS disabled error.
1539
+ * Upd: Comment edit screen updated.
1540
+ * Fix: Cleantalk\Arr::search() fixed.
1541
+
1542
+ = 5.128 October 17 2019 =
1543
+ * Mod: Users check - functionality updated.
1544
+ * Fix: Users check - dates format updated.
1545
+ * Mod: Comments check - functionality updated.
1546
+ * Fix: Comments check - dates format updated.
1547
+ * Fix: Fields exclusion fixed.
1548
+ * Fix: Notice fixed.
1549
+ * Fix: Cleantalk/Antispam/API.
1550
+ * Fix: Minor improvements and bug fixes.
1551
+
1552
+ = 5.127.4 October 13 2019 =
1553
+ * Mod: Automatically decrease amount of checked users by one request if an error occurs.
1554
+ * Fix: Security issue.
1555
+ * Fix: Static JS key.
1556
+
1557
+ = 5.127.3 October 8 2019 =
1558
+ * Fix: Errors during registration.
1559
+
1560
+ = 5.127.2 October 8 2019 =
1561
+ * Integration: SeedProd Coming Soon Page Pro.
1562
+ * Fix: WooCommerce double reuqests.
1563
+ * Fix: Static JS key.
1564
+
1565
+ = 5.127.1 October 7 2019 =
1566
+ * Fix: WPMS settings logic.
1567
+ * Using default database storage engine for tables.
1568
+
1569
+ = 5.127 September 30 2019 =
1570
+ * Fix: Delete redirect notice on external forms
1571
+ * Fix: Storing spam for 15 days.
1572
+ * Fix: correct DiVi display message.
1573
+ * Integration: Ultimate Members.
1574
+ * Mod: Setting "Use static JS key" switched to "Auto" if it was "No". Default is "Auto".
1575
+ * Mod: Moving White Label option to main site settings.
1576
+ * New: Use static JS key if cache plugin detected.
1577
+ * New: Settings for URLs, fields, roles exclusions.
1578
+ * New: Regular Expressions support in URLs, fields exclusions.
1579
+ * New: Send validation errors on standard registration form.
1580
+ * Updater: Move exclusions from global variable to settings.
1581
+ * Deprecated: IP exclusions.
1582
+
1583
+ = 5.126 September 9 2019 =
1584
+ * Spam protection improved!
1585
+ * Integration: Option wheel.
1586
+ * Mod: Improved Email detection.
1587
+ * Mod: Improved IP detection.
1588
+ * Fix: Too large database table with alternative sessions.
1589
+ * Fix: Exception for WooCommerce AJAX.
1590
+ * Fix: API key validation.
1591
+ * Minor fixes.
1592
+
1593
+ = 5.125 August 26 2019 =
1594
+ * Fix: PHP Notices.
1595
+ * Fix: Auto update.
1596
+ * Fix: Displaying protection status for IP license.
1597
+ * Fix: prevent capturing buffer for XMLRPC requests (check_external functionality).
1598
+ * Fix: API key validating.
1599
+ * New: Complete deactivation setting.
1600
+
1601
+ = 5.124.1 August 8 2019 =
1602
+ * Fix: Error on PHP 5.3.
1603
+
1604
+ = 5.124 August 8 2019 =
1605
+ * Spam protection improved.
1606
+ * Fix: SpamFireWall local database counter on Multisite.
1607
+ * Fix: Caldera Forms integration.
1608
+ * Fix: Settings "Use AJAX for JS check" description.
1609
+ * Fix: Formidable integration.
1610
+ * New: External forms check now independed from JavaScript.
1611
+ * New: Setting Protect external - capture buffer.
1612
+ * New: QuForm integration.
1613
+
1614
+ = 5.123 July 25 2019 =
1615
+ * Fix: Plenty of minor fixes.
1616
+ * Fix: wpDiscuz integration.
1617
+ * Fix: Integration with bbPress.
1618
+ * Fix: New comment email notification.
1619
+ * New: Follow-Up Emails integration.
1620
+ * Fix: Woocommerce integration.
1621
+ * Fix: Spelling.
1622
+
1623
+ = 5.122 July 10 2019 =
1624
+ * Spam Protection improved.
1625
+ * Fix: Error while checking account status.
1626
+ * Fix: Conflict with Elementor Pro.
1627
+ * Fix: Integration with Ninja Forms.
1628
+ * Fix: Integration with Formidable.
1629
+ * New: Detecting mobile devices.
1630
+ * New: Integration for Easy Forms for Mailchimp.
1631
+
1632
+ = 5.121 June 26 2019 =
1633
+ * Fix: Translation typos.
1634
+ * Fix: Woocommerce integration.
1635
+ * Fix: Catching admin in AJAX queries.
1636
+ * Mod: Session table (cleantalk_sessions) issue.
1637
+ * Mod: Spam protection improved.
1638
+ * Integration: Wilcity theme custom registration validation enabled
1639
+ * New: Option "Use static JS key".
1640
+
1641
+ = 5.120.2 June 17 2019 =
1642
+ * Fix: WPForms integration.
1643
+ * Fix: Translation and spelling.
1644
+ * Fix: Minor PHP error
1645
+
1646
+ = 5.120.1 June 6 2019 =
1647
+ * Mod: Description for Search form protection.
1648
+ * Fix: CSS and JS attachment.
1649
+ * Fix: Undefined index error.
1650
+
1651
+ = 5.120 June 5 2019 =
1652
+ * Fix: bbPress false positives.
1653
+ * Fix: SpamFireWall check condition.
1654
+ * Fix: SpamFireWall block page.
1655
+ * Fix: Catch admin action via search form test.
1656
+ * Fix: Catch admin action (AJAX).
1657
+ * Mod: Using minified version of JS and CSS.
1658
+ * Mod: Date format in statistics.
1659
+
1660
+
1661
+ = 5.119.1 May 30 2019 =
1662
+ * Fix: Helper class error.
1663
+
1664
+ = 5.119 May 30 2019 =
1665
+ * Fix: No more second request after registration.
1666
+ * Fix: Activation hook.
1667
+ * Fix: Alternative sessions. Clear table.
1668
+ * Fix: Stop capchuring AJAX requests in admin area.
1669
+ * Fix: Spelling.
1670
+ * Fix: Registration cookies set.
1671
+ * Mod: SFW exdtended die page when testing.
1672
+ * Mod: User-agent modified.
1673
+ * New: Test search queries for spam.
1674
+ * New: Gathering and output statistics.
1675
+
1676
+ = 5.118.4 May 13 2019 =
1677
+ * Fix: SFW cookie. Set correct domain for subdomains.
1678
+ * Fix: SFW update.
1679
+ * Fix: IP detection.
1680
+ * Fix: Triggering AJAX check in backend.
1681
+ * Fix: Zero submit time on few forms.
1682
+
1683
+ = 5.118.3 April 29 2019 =
1684
+ * Fix: Spam statistics in dashboard widget.
1685
+ * Fix: IP detection.
1686
+ * Fix: Double check AJAX integrated forms like Ninja Forms.
1687
+ * Fix: Use url exclusions for AJAX forms.
1688
+
1689
+ = 5.118.2 April 25 2019 =
1690
+ * Mod: Spam filtration quality improved.
1691
+ * Mod: Store SFW cookie for 30 days.
1692
+ * Mod: Server IP added to connection report.
1693
+ * Fix: spam_stat is not defined.
1694
+
1695
+ = 5.118.1 April 19 2019 =
1696
+ * Fix: Fatal error.
1697
+ * Mod: Spam protection improved on registrations.
1698
+
1699
+ = 5.118 April 19 2019 =
1700
+ * Fix: Cookies on registration page.
1701
+ * Fix: Update fix.
1702
+ * Fix: Wordpress built-in API.
1703
+ * Fix: WooCommerce checkout form.
1704
+ * Fix: UpdraftPlus. Saving settings.
1705
+ * Fix: Convert Pro saving settings.
1706
+ * Fix: UTF-8 Converting.
1707
+ * Fix: GDPR notice.
1708
+ * Fix: cleantalk_sessions table size reduced.
1709
+ * Mod: Localization.
1710
+ * Mod: Performance improved.
1711
+ * Mod: SpamFierWall improvments.
1712
+ * Mod: IP detection improved.
1713
+ * Mod: JavaScript check rewised.
1714
+ * New: Setting "Use alternative mechanism for cookies".
1715
+
1716
+ = 5.117.1 April 5 2019 =
1717
+ * Fix: GDPR notice.
1718
+ * Fix: noCacheJS localization.
1719
+ * Fix: Fatal error when updating.
1720
+
1721
+ = 5.117 March 27 2019 =
1722
+ * New: Update logic runs on all pages.
1723
+ * New: Integration for Ajax Contact Forms plugin.
1724
+ * New: Notification for users groups about new comments.
1725
+ * New: SFW die page. Show browser and page creation time.
1726
+ * Fix: Huge bug in Cleantalk.php connected with servers changing.
1727
+ * Fix: Check AJAX requests for logged in users.
1728
+ * Fix: Deleting debug in JS.
1729
+ * Fix: Validating settings before saving.
1730
+
1731
+ = 5.116.3 March 14 2019 =
1732
+ * Fix: "Headers already sent" error.
1733
+ * Fix: Images paths.
1734
+ * Fix: IP detection.
1735
+ * Fix: Skip lost password form check
1736
+ * Fix: Skip mobile requests (push settings)
1737
+ * Fix: PHP notice when detecting BuddyPress template.
1738
+
1739
+ = 5.116.2 March 7 2019 =
1740
+ * Fix: Creating tables in MariaDB.
1741
+
1742
+ = 5.116.1 March 6 2019 =
1743
+ * Fix: Creating tables in DB.
1744
+ * Fix: PHP Warning in spam statistics widget.
1745
+
1746
+ = 5.116 March 6 2019 =
1747
+ * Spam filtration quality improved.
1748
+ * New: Storing visited URLs.
1749
+ * New: Check before validation Contact Form 7, Comments, Jetpack comments.
1750
+ * New: Get validation result for Contact Form 7, Comments, Jetpack comments.
1751
+ * Fix: ES add subscriber.
1752
+ * Fix: IP detection.
1753
+
1754
+ = 5.115.2 February 27 2019 =
1755
+ * Fix: False positives spam detection in WP Forms and Contact Form 7.
1756
+
1757
+ = 5.115.1 February 16 2019 =
1758
+ * Fix: SpamFireWall's false positives.
1759
+
1760
+ = 5.115 February 14 2019 =
1761
+ * Fix: Http_only flag for backend cookies.
1762
+ * Fix: Spam filtration improved.
1763
+ * New: IP detection improved.
1764
+ * Fix: SpamFirewall update speeded up.
1765
+ * New: False positives with caching solutions decreased.
1766
+ * New: Opportunity to use Wordpress HTTP API to connect with Cloud.
1767
+
1768
+ = 5.114 January 31 2019 =
1769
+ * New: Setting "Use Wordpress HTTP API" as alternative to CURL. Disabled by default.
1770
+ * Fix: Formidable: Adding small JS check when adding JS_key.
1771
+ * Mod: layout of settings page.
1772
+ * Mod: Banner logic altered.
1773
+
1774
+ = 5.113.2 January 18 2019 =
1775
+ * Fix: "Settings" link returns to plugin page.
1776
+
1777
+ = 5.113.1 January 17 2019 =
1778
+ * Fix: Conflict with CityTours theme.
1779
+ * Fix: Error for Wordperss lower 4.7.
1780
+ * Add: Spam protection: "Validate email for existance".
1781
+
1782
+ = 5.113 January 16 2019 =
1783
+ * Fix: Fast and Simple Contact Form.
1784
+ * Fix: Settings layout.
1785
+ * Fix: Error with WooCommerce Quickview.
1786
+ * Fix: Bitrix24 contact form.
1787
+ * Fix: Request time decreased.
1788
+ * Fix: Requesting account status when activating for IP licenses.
1789
+ * Add: Precise AJAX request detection.
1790
+ * Spam protection improved.
1791
+
1792
+ = 5.112 December 21 2018 =
1793
+ * Fix: Woocommerce AJAX checkout form.
1794
+ * Fix: Profile Builder Pro.
1795
+ * Fix: DB structure improvements for WPMS.
1796
+ * Spam filtering quality improved.
1797
+ * Minor fixes.
1798
+
1799
+ = 5.111 December 13 2018 =
1800
+ * Fix: Double request in JetPack contact form.
1801
+ * Fix: Email notification about spam registration.
1802
+ * Fix: Links button for feedback comments.
1803
+ * Fix: Mail notification about plugin error.
1804
+ * Fix: Key field output.
1805
+ * Minor fixes.
1806
+
1807
+ = 5.110 November 29 2018 =
1808
+ * Integration: BuddyPress ActivityWall spam protection.
1809
+ * Add: Support different BuddyPress templates on activity wall.
1810
+ * Fix: Admin/moderator checking for validate post data.
1811
+ * Add: GDPR setting for shortcode.
1812
+ * Fix: Increase timeout for spam_check_cms to 15.
1813
+
1814
+ = 5.109 November 15 2018 =
1815
+ * Fix: Added URL and IP exclusions to Contact Form 7.
1816
+ * Fix: js error when responseText is not exists
1817
+ * Fix: Sitename when getting key automatically under WPMS.
1818
+ * Mod: SpamFireWall is now fully compatible with WPMS.
1819
+ * Mod: Setting 'Tell others about CleanTalk' was deleted.
1820
+ * Mod: Protection from spam improved.
1821
+
1822
+ = 5.108.1 November 8 2018 =
1823
+ * Fix: Errors with integration class.
1824
+
1825
+ = 5.108 November 7 2018 =
1826
+ * Fix: White label mode.
1827
+ * Fix: SpamFireWall now can be disabled.
1828
+ * Fix: Layout.
1829
+ * Integration: WPForms.
1830
+ * Add: Message about block for all no integrated AJAX forms.
1831
+ * Add: Displaying account name near api key.
1832
+
1833
+ = 5.107 October 29 2018 =
1834
+ * Fix: Ninja Forms integration.
1835
+ * Fix: Cookie usage.
1836
+ * Add: Capturing AJAX responses from non integrated forms.
1837
+ * Spam protection improved.
1838
+ * Minor fixes.
1839
+
1840
+ = 5.106 October 11 2018 =
1841
+ * Spam filtration improved.
1842
+ * New: White Label mode.
1843
+ * Modification: Warning message about test on SpamFireWall die page.
1844
+ * Integration: WP Maintenance Mode.
1845
+ * Fix: S2Member.
1846
+ * Fix: JavaScript attachments reconsidered.
1847
+ * Fix: Admin banners layout.
1848
+ * Fix: Minor layout fixes.
1849
+
1850
+ = 5.105 September 26 2018 =
1851
+ * Integration: Now bloking spam for QAEngine questions.
1852
+ * Fix: Async http__request call.
1853
+ * Fix: Unnecessary get_antispam_report_breif method call.
1854
+ * Layout: Hide "Do you like Cleantlak?" when key is not ok.
1855
+ * Layout: Minor fixes.
1856
+
1857
+ = 5.104 September 18 2018 =
1858
+ * Fix: Error when saving settings.
1859
+ * Fix: Trying update plugin plugin for the first installation.
1860
+ * Fix: Update system.
1861
+ * Fix: Errors output.
1862
+ * Fix: Plugin's settings under WPMS.
1863
+ * Fix: SpamFireWall update.
1864
+ * Fix: The server change system repaired.
1865
+ * Mod: Cron saving tasks improved.
1866
+
1867
+ = 5.103.1 September 14 2018 =
1868
+ * Fix: Error when saving settings.
1869
+ * Fix: Error when getting key automatically.
1870
+
1871
+ = 5.103 September 13 2018 =
1872
+ * Fix: Gravity Forms response message.
1873
+ * Fix: SpamFireWall redirect to 404 page.
1874
+ * Major anti-spam plugin improvement.
1875
+ * Recombined setting page.
1876
+ * Added error notification.
1877
+ * Mod: S2 Members integration.
1878
+ * Mod: Improved remote calls.
1879
+
1880
+ = 5.102 August 29 2018 =
1881
+ * Fix: Users and comments check.
1882
+ * Fix: Update from 5.70 or previous versions.
1883
+ * Fix: GDPR public JS-script.
1884
+ * Fix: Dashboard widget JS scripts attachment.
1885
+ * Fix: WooCommerce "Place order" action.
1886
+ * Mod: Notification logic altered.
1887
+ * Mod: Users check table now has 'Signed up' column.
1888
+ * Minor fixes.
1889
+
1890
+ = 5.101 August 10 2018 =
1891
+ * Fix: Set cookie only for non-dashboard pages.
1892
+ * Fix: Dashboard widget JS error.
1893
+ * Fix: JavaScript error for some environment.
1894
+ * Mod: Antispam protection accelerated for some pages.
1895
+
1896
+ = 5.100 July 30 2018 =
1897
+ * Fix: JavaScript dependencies.
1898
+
1899
+ = 5.99.1 July 17 2018 =
1900
+ * IP detection fixed and improved.
1901
+
1902
+ = 5.99 July 10 2018 =
1903
+ * Fix: WooCommerce false positives.
1904
+ * Fix: SpamFireWall IP detection.
1905
+ * Minor fixes.
1906
+
1907
+ = 5.98 June 27 2018 =
1908
+ * Fix: WooCommerce: Exclusion.
1909
+ * Fix: Public GDPR JS code.
1910
+ * Minor fixes.
1911
+
1912
+ = 5.97 June 7 2018 =
1913
+ * Fix: Update system.
1914
+ * Fix: Feedback from public page (admin only).
1915
+ * Fix: Users and comment check: API error.
1916
+ * Fix: Too many negative reports. (Too big ct_data option)
1917
+ * Fix: SpamFireWall: Infinite redirection on the blocking page.
1918
+ * Minor fixes.
1919
+
1920
+ = 5.96 May 22 2018 =
1921
+ * Fix: Update system.
1922
+ * Mod: Reset all counters button in admin bar.
1923
+ * Mod: GDPR compliance.
1924
+ * Minor fixes.
1925
+
1926
+ = 5.95.1 May 3 2018 =
1927
+ * Fix: "Get key automatically" button display logic.
1928
+ * Fix: PHP notices.
1929
+
1930
+ = 5.95 May 2 2018 =
1931
+ * Spam filtration improved.
1932
+ * Fix: Public widget layout.
1933
+ * Fix: Connection reports output.
1934
+ * Minor fixes.
1935
+
1936
+ = 5.94 April 23 2018 =
1937
+ * Mod: Async load option for JS.
1938
+ * Mod: JS scripts loading is conditional.
1939
+ * Fix: IP detection.
1940
+ * Fix: IP detection.
1941
+ * Fix: Javascript error.
1942
+
1943
+ = 5.93.1 April 9 2018 =
1944
+ * Fix: Fatal error on PHP 5.5 or lower.
1945
+
1946
+ = 5.93 April 9 2018 =
1947
+ * Fix: SpamFirewall IP detection.
1948
+ * Fix: Contact Form 7. False positives.
1949
+ * Mod: Autoupdate function improved.
1950
+ * Minor fixes.
1951
+
1952
+ = 5.92.2 March 23 2018 =
1953
+ * Fix: Error if cURL extension is disabled.
1954
+
1955
+ = 5.92.1 March 23 2018 =
1956
+ * Fix: Spelling
1957
+ * Fix: Fatal error if cURL extension is disabled.
1958
+
1959
+ = 5.92 March 22 2018 =
1960
+ * IP detection improved.
1961
+ * Fix: SSL connection.
1962
+ * Fix: False positives spam detection in Contact Form 7.
1963
+ * Minor fixes.
1964
+
1965
+ = 5.91 March 15 2018 =
1966
+ * Fix: Errors for PHP compiled without XML support.
1967
+ * Fix: Spelling and translation.
1968
+ * Stability increased.
1969
+ * Minor fixes.
1970
+
1971
+ = 5.90 March 7 2018 =
1972
+ * Improvement: Better IP recognition in Spam FireWall.
1973
+ * Fix: Gravity Froms blocking message.
1974
+ * Security improvments.
1975
+ * Minor fixes.
1976
+
1977
+ = 5.89 February 21 2018 =
1978
+ * Improved spam filtration quality.
1979
+ * Improved compatibility.
1980
+ * Public widget: Styles and referral link added.
1981
+ * Dashboard widget: revised and fixed.
1982
+ * Minor fixes.
1983
+
1984
+ = 5.88 February 12 2018 =
1985
+ * Integration: ConvertPro.
1986
+ * Improvement: Search for visitor's names in request.
1987
+ * Fix: Contact Form 7 message recognition.
1988
+ * Preparation for the remote plugin update.
1989
+ * Minor fixes.
1990
+
1991
+ = 5.87 February 2 2018 =
1992
+ * Filtration quality improved.
1993
+ * Fix: WP Foto Vote downloading images.
1994
+ * Fix: Fatal error for unsupported PHP 5.2.
1995
+ * Fix: Formidable Forms improved spam filtration.
1996
+
1997
+ = 5.86 January 25 2018 =
1998
+ * Fix: High CPU load with wp-ajax.php.
1999
+ * Fix: Mailpoet: Newsletter.
2000
+ * Fix: Gravity: Forms standardization for input fields.
2001
+ * Fix: ajax hook checks data for contact form.
2002
+ * Fix: UTF8 character in requests.
2003
+
2004
+ = 5.85 January 11 2018 =
2005
+ * Fix: Fast Secure contact form spam block message.
2006
+ * Fix: IP license status.
2007
+ * Layout: Dashboard widget description altered.
2008
+
2009
+ = 5.84 December 26 2017 =
2010
+ * Integration: PeepSo contact form
2011
+ * Repared: Feedback from comments page.
2012
+ * Fix: mb_* functions used only if exists.
2013
+ * Fix: Gravity forms: Multi-page form logic repared.
2014
+ * Fix: Gravity forms: AJAX form logic repared.
2015
+ * Minor fixes.
2016
+
2017
+ = 5.83.2 December 19 2017 =
2018
+ * Fix: Error in base class.
2019
+
2020
+ = 5.83.1 December 19 2017 =
2021
+ * Fix: CDN IP detection.
2022
+
2023
+ = 5.83 December 19 2017 =
2024
+ * Improving: Stability and compatibility.
2025
+ * Improving: Spam protection.
2026
+ * Fix: Comments logic filtration.
2027
+ * Fix: Admin bar counter.
2028
+ * Minor errors fixes.
2029
+
2030
+ = 5.82.1 December 7 2017 =
2031
+ * Fixed minor error with attaching JS and CSS files.
2032
+
2033
+ = 5.82 December 4 2017 =
2034
+ * Plugin doesn't use PHP sessions anymore.
2035
+ * Bug fixes.
2036
+ * Improved update logic.
2037
+
2038
+ = 5.81 November 22 2017 =
2039
+ * Fixed error with "Show/Hide key" button.
2040
+ * Slightly improved spam protection for all forms.
2041
+ * Small errors fixes.
2042
+
2043
+ = 5.80 November 3 2017 =
2044
+ * Spam protection improved.
2045
+ * Improved filtration quality for WooCommerce checkout.
2046
+ * Minor fixes for Spam FireWall.
2047
+
2048
+ = 5.79 October 26 2017 =
2049
+ * Spam protection improved.
2050
+ * Fixed issue with existing spam comments check.
2051
+ * Added posibility to exclude IP from check.
2052
+ * Minor fixes.
2053
+
2054
+ = 5.78 October 16 2017 =
2055
+ * Improved compatibility with themes. Changed core functions prefix.
2056
+ * Fixed issue with WooCommerce checkout.
2057
+ * Spam protection improved.
2058
+ * Minor fixes.
2059
+
2060
+ = 5.77 October 2 2017 =
2061
+ * Connection report's system.
2062
+ * Integration for CouponXXL Theme.
2063
+ * Fixed issue with mb_* functions.
2064
+ * Banners logic updated.
2065
+
2066
+ = 5.76 September 20 2017 =
2067
+ * Fixed issue with Spam FireWall and caching plugins.
2068
+ * Banners logic updated.
2069
+
2070
+ = 5.75 September 15 2017 =
2071
+ * Pause feature for users/comments spam check.
2072
+ * Improved protection from spam.
2073
+ * Small fixes.
2074
+
2075
+ = 5.74.2 September 2 2017 =
2076
+ * Fix for users spam check for PHP 5.3 and lower.
2077
+
2078
+ = 5.74.1 September 2 2017 =
2079
+ * Fix for the update system and cloud communication.
2080
+ * Added possibility to check users and comments for spam with a specific date range.
2081
+
2082
+ = 5.74 August 31 2017 =
2083
+ * Users and comments spam check: Two check types (fast and accurate).
2084
+ * Fix for WooCommerce checkout test.
2085
+ * Minor fixes.
2086
+
2087
+ = 5.73 August 11 2017 =
2088
+ * Fix for spam check for already existed users and comments.
2089
+ * Spam FireWall updated.
2090
+ * Layout fix for BT Comments.
2091
+ * Minor fixes.
2092
+
2093
+ = 5.72 July 27 2017 =
2094
+ * Improved spam check for existed users and comments.
2095
+ * Minor fixes.
2096
+
2097
+ = 5.71 July 20 2017 =
2098
+ * Improved spam protection for external forms.
2099
+ * Optimization.
2100
+ * Minor fixes.
2101
+
2102
+ = 5.70.2 July 17 2017 =
2103
+ * Fix for Spam FireWall for Multisite.
2104
+
2105
+ = 5.70.1 July 17 2017 =
2106
+ * Fix for Spam FireWall.
2107
+ * Spam detection improved.
2108
+
2109
+ = 5.70 July 13 2017 =
2110
+ * New updater logic.
2111
+ * Self cron system.
2112
+ * Improved AMP compatibility.
2113
+ * Optimization.
2114
+ * Fixed users and comments spam check.
2115
+ * Fixed layout for Comment's feedback from public page.
2116
+ * Updated Spam FireWall.
2117
+ * SFW: Spam FireWall counter now work in real-time.
2118
+ * SFW: Improved compatibility with different Data Bases.
2119
+
2120
+ = 5.69 July 3 2017 =
2121
+ * Reviewer - integration.
2122
+ * Optimization for Users and Comments check for big databases.
2123
+ * Errors fixes.
2124
+ * Improved protection from spam.
2125
+
2126
+ = 5.68 June 22 2017 =
2127
+ * Contact Form for WordPress - Ultimate Form Builder Lite - integration.
2128
+ * Contact Bank - Contact Forms Builder - integration.
2129
+ * Smart Forms - integration.
2130
+ * cformsII - integration.
2131
+ * Contact Form by Web-Settler - integration.
2132
+ * Error fixes.
2133
+
2134
+ = 5.67.3 June 9 2017 =
2135
+ * Fixed JS attachment error.
2136
+
2137
+ = 5.67.2 June 5 2017 =
2138
+ * Fixed error with IP determination.
2139
+
2140
+ = 5.67.1 June 4 2017 =
2141
+ * Fixed JS error in 5.67 version.
2142
+ * Integrations: Enfold theme, Convertplug.
2143
+ * Links to check for Emails/IP for spam.
2144
+ * Control comments and feedback about them from public post's page.
2145
+ * Improved connection stability with cloud service.
2146
+ * Spam protection improved.
2147
+ * Other small fixes.
2148
+
2149
+ = 5.67 June 1 2017 =
2150
+ * Integrations: Enfold theme, Convertplug.
2151
+ * Links to check for Emails/IP for spam.
2152
+ * Control comments and feedback about them from public post's page.
2153
+ * Improved connection stability with cloud service.
2154
+ * Spam protection improved.
2155
+ * Other small fixes.
2156
+
2157
+ = 5.66 May 23 2017 =
2158
+ * Spam protection improved.
2159
+ * Major fixes for users and comments spam check.
2160
+ * Added feedback from Wordpress comments list.
2161
+ * Fix for "internal forms check" option.
2162
+ * Fixed issue with caching Spam FireWall die page.
2163
+ * Other small fixes.
2164
+
2165
+ = 5.65 May 16 2017 =
2166
+ * Fix for PayPal redirecton.
2167
+ * Fixed issue with empty query for bulk comments test.
2168
+ * Added protection for Enfold contact form.
2169
+ * Ninja forms integration.
2170
+
2171
+ = 5.64 April 26 2017 =
2172
+ * Integration for Facebook registrations.
2173
+ * Small fixes for WPMS.
2174
+ * Fix for Activecampaign service.
2175
+ * Fix for check spam users.
2176
+ * Fixed rare notice Notice: Undefined index: REQUEST_URI
2177
+
2178
+ = 5.63 April 20 2017 =
2179
+ * Fix for the dashboard spam stat widget.
2180
+ * Added translation posibility for all text.
2181
+
2182
+ = 5.62 April 17 2017 =
2183
+ * Fix for the dashboard spam statistics widget.
2184
+ * Fix for users spam check.
2185
+ * Small appearance changes.
2186
+
2187
+ = 5.61 April 6 2017 =
2188
+ * Improved filtration.
2189
+ * Additional logic for the form recognizing.
2190
+ * Integration: Divi Theme Contact Form.
2191
+ * Fix: Gravity Forms multipages forms.
2192
+ * Stat Widget: Minor fixes.
2193
+ * Added possibility to download results of the users check in CSV format.
2194
+ * Alteration for settings page (footer).
2195
+
2196
+ = 5.60.1 March 29 2017 =
2197
+ * Fixed error function 'locale_get_display_region' no exists.
2198
+
2199
+ = 5.60 March 29 2017 =
2200
+ * Added main dashboard widget with spam sctivity stats.
2201
+ * Mailster - integration.
2202
+ * Base class updated.
2203
+
2204
+ = 5.59 March 24 2017 =
2205
+ * Users/comments check fix.
2206
+ * Plugin's name changed to Anti-Spam by CleanTalk.
2207
+ * Trial banner is dismissable. Disapear for 24h or till logout.
2208
+ * Settings modified (Auto testing failed warning).
2209
+ * Mailing(inactive key) interval increased to 6 hours.
2210
+
2211
+ = 5.58.6 March 16 2017 =
2212
+ * Fix for Ninja forms (protection updated).
2213
+ * Fix for QA Theme.
2214
+ * Fix for RSVP form.
2215
+ * Setting changes (Spam FireWall).
2216
+ * Improved debug section.
2217
+ * Improved gathering data function.
2218
+ * Minor fixes.
2219
+
2220
+ = 5.58.5 March 6 2017 =
2221
+ * Minor backend fix.
2222
+
2223
+ = 5.58.4 March 6 2017 =
2224
+ * Users check fix (redirect after the check).
2225
+ * Fixed PHP Notice "HTTP_REFERER" is unset.
2226
+ * Updated Notice logic.
2227
+
2228
+ = 5.58.3 February 28 2017 =
2229
+ * Bitrix24 Contact form integration.
2230
+ * Users/comments check fix.
2231
+ * Spam sorting updated.
2232
+ * Banner showing logic.
2233
+
2234
+ = 5.58.2 February 17 2017 =
2235
+ * Cron fix for daily report.
2236
+
2237
+ = 5.58.1 February 16 2017 =
2238
+ * Minor fixes.
2239
+
2240
+ = 5.58 February 15 2017 =
2241
+ * Work without access key
2242
+ * Bitrix24 contact integration
2243
+ * Issues fixes
2244
+
2245
+ = 5.57.1 February 8 2017 =
2246
+ * Fix for notice logic.
2247
+
2248
+ = 5.57 February 8 2017 =
2249
+ * Setting page changes.
2250
+ * Bug fixes for WooCommerce.
2251
+ * Spam FireWall filters only GET requests.
2252
+ * Optimization.
2253
+ * Minor and major fixes.
2254
+
2255
+ = 5.56.1 January 25 2017 =
2256
+ * Minor fixes
2257
+
2258
+ = 5.56 January 19 2017 =
2259
+ * Integrations: MailChimp Premium, Profile Press.
2260
+ * Changes comments flow.
2261
+ * FireWall updater fix.
2262
+ * Users check optimization.
2263
+
2264
+ = 5.55 December 23 2016 =
2265
+ * Integrations: Caldera Forms, Visual Form Builder.
2266
+ * Fix for different 'cookies' header names.
2267
+ * Fixed user deletion.
2268
+
2269
+ = 5.54 December 12 2016 =
2270
+ * Integrations: AmoForms, Contact Form Clean and Simple.
2271
+ * Comments check logic refreshed.
2272
+ * Registration JS error fix.
2273
+ * Users check fix.
2274
+ * Fix for translation system.
2275
+ * Minor fixes.
2276
+
2277
+ = 5.53.1 December 9 2016 =
2278
+ * Minor layout fixes.
2279
+
2280
+ = 5.53 November 28 2016 =
2281
+ * Addition warning before deleting users.
2282
+ * Spam FireWall is enabled by default.
2283
+ * Usernoise modal feedback / contact form : integration.
2284
+ * Translations.
2285
+ * Optimization.
2286
+ * Fixes.
2287
+
2288
+ = 5.52.1 November 14 2016 =
2289
+ * Users and comments check: Using new API method.
2290
+ * Quick Contact From: Integration via "Custom Contact Forms" setting.
2291
+ * JavaScript filtration improved.
2292
+ * Translation changes.
2293
+ * Optimized JavaScript code.
2294
+
2295
+ = 5.51 November 2 2016 =
2296
+ * Added protection for internal forms
2297
+ * Immediate spam check for comments and users from WP dashboard
2298
+ * Optimized code
2299
+
2300
+ = 5.50.1 October 24 2016 =
2301
+ * Improved filtration in contact forms.
2302
+ * Spam FireWall: Fixed issue with SFW logs
2303
+ * Skipping service fields: Fast Secure Contact Froms, QU Forms, Custom Contact Forms
2304
+
2305
+ = 5.50 October 20 2016 =
2306
+ * Custom contact forms: integration.
2307
+ * Pirate Forms: integration.
2308
+ * PHP 7 compatibility: Deleted third-party JSON library and dependences.
2309
+ * PHP 7 compatibility: Fixed end of lines.
2310
+ * YOAST Seo: Fixed PHP warnings.
2311
+ * Spam FireWall: Minor fix for Spam FireWall counter.
2312
+ * Only admin could access to CleanTalk dashboard (exclude Authors an Editors).
2313
+ * Improved filtration in contact forms.
2314
+
2315
+ = 5.49.2 October 5 2016 =
2316
+ * Second Fix for database error. Stable version.
2317
+
2318
+ = 5.49.1 October 5 2016 =
2319
+ * Fixed database error.
2320
+
2321
+ = 5.49 October 3 2016 =
2322
+ * Spam FireWall feature: Class upgraded.
2323
+ * New feature: Delete links from approved comments.
2324
+ * Settings: Grouped.
2325
+ * Settings: Altered description fixed spelling mistakes.
2326
+ * Settings: Added indicator for Spam FireWall.
2327
+ * Admin bar: Added Spam FireWall counter
2328
+ * Clean and Simple Contact Form: Direct integration.
2329
+ * WooCommerce: Don't check password recovery form.
2330
+ * WooCommerce Wishlists: Issue with check for Google bots.
2331
+ * JetPack: contact form fix.
2332
+ * Fixed and created the defaults for all CleanTalk options.
2333
+ * Fixed spelling mistakes.
2334
+
2335
+ = 5.48 September 15 2016 =
2336
+ * buddyPress: Added private messages filtering. Doesn't check user if he has 3 or more messages in the "sentbox" and "inbox" folders.
2337
+ * buddyPress: Added option in settings for private messages check.
2338
+ * WooCommerce Wishlist: Added check for wishlists.
2339
+ * Fixed issue with "check all post data" option.
2340
+ * Improved filtering for Gravity Forms
2341
+ * Mobile Assistant Connector fix
2342
+ * Minor fixes.
2343
+
2344
+ = 5.47 September 5 2016 =
2345
+ * WooCommerce: direct integration for checkout form.
2346
+ * WooCommerce Sensei: login form fix.
2347
+ * bbPress: Added the check for topics and comments with stop_words
2348
+ * bbPress: Skip check for admin in comments and topics
2349
+ * UserPro: fixes. Request without field "shortcode"
2350
+ * Contact Form 7: Bug fix.
2351
+ * Spam FireWall: Optimized logs rotation.
2352
+ * Updated inner functions (compatibility fix for PHP 5.4+)
2353
+ * Fixed output of counters (without spamfirewall stats)
2354
+ * Fixed spelling in settings
2355
+ * Added "Delete from the list" button in comments spam check page
2356
+ * Minor fixes.
2357
+
2358
+ = 5.46 August 17 2016 =
2359
+ * Fixed issue with admin bar links in WP Multi Network mode.
2360
+ * Added "All time counter" and "Daily counter" into admin bar.
2361
+ * Added settings to disable counters in admin bar.
2362
+ * New style for "Get access key manually" button.
2363
+
2364
+ = 5.45.2 August 4 2016 =
2365
+ * Added Anti-Spam protection for Quick Event Manager.
2366
+ * 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.
2367
+ * Fixed bulk spam test for comments. Previous version had a conflict between spam history for IP and Email.
2368
+ * Minor fix function to get the API key.
2369
+
2370
+ = 5.45.1 July 26 2016 =
2371
+ * Fixed issue with missed spam messages, subscriptions.
2372
+ * Improved bulk spam test for comments. Now the plugin will not mark as Spam comments, if a comment sender (IP address) has spam activity more then 30 days ago.
2373
+
2374
+ = 5.45 July 21 2016 =
2375
+ * Optimized bulk spam comments deletion.
2376
+ * Turned off JavaScript anti-spam cookies if the option 'Set cookies' is turned off. It helps to avoid issues with Varnish.
2377
+ * Added links to bulk spam comments&users removal tool.
2378
+
2379
+ = 5.44.1 July 13 2016 =
2380
+ * Optimized options getting code.
2381
+ * Added the option 'Protect Logged in users' to do anti-spam tests for submissions by logged in users.
2382
+
2383
+ = 5.43.2 June 30 2016 =
2384
+ * Optimized anti-spam code for AJAX based contact forms.
2385
+ * Fixed CSS layout of counters in Admin bar (issue with layout in IE11).
2386
+
2387
+ = 5.43.1 June 23 2016 =
2388
+ * Added agent version in requests to test a connection between the website and servers.
2389
+ * Fixed issue with PHP notices in cleantalk-admin.php.
2390
+
2391
+ = 5.43 June 22 2016 =
2392
+ * Added spam protection for registrations via 'Login with AJAX' plug-in.
2393
+ * Added a new counter to Admin bar that allows to count spam and approved submissions since last reset.
2394
+ * Update the code that tests a connection between a website and CleanTalk's servers. New version doesn't generate submissions with email good@cleantalk.org.
2395
+ * Fixed issue with spam protection for nested forms by Formidable plug-in.
2396
+
2397
+ = 5.42 2016-06-15 =
2398
+ * Added anti-spam protection for UserPro.
2399
+ * Improved protection for Formidable forms + Varnish.
2400
+ * Improved bulk search for spam accounts.
2401
+ * Fixed spam protection for pages that contain multiple Formidable forms with same HTML ID.
2402
+ * Optimized PHP code to be compatible with PHP 5.4 and above. The patch has been applied to Formidable forms spam protection.
2403
+ * Minor fixes in plugin backend.
2404
+
2405
+ = 5.41 2016-05-31 =
2406
+ * Added HTTP response in plugin response if an network issue was happend.
2407
+ * Optimized JavaScript anti-spam test for Formidable forms.
2408
+ * Re-stored the option to auto redirect to plugn settings after plugin activation.
2409
+ * Fixed issue with nasted fields in Formidable forms.
2410
+
2411
+ = 5.40.3 2016-05-26 =
2412
+ * Added option to encrypt (SSL) connection to CleanTalk anti-spam servers.
2413
+ * Added JSON encoding for AJAX forms.
2414
+ * Obfuscated private data for Custom contact forms option.
2415
+ * Optimized bulk users check for spam over blacklists database.
2416
+ * Fixed issue with lost connection to servers and JavaScript anti-spam test.
2417
+ * Fixed issue with WordFence and collect_details.
2418
+
2419
+ = 5.40.2 2016-05-11 =
2420
+ * Improved account status check logic.
2421
+ * Fixed issue with double anti-spam tests for FastSecure contact forms.
2422
+ * Fixed issue with nulled JavaScript variables assigned from backend. This issue might me occurred on standart WordPress registration form and with failed JavaScript spam test.
2423
+ * Fixed issue with session_start() with PHP sessions stored in memcache.
2424
+
2425
+ = 5.40.1 2016-04-28 =
2426
+ * Fixed issue with Super Socializer.
2427
+ * Fixed issue with spam filtration for logged in users and Formidable forms.
2428
+ * Added logging of all submitted fields for FastSecure contact form.
2429
+
2430
+ = 5.40 2016-04-19 =
2431
+ * Added JSON encoding for posts that were protected via Custom contact forms option. It allows show anti-spam logs in the Dashboard in more comfortable view.
2432
+ * Minor fix in plugin settings.
2433
+ * Fixed pagination for bulk users spam test.
2434
+ * Fixed issue with unknown _SESSION.
2435
+ * Fixed issue with double Spam FireWall database upload.
2436
+
2437
+ = 5.39.1 2016-04-04 =
2438
+ * Improved AJAX based anti-spam test with HTTPS backends.
2439
+ * Added fix to avoid issue with empty ct_info_flag on JavaScript side.
2440
+ * Added logic to exclude caching for Spam FireWall.
2441
+ * Removed a condition to skip accounts with 127.0.0.1 IP in spam test for registered acconts.
2442
+
2443
+ = 5.38.1 2016-03-24 =
2444
+ * Fixed issue with PHP sessions and 'The session id is too long or contains illegal characters'.
2445
+ * Removed Spam FireWall protection on /feed page.
2446
+ * Disabled anti-spam tests for AJAX calls if the option 'Custom contact forms' is turned off.
2447
+ * Added reject notice for spam submissions on Gravity forms with AJAX calls.
2448
+
2449
+ = 5.37.3 2016-03-10 =
2450
+ * Minor bug fixes. Added an option to support Varnish cache.
2451
+
2452
+ = 5.36.1 2016-02-05 =
2453
+ * Fixed bug, when users receive error after logging in
2454
+
2455
+ = 5.36 2016-02-04 =
2456
+ * Improved JavaScript anti spam protection
2457
+ * Improvements for avoiding blocking requests from payment systems
2458
+
2459
+ = 5.35 2016-01-14 =
2460
+ * Added support for IP licensing
2461
+ * Some anti-spam protection improvements
2462
+ * Small backend interface fixes
2463
+
2464
+ = 5.34.1 2015-12-17 =
2465
+ * Fixed trackback antispam protection: improved checking mechanism
2466
+ * Fixed problem with blocking MailPoet: added exclusions in spam checking algorithm
2467
+
2468
+ = 5.34 2015-12-10 =
2469
+ * Improved spam checking mechanism
2470
+ * Added "Collect browser details" option for better antispam protection
2471
+ * Fixed custom contact forms checking
2472
+ * Minor translations fixes
2473
+
2474
+ = 5.33.1 2015-12-04 =
2475
+ * Fixed issue with BBPress
2476
+ * Fixed anti-spam comments checking
2477
+ * Fixed bulk checking
2478
+ * Fixed trackback and pingback checking
2479
+
2480
+ = 5.33 2015-12-01 =
2481
+ * Backend interface fixes
2482
+ * Improved Spam FireWall efficiency
2483
+ * Improved performance of anti spam checking
2484
+
2485
+ = 5.32 2015-11-26 =
2486
+ * Added improvements for manual spam detection
2487
+ * Fixed errors in backend
2488
+ * Fixed bulk users anti spam checking
2489
+ * Added indicator for bulk spam checking
2490
+ * Added "Get access key automatically" feature
2491
+
2492
+ = 5.31 2015-11-11 =
2493
+ * Improved backend performance
2494
+ * Fixed counter of approved/blocked spam attacks
2495
+ * Fixed Spam Firewall logging
2496
+
2497
+ = 5.30 2015-11-05 =
2498
+ * Improved anti-spam checking
2499
+ * Optimized performance
2500
+ * Fixed blocking email preview in MailPoet
2501
+ * Interface fixes
2502
+ * WPMU interface fixes
2503
+
2504
+ = 5.29 2015-10-27 =
2505
+ * Optimized performance
2506
+ * Fixed bugs in custom contact forms spam checking
2507
+
2508
+ = 5.28.7 2015-10-23 =
2509
+ * Major backend peromance fix.
2510
+
2511
+ = 5.28 2015-10-16 =
2512
+ * Fixed errors in anti-spam checking
2513
+ * Restored options for spam checking registrations and cpmmon contact forms
2514
+ * Improved anti spam defence
2515
+ * Fixed problems with AJAX functionality in MailPoet, WooCommerce and other AJAX plugins
2516
+
2517
+ = 5.27 2015-10-13 =
2518
+ * Improvements in Spam FireWall feature
2519
+ * Code optimization
2520
+ * Backend interface fixes
2521
+
2522
+ = 5.26 2015-10-05 =
2523
+ * Added WordPress Language Pack support
2524
+ * Removed spam checking for some autorisation plugins
2525
+ * New experimental feature: Spam FireWall
2526
+
2527
+ = 5.25.2 2015-09-28 =
2528
+ * Fixed backend bug
2529
+
2530
+ = 5.25.1 2015-09-28 =
2531
+ * Added widget with anti-spam stats
2532
+ * Added information about blocked spam attacks in admin dashboard and CleanTalk settings
2533
+ * Added ability not to check comments for users with 3 or above allowed comments
2534
+ * Added an option 'Help others known CleanTalk' to show information for site visitors, that your site is protected from spam by us
2535
+ * Some backend interface settings
2536
+ * Removed "CleanTalk connection test" query
2537
+
2538
+ = 5.24.1 2015-09-16 =
2539
+ * Fixed some errors in frontend
2540
+ * Fixed access key saving
2541
+
2542
+ = 5.24 2015-09-14 =
2543
+ * Backend interface fixes
2544
+ * Improvement for AJAX JavaScript spam checking
2545
+
2546
+ = 5.23 2015-09-01 =
2547
+ * Fixed BuddyPress profile search false positivities of anti-spam protection.
2548
+ * Some interface fixes of bulk users & comments spam checking
2549
+
2550
+ = 5.22 2015-08-26 =
2551
+ * Fixed possible XSS issue for anti-spam test on third-party forms.
2552
+
2553
+ = 5.21 2015-08-21 =
2554
+ * Fixed bug with skipping spam submissions
2555
+ * Fixed bug with receiving old user_token for viewing anti-spam stats
2556
+ * Small backend fixes
2557
+
2558
+ = 5.20 2015-08-15 =
2559
+ * Fixed anti-spam stats in admin bar
2560
+ * Fixed issue with skipping spam submissions
2561
+ * Added some PHP-constants for advanced users
2562
+
2563
+ = 5.19 2015-08-11 =
2564
+ * New feature: anti-spam checking for registered users
2565
+ * Fixed issue with AJAX JavaScript checking
2566
+ * Fixed issue with SEO Yoast xml sitemaps.
2567
+
2568
+ = 5.18 2015-08-04 =
2569
+ * Fixed issue with user_token
2570
+ * Added anti-spam API, see our FAQ
2571
+
2572
+ = 5.17 2015-07-23 =
2573
+ * Fixed infinite redirection after activation
2574
+ * Minor backend fixes
2575
+
2576
+ = 5.16 2015-07-22 =
2577
+ * Fixed external services checking
2578
+ * Fixed mass comments deletion
2579
+ * Fixed AJAX anti-spam protection
2580
+
2581
+ = 5.15 2015-07-16 =
2582
+ * New feature: anti-spam protection for forms, that uses external services
2583
+
2584
+ = 5.14 2015-07-03 =
2585
+ * Added anti-spam protection for some themes and plugins
2586
+ * Some backend fixes
2587
+
2588
+ = 5.13 2015-06-12 =
2589
+ * Closing notification for anti-spam renew
2590
+ * Fixed bulk anti spam comment checking
2591
+
2592
+ = 5.12 2015-06-01 =
2593
+ * Added option for checking all post data for spam
2594
+ * Some JavaScript protection improvements
2595
+ * Added option for old JavaScript check (without AJAX)
2596
+
2597
+ = 5.10 2015-05-25 =
2598
+ * Fixed Javascript error on some forms
2599
+
2600
+ = 5.9 2015-05-21 =
2601
+ * Fixed Javascript error on CF7 and JetPack
2602
+ * Some backend and frontent fixes
2603
+
2604
+ = 5.8 2015-05-18 =
2605
+ * Minor fixes
2606
+
2607
+ = 5.7 2015-05-18 =
2608
+ * Fixed French translation
2609
+ * Fixed protection algorithm
2610
+
2611
+ = 5.6 2015-05-11 =
2612
+ * Fixed translation
2613
+ * Fixed bulk comments anti-spam checking
2614
+ * Added option for disabling anti spam stats in adminbar
2615
+ * Some security fixes
2616
+
2617
+ = 5.5 2015-04-29
2618
+ * Fixed security issue
2619
+
2620
+ = 5.4 2015-04-27 =
2621
+ * Some interface and functionality changes in plugin settings page
2622
+ * Added counter for anti-spam stats in admin bar
2623
+
2624
+ = 5.3 2015-04-13 =
2625
+ * Added anti-spam protection for Divi theme contact forms
2626
+ * Added anti-spam protection for MyMail contact forms
2627
+ * Added anti-spam protection for MailPoet Newsletters
2628
+ * Some interface and functionality changes in backend
2629
+
2630
+ = 5.2 2015-04-01 =
2631
+ * Added link for anti-spam stats
2632
+ * Added WP User Frontend Pro registration form protection
2633
+
2634
+ = 5.10 2015-03-24 =
2635
+ * Fixed site crash after installing 5.0 on some websites
2636
+
2637
+ = 5.00 2015-03-24 =
2638
+ * Added bulk comments checking for spam via CleanTalk blacklists
2639
+ * Added anti-spam form protection for 'Ajax Login & Register'
2640
+ * Fixed JetPack form protection
2641
+
2642
+ = 4.24 2015-03-20 =
2643
+ Added immediate spam protection activation.
2644
+
2645
+ = 4.22 2015-03-17 =
2646
+ * Added button for automatic spam protection key getting.
2647
+
2648
+ = 4.21 2015-03-11 =
2649
+ * Added license renew notification.
2650
+
2651
+ = 4.20 2015-03-03 =
2652
+ * German, Italian, Polish, Portuguese translations, minor code fixes.
2653
+
2654
+ = 4.19 2015-02-24 =
2655
+ * Increased JS keys lifetime.
2656
+
2657
+ = 4.18 2015-02-17 =
2658
+ * Bugfix - fixed bug with comments approvement, PayPal 'payment_status' and Akismet 'spam' status processing.
2659
+
2660
+ = 4.17 2015-02-12 =
2661
+ * New base class, divided code to 3 separate files - common, public and admin.
2662
+
2663
+ = 4.16 2015-02-05 =
2664
+ * New base class, fixed JetPack filters logics, optimized Formidable, bbPress, BuddyPress filters.
2665
+
2666
+ = 4.15 2015-01-29 =
2667
+ * Support of Contact Form 7 versions before 3.0.0, fixed global JS-vars and online notice cookie logics.
2668
+
2669
+ = 4.14 2015-01-19 =
2670
+ * Removed deprecated option from comment approvement code.
2671
+
2672
+ = 4.13 2014-12-29 =
2673
+ * Not spam comments auto approvement bug fix.
2674
+
2675
+ = 4.12 2014-12-29 =
2676
+ * Plugin backend minfor bug fixes.
2677
+
2678
+ = 4.11 2014-12-22 =
2679
+ * Major changes in spam protection algorithms.
2680
+
2681
+ = 4.10 2014-12-10 =
2682
+ * Minor improvements for custom contact/registration/subscribe forms.
2683
+
2684
+ = 4.9 2014-11-24 =
2685
+ * Minor bug fix for Contact form 7.
2686
+
2687
+ = 4.8 2014-11-19 =
2688
+ * Improved anti-spam protection for BuddyPress registrations and custom contact forms.
2689
+
2690
+ = 4.7 2014-11-16 =
2691
+ * Fixed JavaScript antispam test for FastSecure contact form.
2692
+
2693
+ = 4.6 2014-11-11 =
2694
+ * Minor changes in anti-spam logic for BuddyPress registrations, contact forms and bbPress guest posting.
2695
+
2696
+ = 4.5 2014-11-04 =
2697
+ * Bug fixes for Contact form 7 and bbPress guests posting.
2698
+
2699
+ = 4.4 2014-10-29 =
2700
+ * Improved JS checking for CF7.
2701
+
2702
+ = 4.2 2014-10-20 =
2703
+ * Increased plugin perfomance for BuddyPress registrations.
2704
+
2705
+ = 4.1 2014-10-13 =
2706
+ * Minor anti-spam improvements for contacts, registration and contact forms.
2707
+
2708
+ = 4.0 2014-10-06 =
2709
+ * Major anti-spam improvements for registration and contact forms.
2710
+
2711
+ = 3.9 2014-10-01 =
2712
+ * Did exception to do not break to create new user in WordPress backend.
2713
+
2714
+ = 3.8 2014-09-19 =
2715
+ * Bug fix release. Minor fixes in API class and JavaScript anti-spam test.
2716
+
2717
+ = 3.6 2014-09-15 =
2718
+ * Minor fixes in anti-spam protection for Formidable and custom contact forms.
2719
+
2720
+ = 3.4 2014-09-04 =
2721
+ * Spam comments rotation. Custom (themes) contact forms support.
2722
+
2723
+ = 3.2 2014-08-27 =
2724
+ * Minor changes in spam filtration logic.
2725
+
2726
+ = 3.1 2014-08-19 =
2727
+ * Major changes for comments antispam logic. Improved plugin speed.
2728
+
2729
+ = 2.59 2014-08-14 =
2730
+ * Antispam protection for bbPress guests posts. Improvement for JetPack comments and PHP API update.
2731
+
2732
+ = 2.58 2014-08-06 =
2733
+ * Added anti-spam protection for signups posted via WooCommerce order form.
2734
+ * Improved anti-spam protection for Contact Form 7.
2735
+ * Improved anti-spam protection for registrations. Now the plugin looking for JavaScript antispam test results not only in POST array, but in COOKIES array too. This improvement allows protect signup forms for any untested signups plugins and themes.
2736
+ * Updated PHP API. No the plugin can resolve sender IP for websites behind proxy servers. If the proxy servers uses private IP address.
2737
+
2738
+ = 2.57 2014-07-29 =
2739
+ * Improved anti-spam protection for comments. The plugin now proccessing website url in the comments form.
2740
+ * Fixed sign remove logic for approved comments. Previous version doesn't cut sign for comments approved via AJAX call in WordPress backend.
2741
+ * Fixed switching to SSL for comments. Previous version doesn't use secured connection for comments.
2742
+
2743
+ = 2.56 2014-07-21 =
2744
+ * Fixed account status check logic. Previous version makes unnecessary test API calls when the plugin asks account status check.
2745
+
2746
+ = 2.55 2014-07-11 =
2747
+ * Fixed bug with account status function. In backend the plugin showed notice 'Please don't forget to disable CAPTCHA if you have it on every page.
2748
+
2749
+ = 2.54 2014-07-11 =
2750
+ * Fixed signup anti-spam protection logic for BuddyPress registrations.
2751
+ * Fixed anti-spam protection for JetPack contact form.
2752
+ * Changed account status check logic.
2753
+
2754
+ = 2.53 2014-06-27 =
2755
+ * Fixed anit-spam protection bug for signups.
2756
+ * Changed anti-spam functions (comments and signups) priority.
2757
+
2758
+ = 2.52 2014-06-25 =
2759
+ * Fixed 'Fatal error: Call to a member function get_error_code()' issue with signups via BuddyPress.
2760
+
2761
+ = 2.51 2014-06-23 =
2762
+ * Added spam protection for registrations via plugin New User Approve by Josh Harrison. If the CleanTalk matched signup as spam this signup will be denied to placing in pending queue.
2763
+ * Added option "Use secure (SSL) connection to CleanTalk cloud". If the option enabled plugin will communicate with CleanTalk severs via 128bit encrypted data channel. So, if you have SSL protected webforms on website you can use this option to be sure that visitors personal data safely transmits to CleanTalk servers.
2764
+ * Fixed minor bug with loading backend functions.
2765
+
2766
+ = 2.49 2014-06-10 =
2767
+ * Added spam protection for S2Member Auth.net forms.
2768
+ * Added spam protection for multisite signup form.
2769
+ * Optimized account status check function.
2770
+
2771
+ = 2.46 2014-05-19 =
2772
+ * Added: HTML notice about the need to enable JavaScript.
2773
+ * Fixed: Fixed pingbacks anti-spam test.
2774
+
2775
+ = 2.44 2014-05-12 =
2776
+ * Added: Anti-spam protection for S2Member framework.
2777
+ * Improved: Plugin load time for backend and frontend.
2778
+ * Improved: JavaScript anti-spam test.
2779
+ * Fixed: PHP warning mb_convert_encoding()
2780
+
2781
+ = 2.42 2014-04-29 =
2782
+ * Fixed: JavaScript anti-spam test for comments.
2783
+
2784
+ = 2.38 2014-03-27 =
2785
+ * Fixed: Registraion form submit time spam test.
2786
+
2787
+ = 2.36 2014-03-12 =
2788
+ * Reversed to patches from old revisions.
2789
+
2790
+ = 2.35 2014-03-12 =
2791
+ * New: Notifications about disabled account
2792
+ * New: Improved JavaScript spam test.
2793
+ * Fixed: Code optimization
2794
+ * Fixed: JavaScript test for signups.
2795
+
2796
+ = 2.33 2014-02-12 =
2797
+ * Fixed: CURLOPT_FOLLOWLOCATION bug at admin notice
2798
+
2799
+ = 2.32 2014-02-04 =
2800
+ * New: Added notice about automatically approved comment. The notice shows only for first approved comment and only for new commentators (without approved comments) of the blog.
2801
+ * New: At WordPress console added banner for notices.
2802
+ * Changed: Screenshots updated.
cleantalk.php CHANGED
@@ -3,13 +3,14 @@
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.159.3
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: https://cleantalk.org
9
  Text Domain: cleantalk-spam-protect
10
  Domain Path: /i18n
11
  */
12
 
 
13
  use Cleantalk\ApbctWP\CleantalkUpgrader;
14
  use Cleantalk\ApbctWP\CleantalkUpgraderSkin;
15
  use Cleantalk\ApbctWP\CleantalkUpgraderSkin_Deprecated;
@@ -319,7 +320,10 @@ if( !defined( 'CLEANTALK_PLUGIN_DIR' ) ){
319
  require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-admin.php');
320
  require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-settings.php');
321
 
322
- add_action('admin_init', 'apbct_admin__init', 1);
 
 
 
323
 
324
  if (!(defined( 'DOING_AJAX' ) && DOING_AJAX)){
325
 
@@ -327,8 +331,6 @@ if( !defined( 'CLEANTALK_PLUGIN_DIR' ) ){
327
 
328
  add_action('admin_menu', 'apbct_settings_add_page');
329
  add_action('network_admin_menu', 'apbct_settings_add_page');
330
- add_action('admin_notices', 'apbct_admin__notice_message');
331
- add_action('network_admin_notices', 'apbct_admin__notice_message');
332
 
333
  //Show widget only if enables and not IP license
334
  if( $apbct->settings['wp__dashboard_widget__show'] && ! $apbct->moderate_ip )
@@ -720,6 +722,9 @@ function apbct_deactivation__delete_all_options(){
720
  delete_option('cleantalk_plugin_request_ids');
721
  delete_option('cleantalk_fw_stats');
722
  delete_option( 'ct_plugin_do_activation_redirect' );
 
 
 
723
  }
724
 
725
  /**
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.159.5
7
  Author: СleanTalk <welcome@cleantalk.org>
8
  Author URI: https://cleantalk.org
9
  Text Domain: cleantalk-spam-protect
10
  Domain Path: /i18n
11
  */
12
 
13
+ use Cleantalk\ApbctWP\AdminNotices;
14
  use Cleantalk\ApbctWP\CleantalkUpgrader;
15
  use Cleantalk\ApbctWP\CleantalkUpgraderSkin;
16
  use Cleantalk\ApbctWP\CleantalkUpgraderSkin_Deprecated;
320
  require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-admin.php');
321
  require_once(CLEANTALK_PLUGIN_DIR . 'inc/cleantalk-settings.php');
322
 
323
+ add_action( 'admin_init', 'apbct_admin__init', 1 );
324
+
325
+ // Show notices
326
+ add_action( 'admin_init', array( AdminNotices::class, 'show_admin_notices' ) );
327
 
328
  if (!(defined( 'DOING_AJAX' ) && DOING_AJAX)){
329
 
331
 
332
  add_action('admin_menu', 'apbct_settings_add_page');
333
  add_action('network_admin_menu', 'apbct_settings_add_page');
 
 
334
 
335
  //Show widget only if enables and not IP license
336
  if( $apbct->settings['wp__dashboard_widget__show'] && ! $apbct->moderate_ip )
722
  delete_option('cleantalk_plugin_request_ids');
723
  delete_option('cleantalk_fw_stats');
724
  delete_option( 'ct_plugin_do_activation_redirect' );
725
+ foreach( AdminNotices::get_notices() as $notice ) {
726
+ delete_option( 'cleantalk_' . $notice . '_dismissed' );
727
+ }
728
  }
729
 
730
  /**
css/cleantalk-admin-settings-page.min.css CHANGED
@@ -1 +1 @@
1
- .apbct_settings-field_content,.apbct_settings-field_title--radio,.cleantalk_link-auto,.cleantalk_link-manual,.ct-warning-test-failed,.ct_rate_block,.ct_settings_banner,i.animate-spin{display:inline-block}#apbctTopWarning{margin-bottom:5px}#apbctTopWarning h3{margin:10px 0 5px}#apbctTopWarning h4{margin:10px}#apbctTopWarning h4 span{margin-top:5px}.apbct_settings-subtitle{position:relative;top:-15px;margin:0}.apbct_settings-field_wrapper{margin:15px 0}.apbct_settings-field_wrapper--sub{margin-left:30px!important}.apbct_settings__label{margin-right:10px;font-size:17px;vertical-align:text-bottom}.apbct_settings-field_content--radio{width:70%}.apbct_settings-field_title--radio{margin:0;width:210px;padding-right:10px;font-size:14px;vertical-align:top}.apbct_input_text{min-width:255px;width:400px}.apbct_settings-field--api_key{font-size:14pt}.apbct_settings-long_description---show:hover{color:#aaa;cursor:pointer}.apbct_setting_textarea{min-width:300px}.cleantalk_link{text-decoration:none;font-size:13px;line-height:26px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.cleantalk_link-auto{background:#ccc;border-color:#999;-webkit-box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);color:#000;height:28px;-webkit-border-radius:2px;border-radius:2px}.cleantalk_link-auto:hover{color:#fff}.cleantalk_link-manual{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;-webkit-border-radius:3px;border-radius:3px;text-align:center}.cleantalk_link-manual:hover{color:#000}.cleantalk_link[disabled=disabled]{background:#5d9db5;color:#000}.apbct_status_icon{vertical-align:text-bottom;margin:0 5px 0 8px}a.ct_support_link{color:#666;margin-right:.5em;font-size:10pt;font-weight:400}.ct-warning-test-failed{position:relative;padding:5px;margin:4px;border:3px solid rgba(240,50,50,1);border-radius:5px;background-color:rgba(255,200,200,1)}.ct_settings_banner{text-align:right;width:100%;margin:1em 0;vertical-align:top}#cleantalk-modal-content,.ct_rate_block{text-align:center}#ct_translate_plugin{margin-left:0}.ct_rate_block{width:370px;margin-right:3em;padding:.8em .8em 15px;border:1px dashed #666}#ct_translate_plugin .apbct_button_rate{margin-bottom:10px}.apbct_long_desc{position:absolute;background:#5a5a5a;min-width:80px;min-height:80px;max-width:500px;padding:10px;color:#fff;z-index:10}i.animate-spin{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;font-size:25px;line-height:20px;color:rgba(120,200,230,1);margin:25px}@keyframes spin{to{transform:rotate(359deg)}}.apbct_long_desc__cancel{position:absolute;top:5px;right:5px;color:rgba(255,255,255,.5)}.apbct_long_desc__cancel:hover{color:#fff}.apbct_long_desc__angle{position:absolute;top:5px;left:-17px;width:10px;height:10px;background:#5a5a5a;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.apbct_long_desc__title{color:rgba(120,200,230,1);margin:0}.--hide{display:none}.apbct_preloader_button{height:15px;margin-left:5px;vertical-align:text-top;display:none}#cleantalk-modal-content>*{display:block;width:100%}button.ct_support_link{border:none;background:0 0;color:#666;text-decoration:underline;cursor:pointer}
1
+ .apbct_settings-field_content,.cleantalk_link-auto,.cleantalk_link-manual,.ct-warning-test-failed,.ct_rate_block,.ct_settings_banner,i.animate-spin{display:inline-block}#apbctTopWarning{margin-bottom:5px}#apbctTopWarning h3{margin:10px 0 5px}#apbctTopWarning h4{margin:10px}#apbctTopWarning h4 span{margin-top:5px}.apbct_settings-subtitle{position:relative;top:-15px;margin:0}.apbct_settings-field_wrapper{margin:15px 0}.apbct_settings-field_wrapper--sub{margin-left:30px!important}.apbct_settings__label{margin-right:10px;font-size:17px;vertical-align:text-bottom}.apbct_settings-field_content--radio{width:70%}.apbct_settings-field_title--radio{display:inline-block;margin:0;width:210px;padding-right:10px;font-size:14px;vertical-align:top}.apbct_input_text{min-width:255px;width:400px}.apbct_settings-field--api_key{font-size:14pt}.apbct_settings-long_description---show:hover{color:#aaa;cursor:pointer}.apbct_setting_textarea{min-width:300px}.cleantalk_link{text-decoration:none;font-size:13px;line-height:26px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.cleantalk_link-auto{background:#ccc;border-color:#999;-webkit-box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);color:#000;height:28px;-webkit-border-radius:2px;border-radius:2px}.cleantalk_link-auto:hover{color:#fff}.cleantalk_link-manual{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;-webkit-border-radius:3px;border-radius:3px;text-align:center}.cleantalk_link-manual:hover{color:#000}.cleantalk_link[disabled=disabled]{background:#5d9db5;color:#000}.apbct_status_icon{vertical-align:text-bottom;margin:0 5px 0 8px}a.ct_support_link{color:#666;margin-right:.5em;font-size:10pt;font-weight:400}.ct-warning-test-failed{position:relative;padding:5px;margin:4px;border:3px solid rgba(240,50,50,1);border-radius:5px;background-color:rgba(255,200,200,1)}.ct_settings_banner{text-align:right;width:100%;margin:1em 0;vertical-align:top}#cleantalk-modal-content,.ct_rate_block{text-align:center}#ct_translate_plugin{margin-left:0}.ct_rate_block{width:370px;margin-right:3em;padding:.8em .8em 15px;border:1px dashed #666}#ct_translate_plugin .apbct_button_rate{margin-bottom:10px}.apbct_long_desc{position:absolute;background:#5a5a5a;min-width:80px;min-height:80px;max-width:500px;padding:10px;color:#fff;z-index:10}i.animate-spin{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;font-size:25px;line-height:20px;color:rgba(120,200,230,1);margin:25px}@keyframes spin{to{transform:rotate(359deg)}}.apbct_long_desc__cancel{position:absolute;top:5px;right:5px;color:rgba(255,255,255,.5)}.apbct_long_desc__cancel:hover{color:#fff}.apbct_long_desc__angle{position:absolute;top:5px;left:-17px;width:10px;height:10px;background:#5a5a5a;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.apbct_long_desc__title{color:rgba(120,200,230,1);margin:0}.--hide{display:none}.apbct_preloader_button{height:15px;margin-left:5px;vertical-align:text-top;display:none}#cleantalk-modal-content>*{display:block;width:100%}button.ct_support_link{border:none;background:0 0;color:#666;text-decoration:underline;cursor:pointer}
css/cleantalk-admin.min.css CHANGED
@@ -1 +1 @@
1
- :disabled{cursor:not-allowed!important}.apbct_color--gray{color:gray}.apbct_display--none{display:none}.ct_translate_links{color:rgba(150,150,20,1)}.ct_support_links{color:rgba(150,20,20,1)}.ct_faq_links{color:rgba(20,150,20,1)}.ct_setting_links{color:rgba(20,20,150,1)}.ct_translate_links:hover{color:rgba(210,210,20,1)!important}.ct_support_links:hover{color:rgba(250,20,20,1)!important}.ct_faq_links:hover{color:rgba(20,250,20,1)!important}.ct_setting_links:hover{color:rgba(20,20,250,1)!important}.ct_link_new_tab img{float:none!important;margin:0 2px;border:0}#negative_reports_table tr td{padding:7px 5px!important}#apbct_gdpr_open_modal:hover{cursor:pointer}#wp-admin-bar-cleantalk_admin_bar__parent_node{margin-right:5px}#wp-admin-bar-cleantalk_admin_bar__parent_node img.cleantalk_admin_bar__spbc_icon{width:14px;height:17px;margin-top:7px}#wp-admin-bar-cleantalk_admin_bar__parent_node img.cleantalk_admin_bar__apbct_icon{width:18px;height:18px;margin-top:7px}#wp-admin-bar-cleantalk_admin_bar__parent_node div.cleantalk_admin_bar__sum_counter{color:#999;display:inline;padding:2px 5px!important}.cleantalk_admin_bar__blocked div{cursor:not-allowed!important}.cleantalk_admin_bar__blocked div a{color:#777!important}.cleantalk_admin_bar__title{vertical-align:top}.cleantalk_admin_bar__separator{height:0!important}.cleantalk-admin_bar--list_wrapper .ab-sub-wrapper ul:last-child{margin-bottom:5px!important}
1
+ :disabled{cursor:not-allowed!important}.apbct_color--gray{color:gray}.apbct_display--none{display:none}.ct_translate_links{color:rgba(150,150,20,1)}.ct_support_links{color:rgba(150,20,20,1)}.ct_faq_links{color:rgba(20,150,20,1)}.ct_setting_links{color:rgba(20,20,150,1)}.ct_translate_links:hover{color:rgba(210,210,20,1)!important}.ct_support_links:hover{color:rgba(250,20,20,1)!important}.ct_faq_links:hover{color:rgba(20,250,20,1)!important}.ct_setting_links:hover{color:rgba(20,20,250,1)!important}.ct_link_new_tab img{float:none!important;margin:0 2px;border:0}#negative_reports_table tr td{padding:7px 5px!important}#apbct_gdpr_open_modal:hover{cursor:pointer}#wp-admin-bar-cleantalk_admin_bar__parent_node{margin-right:5px}#wp-admin-bar-cleantalk_admin_bar__parent_node span{display:inline-block}#wp-admin-bar-cleantalk_admin_bar__parent_node .icon-attention-alt{background:#d63638;color:#fff;border-radius:50%;font-size:12px}#wp-admin-bar-cleantalk_admin_bar__parent_node img.cleantalk_admin_bar__spbc_icon{width:14px;height:17px;margin-top:7px}#wp-admin-bar-cleantalk_admin_bar__parent_node img.cleantalk_admin_bar__apbct_icon{width:18px;height:18px;margin-top:7px}#wp-admin-bar-cleantalk_admin_bar__parent_node div.cleantalk_admin_bar__sum_counter{color:#999;display:inline;padding:2px 5px!important}.cleantalk_admin_bar__blocked div{cursor:not-allowed!important}.cleantalk_admin_bar__blocked div a{color:#777!important}.cleantalk_admin_bar__title{vertical-align:top}.cleantalk_admin_bar__separator{height:0!important}.cleantalk-admin_bar--list_wrapper .ab-sub-wrapper ul:last-child{margin-bottom:5px!important}
css/cleantalk-public-admin.min.css CHANGED
@@ -1 +1 @@
1
- .ct_hidden{display:none}.ct_comment_info a,.ct_comment_info img,p.ct_comment_info_title,p.ct_comment_logo_title{display:inline-block}.ct_comment_info{position:relative;font-size:11px;line-height:12px;margin-bottom:15px}.ct_comment_titles{border-bottom:1px solid gray!important;background:inherit;margin-bottom:15px}p.ct_comment_logo_title{float:right}.ct_comment_logo_img{height:12px;vertical-align:text-top;box-shadow:transparent 0 0 0!important}.ct_this_is{padding:2px 3px;cursor:pointer;white-space:nowrap;color:#000!important;background:rgba(230,230,230,1);border:1px solid #777;border-radius:4px}p.ct_feedback_wrap{display:none;position:absolute;top:37px;left:0;width:100%;height:27px;margin:0;padding:6px;border-radius:3px;background:#fff}.ct_feedback_result{display:none;text-decoration:underline}.ct_feedback_result_spam{color:red}.ct_feedback_result_not_spam{color:green}.ct_feedback_msg a{color:green!important;text-decoration:underline}.ct_feedback_success{color:green}.ct_feedback_error{color:red}.ct_feedback_no_hash{color:#00f}
1
+ .ct_hidden{display:none}.ct_comment_info a,.ct_comment_info img,p.ct_comment_info_title{display:inline-block}.ct_comment_info{position:relative;font-size:11px;line-height:12px;margin-bottom:15px}.ct_comment_titles{border-bottom:1px solid gray!important;background:inherit;margin-bottom:15px}p.ct_comment_logo_title{float:right;display:inline-block}.ct_comment_logo_img{height:12px;vertical-align:text-top;box-shadow:transparent 0 0 0!important}.ct_this_is{padding:2px 3px;cursor:pointer;white-space:nowrap;color:#000!important;background:rgba(230,230,230,1);border:1px solid #777;border-radius:4px}p.ct_feedback_wrap{display:none;position:absolute;top:37px;left:0;width:100%;height:27px;margin:0;padding:6px;border-radius:3px;background:#fff}.ct_feedback_result{display:none;text-decoration:underline}.ct_feedback_result_spam{color:red}.ct_feedback_result_not_spam{color:green}.ct_feedback_msg a{color:green!important;text-decoration:underline}.ct_feedback_success{color:green}.ct_feedback_error{color:red}.ct_feedback_no_hash{color:#00f}
inc/cleantalk-admin.php CHANGED
@@ -175,10 +175,8 @@ function apbct_admin__init(){
175
  global $apbct, $spbc;
176
 
177
  // Admin bar
178
-
179
  $apbct->admin_bar_enabled = $apbct->settings['admin_bar__show'] &&
180
- current_user_can( 'activate_plugins' ) &&
181
- apbct_api_key__is_correct() !== false;
182
 
183
  // ( defined( 'CLEANTALK_SHOW_ADMIN_BAR_FORCE' ) && CLEANTALK_SHOW_ADMIN_BAR_FORCE ) &&
184
  if( $apbct->admin_bar_enabled ){
@@ -190,7 +188,7 @@ function apbct_admin__init(){
190
  }
191
 
192
  add_action( 'cleantalk_admin_bar__parent_node__before', 'apbct_admin__admin_bar__prepare_counters' );
193
- add_action( 'cleantalk_admin_bar__add_icon_to_parent_node', 'spbc_admin__admin_bar__prepare_counters' );
194
  // Temporary disable the icon
195
  //add_filter( 'cleantalk_admin_bar__parent_node__before', 'apbct_admin__admin_bar__add_parent_icon', 10, 1 );
196
  add_filter( 'cleantalk_admin_bar__parent_node__after', 'apbct_admin__admin_bar__add_counter', 10, 1 );
@@ -384,121 +382,6 @@ function apbct_admin__enqueue_scripts($hook){
384
 
385
  }
386
 
387
- /**
388
- * Notice blog owner if plugin is used without Access key
389
- * @return bool
390
- */
391
- function apbct_admin__notice_message(){
392
-
393
- global $apbct;
394
-
395
- $page = get_current_screen();
396
-
397
- //General notice control flags
398
- $self_owned_key = ($apbct->moderate_ip == 0 && !defined('CLEANTALK_ACCESS_KEY') ? true : false);
399
- $is_dashboard = (is_network_admin() || is_admin() ? true : false);
400
- $is_admin = (current_user_can('activate_plugins') ? true : false);
401
-
402
- $page_is_ct_settings = (in_array($page->id, array('settings_page_cleantalk', 'settings_page_cleantalk-network', 'comments_page_ct_check_spam', 'users_page_ct_check_users')) ? true : false);
403
-
404
- //Misc
405
- $user_token = ($apbct->user_token ? '&user_token='.$apbct->user_token : '');
406
-
407
- if( is_network_admin() ) {
408
- $site_url = get_site_option('siteurl');
409
- $site_url = preg_match( '/\/$/', $site_url ) ? $site_url : $site_url . '/';
410
- $settings_link = $site_url . 'wp-admin/options-general.php?page=cleantalk';
411
- } else {
412
- $settings_link = 'options-general.php?page=cleantalk';
413
- }
414
-
415
- if($self_owned_key && $is_dashboard && $is_admin){
416
- // Auto update notice
417
- /* Disabled at 09.09.2018
418
- if($apbct->notice_auto_update == 1 && $apbct->auto_update != -1 && empty($_COOKIE['apbct_update_banner_closed'])){
419
- $link = '<a href="https://cleantalk.org/help/cleantalk-auto-update" target="_blank">%s</a>';
420
- $button = sprintf($link, '<input type="button" class="button button-primary" value="'.__('Learn more', 'cleantalk-spam-protect').'" />');
421
- echo '<div class="error notice is-dismissible apbct_update_notice">'
422
- .'<h3>'
423
- .__('Do you know that Anti-Spam by CleanTalk has auto update option?', 'cleantalk-spam-protect')
424
- .'</br></br>'
425
- .$button
426
- .'</h3>'
427
- .'</div>';
428
- }
429
- */
430
- //Unable to get key automatically (if apbct_admin__init().getAutoKey() returns error)
431
- if ($apbct->notice_show && !empty($apbct->errors['get_key']) && !$apbct->white_label){
432
- echo '<div class="error">
433
- <h3>' . sprintf(__("Unable to get Access key automatically: %s", 'cleantalk-spam-protect'), $apbct->api_key).
434
- "<a target='__blank' style='margin-left: 10px' href='https://cleantalk.org/register?platform=wordpress&email=" . urlencode(ct_get_admin_email())."&website=" . urlencode(parse_url(get_option('siteurl'),PHP_URL_HOST))."'>".__('Get the Access key', 'cleantalk-spam-protect').'</a>
435
- </h3>
436
- </div>';
437
- }
438
-
439
- //key == "" || "enter key"
440
- if ( ( ! apbct_api_key__is_correct() && $apbct->moderate_ip == 0 ) && ! $apbct->white_label ){
441
- echo "<div class='error'>"
442
- ."<h3>"
443
- .sprintf(__("Please enter Access Key in %s settings to enable anti spam protection!", 'cleantalk-spam-protect'), "<a href='{$settings_link}'>$apbct->plugin_name</a>")
444
- ."</h3>"
445
- ."</div>";
446
- $apbct->notice_show = false;
447
- }
448
-
449
- //"Trial period ends" notice from apbct_admin__init().api_method__notice_paid_till()
450
- if ($apbct->notice_show && $apbct->notice_trial == 1 && $apbct->moderate_ip == 0 && !$apbct->white_label) {
451
- if(isset($_GET['page']) && in_array($_GET['page'], array('cleantalk', 'ct_check_spam', 'ct_check_users'))){
452
- echo '<div class="error" id="apbct_trial_notice">
453
- <h3>' . sprintf(__("%s trial period ends, please upgrade to %s!", 'cleantalk-spam-protect'),
454
- "<a href='{$settings_link}'>".$apbct->plugin_name."</a>",
455
- "<a href=\"https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial$user_token&cp_mode=antispam\" target=\"_blank\"><b>premium version</b></a>") .
456
- '</h3>
457
- <h4 style = "color: gray">' . esc_html__( 'Account status updates every 24 hours.', 'cleantalk-spam-protect' ) . '</h4>
458
- </div>';
459
- $apbct->notice_show = false;
460
- }
461
- }
462
-
463
- //Renew notice from apbct_admin_init().api_method__notice_paid_till()
464
- if ($apbct->notice_show && $apbct->notice_renew == 1 && $apbct->moderate_ip == 0 && !$apbct->white_label) {
465
- if(isset($_GET['page']) && in_array($_GET['page'], array('cleantalk', 'ct_check_spam', 'ct_check_users'))){
466
- $renew_link = "<a href=\"https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%%20backend%%20renew$user_token&cp_mode=antispam\" target=\"_blank\">%s</a>";
467
- $button_html = sprintf($renew_link, '<input type="button" class="button button-primary" value="'.__('RENEW ANTI-SPAM', 'cleantalk-spam-protect').'" />');
468
- $link_html = sprintf($renew_link, "<b>".__('next year', 'cleantalk-spam-protect')."</b>");
469
-
470
- echo '<div class="updated" id="apbct_renew_notice">
471
- <h3>'.
472
- sprintf(__("Please renew your anti-spam license for %s.", 'cleantalk-spam-protect'), $link_html).
473
- '</h3>
474
- <h4 style = "color: gray">' . esc_html__( 'Account status updates every 24 hours.', 'cleantalk-spam-protect' ) . '</h4>
475
- '.$button_html.'
476
- <br/><br/>
477
- </div>';
478
- $apbct->notice_show = false;
479
- }
480
- }
481
-
482
- //"Wrong access key" notice (if ct_update_option().METHOD_notice_validate_key returns a error)
483
- if ($apbct->notice_show && $page_is_ct_settings && !$apbct->data['key_is_ok'] && $apbct->moderate_ip == 0 && !$apbct->white_label){
484
- echo '<div class="error">
485
- <h3><b>'.
486
- __("Wrong <a href='{$settings_link}'><b style=\"color: #49C73B;\">Clean</b><b style=\"color: #349ebf;\">Talk</b> access key</a>! Please check it or ask <a target=\"_blank\" href=\"https://wordpress.org/support/plugin/cleantalk-spam-protect/\">support</a>.", 'cleantalk-spam-protect').
487
- '</b></h3>
488
- </div>';
489
- }
490
-
491
- //notice_incompatibility
492
- if( ! empty( $apbct->data['notice_incompatibility'] ) && $page_is_ct_settings ){
493
- foreach ($apbct->data['notice_incompatibility'] as $notice) {
494
- echo '<div class="error">' . $notice . '</div>';
495
- }
496
- }
497
- }
498
-
499
- return true;
500
- }
501
-
502
  function apbct_admin__badge__get_premium($print = true, $out = ''){
503
 
504
  global $apbct;
@@ -539,9 +422,12 @@ function apbct_admin__admin_bar__add_structure( $wp_admin_bar ) {
539
 
540
  // Security
541
  $title = $apbct->notice_trial
542
- ? "<span><a style='color: red;' href='https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial&user_token={$apbct->user_token}&cp_mode=antispam' target='_blank'>" . __('Renew Anti-Spam', 'cleantalk-spam-protect') . '</a></span>'
543
- : '<a>' . __( 'Anti-Spam', 'cleantalk-spam-protect' ) . '</a>';
544
-
 
 
 
545
  $wp_admin_bar->add_node( array(
546
  'parent' => 'cleantalk_admin_bar__parent_node',
547
  'id' => 'apbct__parent_node',
@@ -658,7 +544,9 @@ function apbct_admin__admin_bar__add_counter( $after ){
658
  function apbct_admin__admin_bar__add_child_nodes( $wp_admin_bar ) {
659
 
660
  global $apbct;
661
-
 
 
662
  // User's counter
663
  $wp_admin_bar->add_node( array(
664
  'parent' => 'apbct__parent_node',
@@ -733,7 +621,7 @@ function apbct_admin__admin_bar__add_child_nodes( $wp_admin_bar ) {
733
  $wp_admin_bar->add_node( array(
734
  'parent' => 'apbct__parent_node',
735
  'id' => 'ct_settings_link',
736
- 'title' => '<a href="'.$apbct->settings_link.'">'.__('Settings', 'cleantalk-spam-protect').'</a>',
737
  ));
738
 
739
  // Add a child item to our parent item. Bulk checks.
@@ -758,7 +646,7 @@ function apbct_admin__admin_bar__add_child_nodes( $wp_admin_bar ) {
758
  $args = array(
759
  'parent' => 'apbct__parent_node',
760
  'id' => 'ct_reset_counter',
761
- 'title' => '<hr style="margin-top: 7px;"><a href="?' . http_build_query(array_merge( $_GET, array( 'ct_reset_all_counters' => 1 ) ) ) . '" title="Reset your personal counter of submissions.">' . __('Reset first counter', 'cleantalk-spam-protect') . '</a>',
762
  );
763
  $wp_admin_bar->add_node( $args );// add a child item to our parent item. Counter reset.
764
 
@@ -766,7 +654,7 @@ function apbct_admin__admin_bar__add_child_nodes( $wp_admin_bar ) {
766
  $args = array(
767
  'parent' => 'apbct__parent_node',
768
  'id' => 'ct_reset_counters_all',
769
- 'title' => '<a href="?' . http_build_query(array_merge( $_GET, array( 'page' => 1 ) ) ). '" title="Reset all counters.">'.__('Reset all counters', 'cleantalk-spam-protect').'</a>',
770
  );
771
  $wp_admin_bar->add_node( $args );
772
 
175
  global $apbct, $spbc;
176
 
177
  // Admin bar
 
178
  $apbct->admin_bar_enabled = $apbct->settings['admin_bar__show'] &&
179
+ current_user_can( 'activate_plugins' );
 
180
 
181
  // ( defined( 'CLEANTALK_SHOW_ADMIN_BAR_FORCE' ) && CLEANTALK_SHOW_ADMIN_BAR_FORCE ) &&
182
  if( $apbct->admin_bar_enabled ){
188
  }
189
 
190
  add_action( 'cleantalk_admin_bar__parent_node__before', 'apbct_admin__admin_bar__prepare_counters' );
191
+ add_action( 'cleantalk_admin_bar__add_icon_to_parent_node', 'apbct_admin__admin_bar__prepare_counters' );
192
  // Temporary disable the icon
193
  //add_filter( 'cleantalk_admin_bar__parent_node__before', 'apbct_admin__admin_bar__add_parent_icon', 10, 1 );
194
  add_filter( 'cleantalk_admin_bar__parent_node__after', 'apbct_admin__admin_bar__add_counter', 10, 1 );
382
 
383
  }
384
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  function apbct_admin__badge__get_premium($print = true, $out = ''){
386
 
387
  global $apbct;
422
 
423
  // Security
424
  $title = $apbct->notice_trial
425
+ ? "<span><a href='https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial&user_token={$apbct->user_token}&cp_mode=antispam' target='_blank'>" . __('Renew Anti-Spam', 'cleantalk-spam-protect') . '</a></span>'
426
+ : '<span><a>' . __( 'Anti-Spam', 'cleantalk-spam-protect' ) . '</a></span>';
427
+
428
+ $attention_mark = $apbct->notice_show ? '<i class="icon-attention-alt"></i>' : '';
429
+ $title = $title . $attention_mark;
430
+
431
  $wp_admin_bar->add_node( array(
432
  'parent' => 'cleantalk_admin_bar__parent_node',
433
  'id' => 'apbct__parent_node',
544
  function apbct_admin__admin_bar__add_child_nodes( $wp_admin_bar ) {
545
 
546
  global $apbct;
547
+
548
+ $attention_mark = $apbct->notice_show ? '<i class="icon-attention-alt"></i>' : '';
549
+
550
  // User's counter
551
  $wp_admin_bar->add_node( array(
552
  'parent' => 'apbct__parent_node',
621
  $wp_admin_bar->add_node( array(
622
  'parent' => 'apbct__parent_node',
623
  'id' => 'ct_settings_link',
624
+ 'title' => '<a href="'.$apbct->settings_link.'">'.__('Settings', 'cleantalk-spam-protect').'</a>' . $attention_mark,
625
  ));
626
 
627
  // Add a child item to our parent item. Bulk checks.
646
  $args = array(
647
  'parent' => 'apbct__parent_node',
648
  'id' => 'ct_reset_counter',
649
+ 'title' => '<hr style="margin-top: 7px;"><a href="?' . http_build_query(array_merge( $_GET, array( 'ct_reset_user_counter' => 1 ) ) ) . '" title="Reset your personal counter of submissions.">' . __('Reset first counter', 'cleantalk-spam-protect') . '</a>',
650
  );
651
  $wp_admin_bar->add_node( $args );// add a child item to our parent item. Counter reset.
652
 
654
  $args = array(
655
  'parent' => 'apbct__parent_node',
656
  'id' => 'ct_reset_counters_all',
657
+ 'title' => '<a href="?' . http_build_query(array_merge( $_GET, array( 'ct_reset_all_counters' => 1 ) ) ). '" title="Reset all counters.">'.__('Reset all counters', 'cleantalk-spam-protect').'</a>',
658
  );
659
  $wp_admin_bar->add_node( $args );
660
 
inc/cleantalk-pluggable.php CHANGED
@@ -493,7 +493,20 @@ function apbct_is_skip_request( $ajax = false ) {
493
  {
494
  return 'eael_login_skipped';
495
  }
496
-
 
 
 
 
 
 
 
 
 
 
 
 
 
497
  break;
498
 
499
  case false :
493
  {
494
  return 'eael_login_skipped';
495
  }
496
+ // WPForms check restricted email skipped
497
+ if(
498
+ ( apbct_is_plugin_active( 'wpforms/wpforms.php' ) ) &&
499
+ ( Post::get('action') === 'wpforms_restricted_email' && Post::get('token') !== '' )
500
+ )
501
+ {
502
+ return 'wpforms_check_restricted_email';
503
+ }
504
+ // FluentForm multistep skip
505
+ if ( ( apbct_is_plugin_active( 'fluentformpro/fluentformpro.php' ) || apbct_is_plugin_active( 'fluentform/fluentform.php' ) ) &&
506
+ Post::get( 'action' ) === 'active_step' )
507
+ {
508
+ return 'fluentform_skip';
509
+ }
510
  break;
511
 
512
  case false :
inc/cleantalk-public.php CHANGED
@@ -3065,7 +3065,7 @@ function apbct_form__WPForms__testSpam() {
3065
  unset($form_data['name']);
3066
  }
3067
 
3068
- $params = ct_get_fields_any($apbct->form_data, array(), $email, $nickname);
3069
 
3070
  if(is_array($params['nickname'])) {
3071
  $params['nickname'] = implode(' ', $params['nickname']);
@@ -3363,68 +3363,13 @@ function apbct_form__gravityForms__testSpam($is_spam, $form, $entry) {
3363
  return $is_spam;
3364
  }
3365
 
3366
- $form_fields = (isset($form['fields'])) ? $form['fields'] : false;
3367
  $form_fields_for_ct = array();
3368
- $form_fields_intermediate = array();
3369
- $email = '';
3370
- $nickname = array();
3371
-
3372
- if($form_fields) {
3373
- foreach ($form_fields as $field) {
3374
- $field_id = $field['id'];
3375
- $field_visibility = $field['visibility'];
3376
- $field_type = $field['type'];
3377
- $field_inputs = $field['inputs'];
3378
-
3379
- if($field_inputs) {
3380
- foreach ($field_inputs as $input) {
3381
- $input_id = $input['id'];
3382
-
3383
- if(isset($entry[$input_id]) && $entry[$input_id]) {
3384
- $form_fields_intermediate[] = array(
3385
- 'f_name' => 'input_' . $input_id,
3386
- 'f_visibility' => $field_visibility,
3387
- 'f_type' => $field_type,
3388
- 'f_data' => $entry[$input_id]
3389
- );
3390
- $form_fields_for_ct['input_' . $input_id] = $entry[$input_id];
3391
- }
3392
- }
3393
- } else {
3394
- if(isset($entry[$field_id]) && $entry[$field_id]) {
3395
- $form_fields_intermediate[] = array(
3396
- 'f_name' => 'input_' . $field_id,
3397
- 'f_visibility' => $field_visibility,
3398
- 'f_type' => $field_type,
3399
- 'f_data' => $entry[$field_id]
3400
- );
3401
- $form_fields_for_ct['input_' . $field_id] = $entry[$field_id];
3402
- }
3403
- }
3404
- }
3405
- }
3406
-
3407
- # Search nickname and email
3408
- if($form_fields_intermediate) {
3409
- foreach ($form_fields_intermediate as $field) {
3410
- if($field['f_type'] === 'email') {
3411
- $email = $field['f_data'];
3412
- }
3413
 
3414
- if($field['f_type'] === 'name') {
3415
- $nickname[] = $field['f_data'];
3416
- }
3417
- }
3418
- }
3419
-
3420
- if(!$form_fields_for_ct) {
3421
- foreach($entry as $key => $value){
3422
- if(is_numeric($key))
3423
- $form_fields_for_ct[$key]=$value;
3424
- } unset($key, $value);
3425
- }
3426
-
3427
- $ct_temp_msg_data = ct_get_fields_any($form_fields_for_ct, array(), $email, $nickname);
3428
 
3429
  $sender_email = ($ct_temp_msg_data['email'] ? $ct_temp_msg_data['email'] : '');
3430
  $sender_nickname = ($ct_temp_msg_data['nickname'] ? $ct_temp_msg_data['nickname'] : '');
@@ -3757,6 +3702,13 @@ function ct_contact_form_validate() {
3757
  return null;
3758
  }
3759
 
 
 
 
 
 
 
 
3760
  //Skip woocommerce checkout
3761
  if (apbct_is_in_uri('wc-ajax=update_order_review') ||
3762
  apbct_is_in_uri('wc-ajax=checkout') ||
3065
  unset($form_data['name']);
3066
  }
3067
 
3068
+ $params = ct_get_fields_any($apbct->form_data, array(), $email);
3069
 
3070
  if(is_array($params['nickname'])) {
3071
  $params['nickname'] = implode(' ', $params['nickname']);
3363
  return $is_spam;
3364
  }
3365
 
 
3366
  $form_fields_for_ct = array();
3367
+ foreach($entry as $key => $value){
3368
+ if(is_numeric($key))
3369
+ $form_fields_for_ct['input_' . $key]=$value;
3370
+ } unset($key, $value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3371
 
3372
+ $ct_temp_msg_data = ct_get_fields_any( $form_fields_for_ct );
 
 
 
 
 
 
 
 
 
 
 
 
 
3373
 
3374
  $sender_email = ($ct_temp_msg_data['email'] ? $ct_temp_msg_data['email'] : '');
3375
  $sender_nickname = ($ct_temp_msg_data['nickname'] ? $ct_temp_msg_data['nickname'] : '');
3702
  return null;
3703
  }
3704
 
3705
+ // Skip REST API requests
3706
+ if ( Server::isPost() && Server::in_uri( 'rest_route') )
3707
+ {
3708
+ do_action( 'apbct_skipped_request', __FILE__ . ' -> ' . __FUNCTION__ . '():' . __LINE__, $_POST );
3709
+ return null;
3710
+ }
3711
+
3712
  //Skip woocommerce checkout
3713
  if (apbct_is_in_uri('wc-ajax=update_order_review') ||
3714
  apbct_is_in_uri('wc-ajax=checkout') ||
inc/cleantalk-settings.php CHANGED
@@ -43,6 +43,13 @@ function apbct_settings__set_fileds( $fields ){
43
  $additional_ac_title = ' <span style="color:red">' . esc_html__( 'The functionality was disabled because SpamFireWall database is empty. Please, do the synchronization or', 'cleantalk-spam-protect' ) . ' ' . '<a href="https://cleantalk.org/my/support/open" target="_blank" style="color:red">'. esc_html__( 'contact to our support.', 'cleantalk-spam-protect' ) .'</a></span>';
44
  }
45
  }
 
 
 
 
 
 
 
46
 
47
  $fields = array(
48
 
@@ -103,9 +110,9 @@ function apbct_settings__set_fileds( $fields ){
103
  'sfw__enabled' => array(
104
  'type' => 'checkbox',
105
  'title' => __('SpamFireWall', 'cleantalk-spam-protect'),
106
- 'description' => __("This option allows to filter spam bots before they access website. Also reduces CPU usage on hosting server and accelerates pages load time.", 'cleantalk-spam-protect') . '<br>' .esc_html__( 'If the setting is turned on, plugin will automatically add IP address for each session with administration rights to Personal list in the cloud.', 'cleantalk-spam-protect' ),
 
107
  'childrens' => array('sfw__anti_flood', 'sfw__anti_crawler', 'sfw__use_delete_to_clear_table'),
108
- 'disabled' => (bool) $apbct->data['notice_incompatibility'],
109
  ),
110
  'sfw__anti_crawler' => array(
111
  'type' => 'checkbox',
@@ -1487,7 +1494,13 @@ function apbct_settings__validate($settings) {
1487
  $settings['apikey'] = ! is_main_site() && $apbct->white_label && $apbct->settings['apikey'] ? $apbct->settings['apikey'] : $settings['apikey'];
1488
  $settings['apikey'] = is_main_site() || $apbct->allow_custom_key || $apbct->white_label ? $settings['apikey'] : $apbct->network_settings['apikey'];
1489
  $settings['apikey'] = is_main_site() || !$settings['multisite__white_label'] ? $settings['apikey'] : $apbct->settings['apikey'];
1490
-
 
 
 
 
 
 
1491
  // Sanitize setting values
1492
  foreach ($settings as &$setting ){
1493
  if( is_scalar( $setting ) )
43
  $additional_ac_title = ' <span style="color:red">' . esc_html__( 'The functionality was disabled because SpamFireWall database is empty. Please, do the synchronization or', 'cleantalk-spam-protect' ) . ' ' . '<a href="https://cleantalk.org/my/support/open" target="_blank" style="color:red">'. esc_html__( 'contact to our support.', 'cleantalk-spam-protect' ) .'</a></span>';
44
  }
45
  }
46
+ $additional_sfw_description = '';
47
+ if( ! empty( $apbct->data['notice_incompatibility'] ) ){
48
+ $additional_sfw_description .= '<br>';
49
+ foreach( $apbct->data['notice_incompatibility'] as $notice ) {
50
+ $additional_sfw_description .= '<span style="color:red">' . $notice . '</span><br>';
51
+ }
52
+ }
53
 
54
  $fields = array(
55
 
110
  'sfw__enabled' => array(
111
  'type' => 'checkbox',
112
  'title' => __('SpamFireWall', 'cleantalk-spam-protect'),
113
+ 'description' => __("This option allows to filter spam bots before they access website. Also reduces CPU usage on hosting server and accelerates pages load time.", 'cleantalk-spam-protect') . '<br>' .esc_html__( 'If the setting is turned on, plugin will automatically add IP address for each session with administration rights to Personal list in the cloud.', 'cleantalk-spam-protect' )
114
+ . $additional_sfw_description,
115
  'childrens' => array('sfw__anti_flood', 'sfw__anti_crawler', 'sfw__use_delete_to_clear_table'),
 
116
  ),
117
  'sfw__anti_crawler' => array(
118
  'type' => 'checkbox',
1494
  $settings['apikey'] = ! is_main_site() && $apbct->white_label && $apbct->settings['apikey'] ? $apbct->settings['apikey'] : $settings['apikey'];
1495
  $settings['apikey'] = is_main_site() || $apbct->allow_custom_key || $apbct->white_label ? $settings['apikey'] : $apbct->network_settings['apikey'];
1496
  $settings['apikey'] = is_main_site() || !$settings['multisite__white_label'] ? $settings['apikey'] : $apbct->settings['apikey'];
1497
+
1498
+ // Show notice if the api key is empty
1499
+ if( ! apbct_api_key__is_correct() ) {
1500
+ $apbct->data['key_is_ok'] = false;
1501
+ $apbct->data['notice_show'] = 1;
1502
+ }
1503
+
1504
  // Sanitize setting values
1505
  foreach ($settings as &$setting ){
1506
  if( is_scalar( $setting ) )
inc/cleantalk-updater.php CHANGED
@@ -442,7 +442,7 @@ function apbct_update_to_5_138_0() {
442
  `mask` int(11) unsigned NOT NULL,
443
  INDEX ( `network` , `mask` )
444
  );';
445
- $sqls[] = 'ALTER TABLE `%scleantalk_sfw` ADD COLUMN status TINYINT(1) NOT NULL DEFAULT 0 AFTER mask;';
446
 
447
  // Actions for WPMS
448
  if( APBCT_WPMS ){
@@ -538,8 +538,8 @@ function apbct_update_to_5_142_0() {
538
  PRIMARY KEY (`id`));';
539
 
540
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw_logs`
541
- ADD COLUMN `id` VARCHAR(40) NOT NULL FIRST,
542
- ADD COLUMN `status` ENUM(\'PASS_SFW\',\'DENY_SFW\',\'PASS_SFW_BY_WHITELIST\',\'PASS_SFW_BY_COOKIE\',\'DENY_ANTIBOT\',\'DENY_ANTICRAWLER\') NOT NULL AFTER `ip`,
543
  DROP PRIMARY KEY,
544
  ADD PRIMARY KEY (`id`);';
545
 
@@ -627,18 +627,17 @@ function apbct_update_to_5_146_3() {
627
  update_option( 'cleantalk_plugin_request_ids', array() );
628
  }
629
 
630
- function apbct_update_to_5_146_4() {
631
-
632
- global $apbct;
633
-
634
- $sqls[] = 'ALTER TABLE `%scleantalk_sfw`
635
- ADD COLUMN `id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
636
- ADD PRIMARY KEY (`id`);';
637
-
638
- apbct_activation__create_tables( $sqls, $apbct->db_prefix );
639
-
640
-
641
- }
642
  function apbct_update_to_5_148_0() {
643
  $cron = new Cron();
644
  $cron->updateTask('antiflood__clear_table', 'apbct_antiflood__clear_table', 86400);
@@ -935,13 +934,13 @@ function apbct_update_to_5_158_0(){
935
  global $apbct, $wpdb;
936
 
937
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw`'
938
- . ' ADD COLUMN `source` TINYINT(1) NULL DEFAULT NULL AFTER `status`;';
939
 
940
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw_logs`'
941
- . ' ADD COLUMN `source` TINYINT(1) NULL DEFAULT NULL AFTER `ua_name`,'
942
- . ' ADD COLUMN `network` VARCHAR(20) NULL DEFAULT NULL AFTER `source`,'
943
- . ' ADD COLUMN `first_url` VARCHAR(100) NULL DEFAULT NULL AFTER `network`,'
944
- . ' ADD COLUMN `last_url` VARCHAR(100) NULL DEFAULT NULL AFTER `first_url`;';
945
 
946
  if( APBCT_WPMS ){
947
  // Getting all blog ids
442
  `mask` int(11) unsigned NOT NULL,
443
  INDEX ( `network` , `mask` )
444
  );';
445
+ $sqls[] = 'ALTER TABLE `%scleantalk_sfw` ADD COLUMN IF NOT EXISTS status TINYINT(1) NOT NULL DEFAULT 0 AFTER mask;';
446
 
447
  // Actions for WPMS
448
  if( APBCT_WPMS ){
538
  PRIMARY KEY (`id`));';
539
 
540
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw_logs`
541
+ ADD COLUMN IF NOT EXISTS `id` VARCHAR(40) NOT NULL FIRST,
542
+ ADD COLUMN IF NOT EXISTS `status` ENUM(\'PASS_SFW\',\'DENY_SFW\',\'PASS_SFW_BY_WHITELIST\',\'PASS_SFW_BY_COOKIE\',\'DENY_ANTIBOT\',\'DENY_ANTICRAWLER\') NOT NULL AFTER `ip`,
543
  DROP PRIMARY KEY,
544
  ADD PRIMARY KEY (`id`);';
545
 
627
  update_option( 'cleantalk_plugin_request_ids', array() );
628
  }
629
 
630
+ //function apbct_update_to_5_146_4() {
631
+ //
632
+ // global $apbct;
633
+ //
634
+ // $sqls[] = 'ALTER TABLE `%scleantalk_sfw`
635
+ // ADD COLUMN IF NOT EXISTS `id` INT(11) NOT NULL AUTO_INCREMENT FIRST';
636
+ //
637
+ // apbct_activation__create_tables( $sqls, $apbct->db_prefix );
638
+ //
639
+ //
640
+ //}
 
641
  function apbct_update_to_5_148_0() {
642
  $cron = new Cron();
643
  $cron->updateTask('antiflood__clear_table', 'apbct_antiflood__clear_table', 86400);
934
  global $apbct, $wpdb;
935
 
936
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw`'
937
+ . ' ADD COLUMN IF NOT EXISTS `source` TINYINT(1) NULL DEFAULT NULL AFTER `status`;';
938
 
939
  $sqls[] = 'ALTER TABLE `%scleantalk_sfw_logs`'
940
+ . ' ADD COLUMN IF NOT EXISTS `source` TINYINT(1) NULL DEFAULT NULL AFTER `ua_name`,'
941
+ . ' ADD COLUMN IF NOT EXISTS `network` VARCHAR(20) NULL DEFAULT NULL AFTER `source`,'
942
+ . ' ADD COLUMN IF NOT EXISTS `first_url` VARCHAR(100) NULL DEFAULT NULL AFTER `network`,'
943
+ . ' ADD COLUMN IF NOT EXISTS `last_url` VARCHAR(100) NULL DEFAULT NULL AFTER `first_url`;';
944
 
945
  if( APBCT_WPMS ){
946
  // Getting all blog ids
js/cleantalk-admin-settings-page.min.js CHANGED
@@ -1,2 +1,2 @@
1
- function apbct_banner_check(){var c=setInterval(function(){apbct_admin_sendAJAX({action:"apbct_settings__check_renew_banner"},{callback:function(t,e,n,a){t.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(c))}})},9e5)}function apbct_get_elems(t){for(var e,n=0,a=(t=t.split(",")).length;n<a;n++)e=jQuery("#"+t[n]),t[n]=0===e.length?jQuery("."+t[n]):e;return t}function apbct_get_elems__native(t){"string"==typeof t&&(t=t.split(","));var c=[];return t.forEach(function(t,e,n){var a=document.getElementById(t);if(null===a){if(null!==(a=document.getElementsByClassName(t))&&0!==a.length)for(key in a)0<=+key&&c.push(a[key])}else c.push(a[key])}),c}function apbct_show_hide_elem(t){for(var e=0,n=(t=apbct_get_elems(t)).length;e<n;e++)t[e].each(function(t,e){var n=(e=jQuery(e)).next("label")||e.prev("label")||null;e.is(":visible")?(e.hide(),n&&n.hide()):(e.show(),n&&n.show())})}function apbctSettingsDependencies(t,c){c=isNaN(c)?null:c,apbct_get_elems__native(t).forEach(function(t,e,n){console.log(t.getAttribute("id"));var a;null===c&&(c=null===t.getAttribute("disabled")?0:1),1===c?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled"),null===t.getAttribute("apbct_children")||null!==(a=apbctSettingsDependencies_getState(t)&&c)&&apbctSettingsDependencies(t.getAttribute("apbct_children"),a)})}function apbctSettingsDependencies_getState(t){var e;switch(t.getAttribute("type")){case"checkbox":e=+t.checked;break;case"radio":e=+(1==+t.getAttribute("value"));break;default:e=null}return e}function apbct_settings__showDescription(t,e){var c=function(t){void 0!==t&&(0!=jQuery(t.target).parent(".apbct_long_desc").length&&!jQuery(t.target).hasClass("apbct_long_desc__cancel")||jQuery(t.target).hasClass("apbct_long_description__show"))||(jQuery(".apbct_long_desc").remove(),jQuery(document).off("click",c))};c(),t.after("<div id='apbct_long_desc__"+e+"' class='apbct_long_desc'></div>");var n=jQuery("#apbct_long_desc__"+e);n.append("<i class='icon-spin1 animate-spin'></i>").append("<div class='apbct_long_desc__angle'></div>").css({top:t.position().top-5,left:t.position().left+25}),apbct_admin_sendAJAX({action:"apbct_settings__get_description",setting_id:e},{spinner:n.children("img"),callback:function(t,e,n,a){a.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'>"+t.title+"</h3>").append("<p>"+t.desc+"</p>"),jQuery(document).on("click",c)}},n)}jQuery(document).ready(function(){document.getElementsByClassName("apbct_settings-title")[0]&&"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 t=new Date;jQuery("#ct_admin_timezone").val(t.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("#apbct_button__get_key_auto").on("click",function(){apbct_admin_sendAJAX({action:"apbct_get_key_auto"},{timeout:25e3,button:document.getElementById("apbct_button__get_key_auto"),spinner:jQuery("#apbct_button__get_key_auto .apbct_preloader_button"),callback:function(t,e,n,a){jQuery("#apbct_button__get_key_auto .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_button__get_key_auto .apbct_success").hide(300)},2e3),t.reload&&document.location.reload(),t.getTemplates&&(cleantalkModal.loaded=t.getTemplates,cleantalkModal.open(),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}))}})}),jQuery(document).on("click","#apbct_settings_templates_import_button",function(){jQuery("#apbct-ajax-result").remove();var t,c,e=jQuery("option:selected",jQuery("#apbct_settings_templates_import"));jQuery("#apbct_settings_templates_import_name").css("border-color","inherit"),void 0!==e.data("id")?(t={template_id:e.data("id"),template_name:e.data("name"),settings:e.data("settings")},c=this,apbct_admin_sendAJAX({action:"settings_templates_import",data:t},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_import_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_import_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_import_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})):console.log('Attribute "data-id" not set for the option.')}),jQuery(document).on("click","#apbct_settings_templates_export_button",function(){jQuery("#apbct-ajax-result").remove();var t=jQuery("option:selected",jQuery("#apbct_settings_templates_export")),e=jQuery("#apbct_settings_templates_export_name");if(e.css("border-color","inherit"),void 0!==t.data("id")){if("new_template"===t.data("id")){var n=e.val();if(""===n)return void e.css("border-color","red");var a={template_name:n}}else a={template_id:t.data("id")};var c=this;apbct_admin_sendAJAX({action:"settings_templates_export",data:a},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_export_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_export_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_export_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})}else console.log('Attribute "data-id" not set for the option.')}),jQuery(document).on("click","#apbct_settings_templates_reset_button",function(){var c=this;apbct_admin_sendAJAX({action:"settings_templates_reset"},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_reset_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_reset_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_reset_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})}),jQuery("#apbct_button__sync").on("click",function(){apbct_admin_sendAJAX({action:"apbct_sync"},{timeout:25e3,button:document.getElementById("apbct_button__sync"),spinner:jQuery("#apbct_button__sync .apbct_preloader_button"),callback:function(t,e,n,a){jQuery("#apbct_button__sync .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_button__sync .apbct_success").hide(300)},2e3),t.reload&&document.location.reload()}})}),ctSettingsPage.key_changed&&jQuery("#apbct_button__sync").click(),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(document).on("change","#apbct_settings_templates_export",function(){"new_template"===jQuery("option:selected",this).data("id")?jQuery(this).parent().parent().find("#apbct_settings_templates_export_name").show():jQuery(this).parent().parent().find("#apbct_settings_templates_export_name").hide()})});
2
  //# sourceMappingURL=cleantalk-admin-settings-page.min.js.map
1
+ function apbct_banner_check(){var c=setInterval(function(){apbct_admin_sendAJAX({action:"apbct_settings__check_renew_banner"},{callback:function(t,e,n,a){t.close_renew_banner&&(jQuery("#cleantalk_notice_renew").length&&jQuery("#cleantalk_notice_renew").hide("slow"),jQuery("#cleantalk_notice_trial").length&&jQuery("#cleantalk_notice_trial").hide("slow"),clearInterval(c))}})},9e5)}function apbct_get_elems(t){for(var e,n=0,a=(t=t.split(",")).length;n<a;n++)e=jQuery("#"+t[n]),t[n]=0===e.length?jQuery("."+t[n]):e;return t}function apbct_get_elems__native(t){"string"==typeof t&&(t=t.split(","));var c=[];return t.forEach(function(t,e,n){var a=document.getElementById(t);if(null===a){if(null!==(a=document.getElementsByClassName(t))&&0!==a.length)for(key in a)0<=+key&&c.push(a[key])}else c.push(a[key])}),c}function apbct_show_hide_elem(t){for(var e=0,n=(t=apbct_get_elems(t)).length;e<n;e++)t[e].each(function(t,e){var n=(e=jQuery(e)).next("label")||e.prev("label")||null;e.is(":visible")?(e.hide(),n&&n.hide()):(e.show(),n&&n.show())})}function apbctSettingsDependencies(t,c){c=isNaN(c)?null:c,apbct_get_elems__native(t).forEach(function(t,e,n){console.log(t.getAttribute("id"));var a;null===c&&(c=null===t.getAttribute("disabled")?0:1),1===c?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled"),null===t.getAttribute("apbct_children")||null!==(a=apbctSettingsDependencies_getState(t)&&c)&&apbctSettingsDependencies(t.getAttribute("apbct_children"),a)})}function apbctSettingsDependencies_getState(t){var e;switch(t.getAttribute("type")){case"checkbox":e=+t.checked;break;case"radio":e=+(1==+t.getAttribute("value"));break;default:e=null}return e}function apbct_settings__showDescription(t,e){var c=function(t){void 0!==t&&(0!=jQuery(t.target).parent(".apbct_long_desc").length&&!jQuery(t.target).hasClass("apbct_long_desc__cancel")||jQuery(t.target).hasClass("apbct_long_description__show"))||(jQuery(".apbct_long_desc").remove(),jQuery(document).off("click",c))};c(),t.after("<div id='apbct_long_desc__"+e+"' class='apbct_long_desc'></div>");var n=jQuery("#apbct_long_desc__"+e);n.append("<i class='icon-spin1 animate-spin'></i>").append("<div class='apbct_long_desc__angle'></div>").css({top:t.position().top-5,left:t.position().left+25}),apbct_admin_sendAJAX({action:"apbct_settings__get_description",setting_id:e},{spinner:n.children("img"),callback:function(t,e,n,a){a.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'>"+t.title+"</h3>").append("<p>"+t.desc+"</p>"),jQuery(document).on("click",c)}},n)}jQuery(document).ready(function(){document.getElementsByClassName("apbct_settings-title")[0]&&"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 t=new Date;jQuery("#ct_admin_timezone").val(t.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("#apbct_button__get_key_auto").on("click",function(){apbct_admin_sendAJAX({action:"apbct_get_key_auto"},{timeout:25e3,button:document.getElementById("apbct_button__get_key_auto"),spinner:jQuery("#apbct_button__get_key_auto .apbct_preloader_button"),callback:function(t,e,n,a){jQuery("#apbct_button__get_key_auto .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_button__get_key_auto .apbct_success").hide(300)},2e3),t.reload&&document.location.reload(),t.getTemplates&&(cleantalkModal.loaded=t.getTemplates,cleantalkModal.open(),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}))}})}),jQuery(document).on("click","#apbct_settings_templates_import_button",function(){jQuery("#apbct-ajax-result").remove();var t,c,e=jQuery("option:selected",jQuery("#apbct_settings_templates_import"));jQuery("#apbct_settings_templates_import_name").css("border-color","inherit"),void 0!==e.data("id")?(t={template_id:e.data("id"),template_name:e.data("name"),settings:e.data("settings")},c=this,apbct_admin_sendAJAX({action:"settings_templates_import",data:t},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_import_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_import_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_import_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})):console.log('Attribute "data-id" not set for the option.')}),jQuery(document).on("click","#apbct_settings_templates_export_button",function(){jQuery("#apbct-ajax-result").remove();var t=jQuery("option:selected",jQuery("#apbct_settings_templates_export")),e=jQuery("#apbct_settings_templates_export_name");if(e.css("border-color","inherit"),void 0!==t.data("id")){if("new_template"===t.data("id")){var n=e.val();if(""===n)return void e.css("border-color","red");var a={template_name:n}}else a={template_id:t.data("id")};var c=this;apbct_admin_sendAJAX({action:"settings_templates_export",data:a},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_export_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_export_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_export_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})}else console.log('Attribute "data-id" not set for the option.')}),jQuery(document).on("click","#apbct_settings_templates_reset_button",function(){var c=this;apbct_admin_sendAJAX({action:"settings_templates_reset"},{timeout:25e3,button:c,spinner:jQuery("#apbct_settings_templates_reset_button .apbct_preloader_button"),notJson:!0,callback:function(t,e,n,a){t.success?(jQuery("<p id='apbct-ajax-result' class='success'>"+t.data+"</p>").insertAfter(jQuery(c)),jQuery("#apbct_settings_templates_reset_button .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_settings_templates_reset_button .apbct_success").hide(300)},2e3),document.addEventListener("cleantalkModalClosed",function(t){document.location.reload()}),setTimeout(function(){cleantalkModal.close()},2e3)):jQuery("<p id='apbct-ajax-result' class='error'>"+t.data+"</p>").insertAfter(jQuery(c))}})}),jQuery("#apbct_button__sync").on("click",function(){apbct_admin_sendAJAX({action:"apbct_sync"},{timeout:25e3,button:document.getElementById("apbct_button__sync"),spinner:jQuery("#apbct_button__sync .apbct_preloader_button"),callback:function(t,e,n,a){jQuery("#apbct_button__sync .apbct_success").show(300),setTimeout(function(){jQuery("#apbct_button__sync .apbct_success").hide(300)},2e3),t.reload&&document.location.reload()}})}),ctSettingsPage.key_changed&&jQuery("#apbct_button__sync").click(),jQuery(document).on("click",".apbct_settings-long_description---show",function(){self=jQuery(this),apbct_settings__showDescription(self,self.attr("setting"))}),(jQuery("#cleantalk_notice_renew").length||jQuery("#cleantalk_notice_trial").length)&&apbct_banner_check(),jQuery(document).on("change","#apbct_settings_templates_export",function(){"new_template"===jQuery("option:selected",this).data("id")?jQuery(this).parent().parent().find("#apbct_settings_templates_export_name").show():jQuery(this).parent().parent().find("#apbct_settings_templates_export_name").hide()})});
2
  //# sourceMappingURL=cleantalk-admin-settings-page.min.js.map
js/cleantalk-admin-settings-page.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cleantalk-admin-settings-page.min.js","sources":["cleantalk-admin-settings-page.js"],"sourcesContent":["jQuery(document).ready(function(){\n\n\t// Crunch for Right to Left direction languages\n\tif(document.getElementsByClassName('apbct_settings-title')[0]) {\n\t\tif(getComputedStyle(document.getElementsByClassName('apbct_settings-title')[0]).direction === 'rtl'){\n\t\t\tjQuery('.apbct_switchers').css('text-align', 'right');\n\t\t}\n\t}\n\n\t// Show/Hide access key\n jQuery('#apbct_showApiKey').on('click', function(){\n jQuery('.apbct_setting---apikey').val(jQuery('.apbct_setting---apikey').attr('key'));\n jQuery('.apbct_setting---apikey+div').show();\n jQuery(this).fadeOut(300);\n });\n\n\tvar d = new Date();\n\tjQuery('#ct_admin_timezone').val(d.getTimezoneOffset()/60*(-1));\n\t\n\t// GDPR modal window\n\tjQuery('#apbct_gdpr_open_modal').on('click', function(){\n\t\tjQuery('#gdpr_dialog').dialog({\n\t\t\tmodal:true, \n\t\t\tshow: true,\n\t\t\tposition: { my: \"center\", at: \"center\", of: window },\n\t\t\twidth: +(jQuery('#wpbody').width() / 100 * 70), // 70% of #wpbody\n\t\t\theight: 'auto',\n\t\t\ttitle: 'GDPR compliance',\n\t\t\tdraggable: false,\n\t\t\tresizable: false,\n\t\t\tcloseText: \"Close\",\n\t\t});\n\t});\n\n\t// Key KEY automatically\n\tjQuery('#apbct_button__get_key_auto').on('click', function(){\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_get_key_auto'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('apbct_button__get_key_auto' ),\n\t\t\t\tspinner: jQuery('#apbct_button__get_key_auto .apbct_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#apbct_button__get_key_auto .apbct_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_button__get_key_auto .apbct_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\tif(result.getTemplates) {\n\t\t\t\t\t\tcleantalkModal.loaded = result.getTemplates;\n\t\t\t\t\t\tcleantalkModal.open();\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Import settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_import_button', function(){\n\t\tjQuery('#apbct-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_import'));\n\t\tvar templateNameInput = jQuery('#apbct_settings_templates_import_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tvar data = {\n\t\t\t'template_id' : optionSelected.data('id'),\n\t\t\t'template_name' : optionSelected.data('name'),\n\t\t\t'settings' : optionSelected.data('settings')\n\t\t};\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_import', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_import_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_import_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_import_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Export settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_export_button', function(){\n\t\tjQuery('#apbct-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_export'));\n\t\tvar templateNameInput = jQuery('#apbct_settings_templates_export_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tif( optionSelected.data('id') === 'new_template' ) {\n\t\t\tvar templateName = templateNameInput.val();\n\t\t\tif( templateName === '' ) {\n\t\t\t\ttemplateNameInput.css('border-color', 'red');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\t'template_name' : templateName\n\t\t\t}\n\t\t} else {\n\t\t\tvar data = {\n\t\t\t\t'template_id' : optionSelected.data('id')\n\t\t\t}\n\t\t}\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_export', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_export_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_export_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_export_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Reset settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_reset_button', function(){\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_reset'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_reset_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_reset_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_reset_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Sync button\n\tjQuery('#apbct_button__sync').on('click', function(){\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_sync'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('apbct_button__sync' ),\n\t\t\t\tspinner: jQuery('#apbct_button__sync .apbct_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#apbct_button__sync .apbct_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_button__sync .apbct_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\tif( ctSettingsPage.key_changed )\n\t\tjQuery('#apbct_button__sync').click();\n\n\tjQuery(document).on('click', '.apbct_settings-long_description---show', function(){\n\t\tself = jQuery(this);\n\t\tapbct_settings__showDescription(self, self.attr('setting'));\n\t});\n\n\tif (jQuery('#apbct_renew_notice').length || jQuery('#apbct_trial_notice').length) \n\t\tapbct_banner_check();\n\n\tjQuery(document).on('change', '#apbct_settings_templates_export',function(){\n\t\tvar optionSelected = jQuery(\"option:selected\", this);\n\t\tif ( optionSelected.data(\"id\") === 'new_template' ) {\n\t\t\tjQuery(this).parent().parent().find('#apbct_settings_templates_export_name').show();\n\t\t} else {\n\t\t\tjQuery(this).parent().parent().find('#apbct_settings_templates_export_name').hide();\n\t\t}\n\t});\n\t\n});\n\n/**\n * Checking current account status for renew notice\n */\nfunction apbct_banner_check() {\n\tvar bannerChecker = setInterval( function() {\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_settings__check_renew_banner'},\n\t\t\t{\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif (result.close_renew_banner) {\n\t\t\t\t\t\tif (jQuery('#apbct_renew_notice').length)\n\t\t\t\t\t\t\tjQuery('#apbct_renew_notice').hide('slow');\n\t\t\t\t\t\tif (jQuery('#apbct_trial_notice').length)\n\t\t\t\t\t\t\tjQuery('#apbct_trial_notice').hide('slow');\n\t\t\t\t\t\tclearInterval(bannerChecker);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}, 900000);\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector passed in string separated by ,\n *\n * @param elems\n * @returns {*}\n */\nfunction apbct_get_elems(elems){\n elems = elems.split(',');\n for( var i=0, len = elems.length, tmp; i < len; i++){\n tmp = jQuery('#'+elems[i]);\n elems[i] = tmp.length === 0 ? jQuery('.'+elems[i]) : tmp;\n }\n return elems;\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector could be passed in a string ( separated by comma ) or in array ( [ elem1, elem2, ... ] )\n *\n * @param elems string|array\n * @returns array\n */\nfunction apbct_get_elems__native(elems){\n\n\t// Make array from a string\n\tif(typeof elems === 'string')\n\t\telems = elems.split(',');\n\n\tvar out = [];\n\n\telems.forEach(function(elem, i, arr) {\n\n\t\t// try to get elements with such IDs\n\t\tvar tmp = document.getElementById(elem);\n\t\tif (tmp !== null){\n\t\t\tout.push( tmp[key] );\n\t\t\treturn;\n\t\t}\n\n\t\t// try to get elements with such class name\n\t\t// write each elem from collection to new element of output array\n\t\ttmp = document.getElementsByClassName(elem);\n\t\tif (tmp !== null && tmp.length !==0 ){\n\t\t\tfor(key in tmp){\n\t\t\t\tif( +key >= 0 ){\n\t\t\t\t\tout.push( tmp[key] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn out;\n}\n\nfunction apbct_show_hide_elem(elems){\n\telems = apbct_get_elems(elems);\n for( var i=0, len = elems.length; i < len; i++){\n elems[i].each(function (i, elem) {\n elem = jQuery(elem);\n var label = elem.next('label') || elem.prev('label') || null;\n if (elem.is(\":visible\")) {\n elem.hide();\n if (label) label.hide();\n } else {\n elem.show();\n if (label) label.show();\n }\n });\n }\n}\n\n/**\n * Settings dependences. Switch|toggle depended elements state (disabled|enabled)\n * Recieve list of selectors ( without class mark (.) or id mark (#) )\n *\n * @param ids string|array Selectors\n * @param enable\n */\nfunction apbctSettingsDependencies(ids, enable){\n\n\n\tenable = ! isNaN(enable) ? enable : null;\n\n\t// Get elements\n\tvar elems = apbct_get_elems__native( ids );\n\n\telems.forEach(function(elem, i, arr){\n\n\t\tconsole.log( elem.getAttribute('id') );\n\n\t\tvar do_disable = function(){elem.setAttribute('disabled', 'disabled');},\n\t\t\tdo_enable = function(){elem.removeAttribute('disabled');};\n\n\t\t// Set defined state\n\t\tif(enable === null) // Set\n\t\t\tenable = elem.getAttribute('disabled') === null ? 0 : 1;\n\n\t\tenable === 1 ? do_enable() : do_disable();\n\n\t\tif( elem.getAttribute('apbct_children') !== null){\n\t\t\tvar state = apbctSettingsDependencies_getState( elem ) && enable;\n\t\t\tif( state !== null ) {\n\t\t\t\tapbctSettingsDependencies( elem.getAttribute('apbct_children'), state );\n\t\t\t}\n\t\t}\n\n\t});\n}\n\nfunction apbctSettingsDependencies_getState( elem ){\n\n\tvar state;\n\n\tswitch ( elem.getAttribute( 'type' ) ){\n\t\tcase 'checkbox':\n\t\t\tstate = +elem.checked;\n\t\t\tbreak;\n\t\tcase 'radio':\n\t\t\tstate = +(+elem.getAttribute('value') === 1);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tstate = null;\n\t}\n\n\treturn state;\n}\n\nfunction apbct_settings__showDescription(label, setting_id){\n\n\tvar remove_desc_func = function(e){\n\t\tif(typeof e === 'undefined' || ((jQuery(e.target).parent('.apbct_long_desc').length == 0 || jQuery(e.target).hasClass('apbct_long_desc__cancel')) && !jQuery(e.target).hasClass('apbct_long_description__show'))){\n\t\t\tjQuery('.apbct_long_desc').remove();\n\t\t\tjQuery(document).off('click', remove_desc_func);\n\t\t}\n\t};\n\n\tremove_desc_func();\n\n\tlabel.after(\"<div id='apbct_long_desc__\"+setting_id+\"' class='apbct_long_desc'></div>\");\n\tvar obj = jQuery('#apbct_long_desc__'+setting_id);\n\tobj.append(\"<i class='icon-spin1 animate-spin'></i>\")\n\t\t.append(\"<div class='apbct_long_desc__angle'></div>\")\n\t\t.css({\n\t\t\ttop: label.position().top - 5,\n\t\t\tleft: label.position().left + 25\n\t\t});\n\n\n\tapbct_admin_sendAJAX(\n\t\t{action: 'apbct_settings__get_description', setting_id: setting_id},\n\t\t{\n\t\t\tspinner: obj.children('img'),\n\t\t\tcallback: function(result, data, params, obj){\n\n\t\t\t\tobj.empty()\n\t\t\t\t\t.append(\"<div class='apbct_long_desc__angle'></div>\")\n\t\t\t\t\t.append(\"<i class='apbct_long_desc__cancel icon-cancel'></i>\")\n\t\t\t\t\t.append(\"<h3 class='apbct_long_desc__title'>\"+result.title+\"</h3>\")\n\t\t\t\t\t.append(\"<p>\"+result.desc+\"</p>\");\n\n\t\t\t\tjQuery(document).on('click', remove_desc_func);\n\t\t\t}\n\t\t},\n\t\tobj\n\t);\n}"],"names":["apbct_banner_check","bannerChecker","setInterval","apbct_admin_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","isNaN","console","log","getAttribute","state","removeAttribute","setAttribute","apbctSettingsDependencies_getState","checked","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","timeout","button","setTimeout","reload","location","getTemplates","cleantalkModal","loaded","open","addEventListener","optionSelected","template_id","template_name","settings","notJson","success","insertAfter","close","templateNameInput","templateName","ctSettingsPage","key_changed","click","self","find"],"mappings":"AA0NA,SAASA,qBACR,IAAIC,EAAgBC,YAAa,WAChCC,qBACC,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,KAUJ,SAASc,gBAAgBC,GAErB,IAAK,IAA6BC,EAAzBC,EAAE,EAAGC,GADdH,EAAQA,EAAMI,MAAM,MACMR,OAAaM,EAAIC,EAAKD,IAC5CD,EAAMN,OAAO,IAAIK,EAAME,IACvBF,EAAME,GAAoB,IAAfD,EAAIL,OAAeD,OAAO,IAAIK,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,EAAIL,OACvB,IAAIiB,OAAOZ,EACE,IAAPY,KACJP,EAAIQ,KAAMb,EAAIY,WAVhBP,EAAIQ,KAAMb,EAAIY,QAgBTP,EAGR,SAASS,qBAAqBf,GAE1B,IAAK,IAAIE,EAAE,EAAGC,GADjBH,EAAQD,gBAAgBC,IACKJ,OAAQM,EAAIC,EAAKD,IACvCF,EAAME,GAAGc,KAAK,SAAUd,EAAGM,GAEvB,IAAIS,GADJT,EAAOb,OAAOa,IACGU,KAAK,UAAYV,EAAKW,KAAK,UAAY,KACpDX,EAAKY,GAAG,aACRZ,EAAKX,OACDoB,GAAOA,EAAMpB,SAEjBW,EAAKa,OACDJ,GAAOA,EAAMI,UAajC,SAASC,0BAA0BC,EAAKC,GAGvCA,EAAWC,MAAMD,GAAmB,KAATA,EAGfnB,wBAAyBkB,GAE/BhB,QAAQ,SAASC,EAAMN,EAAGO,GAE/BiB,QAAQC,IAAKnB,EAAKoB,aAAa,OAE/B,IAUKC,EANS,OAAXL,IACFA,EAA2C,OAAlChB,EAAKoB,aAAa,YAAuB,EAAI,GAE5C,IAAXJ,EANyBhB,EAAKsB,gBAAgB,YADlBtB,EAAKuB,aAAa,WAAY,YASd,OAAxCvB,EAAKoB,aAAa,mBAEP,QADVC,EAAQG,mCAAoCxB,IAAUgB,IAEzDF,0BAA2Bd,EAAKoB,aAAa,kBAAmBC,KAOpE,SAASG,mCAAoCxB,GAE5C,IAAIqB,EAEJ,OAASrB,EAAKoB,aAAc,SAC3B,IAAK,WACJC,GAASrB,EAAKyB,QACd,MACD,IAAK,QACJJ,IAA0C,IAA/BrB,EAAKoB,aAAa,UAC7B,MACD,QACCC,EAAQ,KAGV,OAAOA,EAGR,SAASK,gCAAgCjB,EAAOkB,GAE/C,IAAIC,EAAmB,SAASC,QACf,IAANA,IAA6E,GAAtD1C,OAAO0C,EAAEC,QAAQC,OAAO,oBAAoB3C,SAAeD,OAAO0C,EAAEC,QAAQE,SAAS,4BAAgC7C,OAAO0C,EAAEC,QAAQE,SAAS,mCAC/K7C,OAAO,oBAAoB8C,SAC3B9C,OAAOe,UAAUgC,IAAI,QAASN,KAIhCA,IAEAnB,EAAM0B,MAAM,6BAA6BR,EAAW,oCACpD,IAAI1C,EAAME,OAAO,qBAAqBwC,GACtC1C,EAAImD,OAAO,2CACTA,OAAO,8CACPC,IAAI,CACJC,IAAK7B,EAAM8B,WAAWD,IAAM,EAC5BE,KAAM/B,EAAM8B,WAAWC,KAAO,KAIhC7D,qBACC,CAACC,OAAQ,kCAAmC+C,WAAYA,GACxD,CACCc,QAASxD,EAAIyD,SAAS,OACtB7D,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GAExCA,EAAI0D,QACFP,OAAO,8CACPA,OAAO,uDACPA,OAAO,sCAAsCtD,EAAO8D,MAAM,SAC1DR,OAAO,MAAMtD,EAAO+D,KAAK,QAE3B1D,OAAOe,UAAU4C,GAAG,QAASlB,KAG/B3C,GAjZFE,OAAOe,UAAU6C,MAAM,WAGnB7C,SAASE,uBAAuB,wBAAwB,IACoC,QAA3F4C,iBAAiB9C,SAASE,uBAAuB,wBAAwB,IAAI6C,WAC/E9D,OAAO,oBAAoBkD,IAAI,aAAc,SAK5ClD,OAAO,qBAAqB2D,GAAG,QAAS,WACpC3D,OAAO,2BAA2B+D,IAAI/D,OAAO,2BAA2BgE,KAAK,QAC7EhE,OAAO,+BAA+B0B,OACtC1B,OAAOiE,MAAMC,QAAQ,OAG5B,IAAIC,EAAI,IAAIC,KACZpE,OAAO,sBAAsB+D,IAAII,EAAEE,oBAAoB,IAAK,GAG5DrE,OAAO,0BAA0B2D,GAAG,QAAS,WAC5C3D,OAAO,gBAAgBsE,OAAO,CAC7BC,OAAM,EACN7C,MAAM,EACN0B,SAAU,CAAEoB,GAAI,SAAUC,GAAI,SAAUC,GAAIC,QAC5CC,OAAS5E,OAAO,WAAW4E,QAAU,IAAM,GAC3CC,OAAQ,OACRpB,MAAO,kBACPqB,WAAW,EACXC,WAAW,EACXC,UAAW,YAKbhF,OAAO,+BAA+B2D,GAAG,QAAS,WACjDnE,qBACC,CAACC,OAAQ,sBACT,CACCwF,QAAS,KACTC,OAAQnE,SAASC,eAAe,8BAChCsC,QAAStD,OAAO,uDAChBN,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACxCE,OAAO,8CAA8C0B,KAAK,KAC1DyD,WAAW,WAAWnF,OAAO,8CAA8CE,KAAK,MAAQ,KACrFP,EAAOyF,QACTrE,SAASsE,SAASD,SAChBzF,EAAO2F,eACTC,eAAeC,OAAS7F,EAAO2F,aAC/BC,eAAeE,OACf1E,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,iBASxBpF,OAAQe,UAAW4C,GAAG,QAAS,0CAA2C,WACzE3D,OAAO,sBAAsB8C,SAC7B,IAOIlD,EAKAsF,EAZAS,EAAiB3F,OAAO,kBAAmBA,OAAO,qCAC9BA,OAAO,yCACbkD,IAAI,eAAgB,gBACG,IAA9ByC,EAAe/F,KAAK,OAI3BA,EAAO,CACVgG,YAAgBD,EAAe/F,KAAK,MACpCiG,cAAkBF,EAAe/F,KAAK,QACtCkG,SAAaH,EAAe/F,KAAK,aAE9BsF,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BAA6BG,KAAMA,GAC5C,CACCqF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,mEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,0DAA0D0B,KAAK,KACtEyD,WAAW,WAAWnF,OAAO,0DAA0DE,KAAK,MAAQ,KACpGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,QA1BnGnD,QAAQC,IAAK,iDAkCfhC,OAAQe,UAAW4C,GAAG,QAAS,0CAA2C,WACzE3D,OAAO,sBAAsB8C,SAC7B,IAAI6C,EAAiB3F,OAAO,kBAAmBA,OAAO,qCAClDmG,EAAoBnG,OAAO,yCAE/B,GADAmG,EAAkBjD,IAAI,eAAgB,gBACG,IAA9ByC,EAAe/F,KAAK,MAA/B,CAIA,GAAkC,iBAA9B+F,EAAe/F,KAAK,MAA2B,CAClD,IAAIwG,EAAeD,EAAkBpC,MACrC,GAAqB,KAAjBqC,EAEH,YADAD,EAAkBjD,IAAI,eAAgB,OAGvC,IAAItD,EAAO,CACViG,cAAkBO,QAGfxG,EAAO,CACVgG,YAAgBD,EAAe/F,KAAK,OAGtC,IAAIsF,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BAA6BG,KAAMA,GAC5C,CACCqF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,mEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,0DAA0D0B,KAAK,KACtEyD,WAAW,WAAWnF,OAAO,0DAA0DE,KAAK,MAAQ,KACpGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,YAnCnGnD,QAAQC,IAAK,iDA2CfhC,OAAQe,UAAW4C,GAAG,QAAS,yCAA0C,WACxE,IAAIuB,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BACT,CACCwF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,kEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,yDAAyD0B,KAAK,KACrEyD,WAAW,WAAWnF,OAAO,yDAAyDE,KAAK,MAAQ,KACnGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,SAQrGlF,OAAO,uBAAuB2D,GAAG,QAAS,WACzCnE,qBACC,CAACC,OAAQ,cACT,CACCwF,QAAS,KACTC,OAAQnE,SAASC,eAAe,sBAChCsC,QAAStD,OAAO,+CAChBN,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACxCE,OAAO,sCAAsC0B,KAAK,KAClDyD,WAAW,WAAWnF,OAAO,sCAAsCE,KAAK,MAAQ,KAC7EP,EAAOyF,QACTrE,SAASsE,SAASD,cAMnBiB,eAAeC,aAClBtG,OAAO,uBAAuBuG,QAE/BvG,OAAOe,UAAU4C,GAAG,QAAS,0CAA2C,WACvE6C,KAAOxG,OAAOiE,MACd1B,gCAAgCiE,KAAMA,KAAKxC,KAAK,eAG7ChE,OAAO,uBAAuBC,QAAUD,OAAO,uBAAuBC,SACzEZ,qBAEDW,OAAOe,UAAU4C,GAAG,SAAU,mCAAmC,WAE7B,iBADd3D,OAAO,kBAAmBiE,MAC3BrE,KAAK,MACxBI,OAAOiE,MAAMrB,SAASA,SAAS6D,KAAK,yCAAyC/E,OAE7E1B,OAAOiE,MAAMrB,SAASA,SAAS6D,KAAK,yCAAyCvG"}
1
+ {"version":3,"file":"cleantalk-admin-settings-page.min.js","sources":["cleantalk-admin-settings-page.js"],"sourcesContent":["jQuery(document).ready(function(){\n\n\t// Crunch for Right to Left direction languages\n\tif(document.getElementsByClassName('apbct_settings-title')[0]) {\n\t\tif(getComputedStyle(document.getElementsByClassName('apbct_settings-title')[0]).direction === 'rtl'){\n\t\t\tjQuery('.apbct_switchers').css('text-align', 'right');\n\t\t}\n\t}\n\n\t// Show/Hide access key\n jQuery('#apbct_showApiKey').on('click', function(){\n jQuery('.apbct_setting---apikey').val(jQuery('.apbct_setting---apikey').attr('key'));\n jQuery('.apbct_setting---apikey+div').show();\n jQuery(this).fadeOut(300);\n });\n\n\tvar d = new Date();\n\tjQuery('#ct_admin_timezone').val(d.getTimezoneOffset()/60*(-1));\n\t\n\t// GDPR modal window\n\tjQuery('#apbct_gdpr_open_modal').on('click', function(){\n\t\tjQuery('#gdpr_dialog').dialog({\n\t\t\tmodal:true, \n\t\t\tshow: true,\n\t\t\tposition: { my: \"center\", at: \"center\", of: window },\n\t\t\twidth: +(jQuery('#wpbody').width() / 100 * 70), // 70% of #wpbody\n\t\t\theight: 'auto',\n\t\t\ttitle: 'GDPR compliance',\n\t\t\tdraggable: false,\n\t\t\tresizable: false,\n\t\t\tcloseText: \"Close\",\n\t\t});\n\t});\n\n\t// Key KEY automatically\n\tjQuery('#apbct_button__get_key_auto').on('click', function(){\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_get_key_auto'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('apbct_button__get_key_auto' ),\n\t\t\t\tspinner: jQuery('#apbct_button__get_key_auto .apbct_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#apbct_button__get_key_auto .apbct_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_button__get_key_auto .apbct_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\tif(result.getTemplates) {\n\t\t\t\t\t\tcleantalkModal.loaded = result.getTemplates;\n\t\t\t\t\t\tcleantalkModal.open();\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Import settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_import_button', function(){\n\t\tjQuery('#apbct-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_import'));\n\t\tvar templateNameInput = jQuery('#apbct_settings_templates_import_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tvar data = {\n\t\t\t'template_id' : optionSelected.data('id'),\n\t\t\t'template_name' : optionSelected.data('name'),\n\t\t\t'settings' : optionSelected.data('settings')\n\t\t};\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_import', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_import_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_import_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_import_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Export settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_export_button', function(){\n\t\tjQuery('#apbct-ajax-result').remove();\n\t\tvar optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_export'));\n\t\tvar templateNameInput = jQuery('#apbct_settings_templates_export_name');\n\t\ttemplateNameInput.css('border-color', 'inherit');\n\t\tif( typeof optionSelected.data('id') === \"undefined\" ) {\n\t\t\tconsole.log( 'Attribute \"data-id\" not set for the option.' );\n\t\t\treturn;\n\t\t}\n\t\tif( optionSelected.data('id') === 'new_template' ) {\n\t\t\tvar templateName = templateNameInput.val();\n\t\t\tif( templateName === '' ) {\n\t\t\t\ttemplateNameInput.css('border-color', 'red');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\t'template_name' : templateName\n\t\t\t}\n\t\t} else {\n\t\t\tvar data = {\n\t\t\t\t'template_id' : optionSelected.data('id')\n\t\t\t}\n\t\t}\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_export', data: data},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_export_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_export_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_export_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Reset settings\n\tjQuery( document ).on('click', '#apbct_settings_templates_reset_button', function(){\n\t\tvar button = this;\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'settings_templates_reset'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: button,\n\t\t\t\tspinner: jQuery('#apbct_settings_templates_reset_button .apbct_preloader_button' ),\n\t\t\t\tnotJson: true,\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif(result.success) {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='success'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t\tjQuery('#apbct_settings_templates_reset_button .apbct_success').show(300);\n\t\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_settings_templates_reset_button .apbct_success').hide(300);}, 2000);\n\t\t\t\t\t\tdocument.addEventListener(\"cleantalkModalClosed\", function( e ) {\n\t\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetTimeout(function(){cleantalkModal.close()}, 2000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( \"<p id='apbct-ajax-result' class='error'>\" + result.data + \"</p>\" ).insertAfter( jQuery(button) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\t// Sync button\n\tjQuery('#apbct_button__sync').on('click', function(){\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_sync'},\n\t\t\t{\n\t\t\t\ttimeout: 25000,\n\t\t\t\tbutton: document.getElementById('apbct_button__sync' ),\n\t\t\t\tspinner: jQuery('#apbct_button__sync .apbct_preloader_button' ),\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tjQuery('#apbct_button__sync .apbct_success').show(300);\n\t\t\t\t\tsetTimeout(function(){jQuery('#apbct_button__sync .apbct_success').hide(300);}, 2000);\n\t\t\t\t\tif(result.reload)\n\t\t\t\t\t\tdocument.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n\n\tif( ctSettingsPage.key_changed )\n\t\tjQuery('#apbct_button__sync').click();\n\n\tjQuery(document).on('click', '.apbct_settings-long_description---show', function(){\n\t\tself = jQuery(this);\n\t\tapbct_settings__showDescription(self, self.attr('setting'));\n\t});\n\n\tif (jQuery('#cleantalk_notice_renew').length || jQuery('#cleantalk_notice_trial').length)\n\t\tapbct_banner_check();\n\n\tjQuery(document).on('change', '#apbct_settings_templates_export',function(){\n\t\tvar optionSelected = jQuery(\"option:selected\", this);\n\t\tif ( optionSelected.data(\"id\") === 'new_template' ) {\n\t\t\tjQuery(this).parent().parent().find('#apbct_settings_templates_export_name').show();\n\t\t} else {\n\t\t\tjQuery(this).parent().parent().find('#apbct_settings_templates_export_name').hide();\n\t\t}\n\t});\n\t\n});\n\n/**\n * Checking current account status for renew notice\n */\nfunction apbct_banner_check() {\n\tvar bannerChecker = setInterval( function() {\n\t\tapbct_admin_sendAJAX(\n\t\t\t{action: 'apbct_settings__check_renew_banner'},\n\t\t\t{\n\t\t\t\tcallback: function(result, data, params, obj){\n\t\t\t\t\tif (result.close_renew_banner) {\n\t\t\t\t\t\tif (jQuery('#cleantalk_notice_renew').length)\n\t\t\t\t\t\t\tjQuery('#cleantalk_notice_renew').hide('slow');\n\t\t\t\t\t\tif (jQuery('#cleantalk_notice_trial').length)\n\t\t\t\t\t\t\tjQuery('#cleantalk_notice_trial').hide('slow');\n\t\t\t\t\t\tclearInterval(bannerChecker);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}, 900000);\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector passed in string separated by ,\n *\n * @param elems\n * @returns {*}\n */\nfunction apbct_get_elems(elems){\n elems = elems.split(',');\n for( var i=0, len = elems.length, tmp; i < len; i++){\n tmp = jQuery('#'+elems[i]);\n elems[i] = tmp.length === 0 ? jQuery('.'+elems[i]) : tmp;\n }\n return elems;\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector could be passed in a string ( separated by comma ) or in array ( [ elem1, elem2, ... ] )\n *\n * @param elems string|array\n * @returns array\n */\nfunction apbct_get_elems__native(elems){\n\n\t// Make array from a string\n\tif(typeof elems === 'string')\n\t\telems = elems.split(',');\n\n\tvar out = [];\n\n\telems.forEach(function(elem, i, arr) {\n\n\t\t// try to get elements with such IDs\n\t\tvar tmp = document.getElementById(elem);\n\t\tif (tmp !== null){\n\t\t\tout.push( tmp[key] );\n\t\t\treturn;\n\t\t}\n\n\t\t// try to get elements with such class name\n\t\t// write each elem from collection to new element of output array\n\t\ttmp = document.getElementsByClassName(elem);\n\t\tif (tmp !== null && tmp.length !==0 ){\n\t\t\tfor(key in tmp){\n\t\t\t\tif( +key >= 0 ){\n\t\t\t\t\tout.push( tmp[key] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn out;\n}\n\nfunction apbct_show_hide_elem(elems){\n\telems = apbct_get_elems(elems);\n for( var i=0, len = elems.length; i < len; i++){\n elems[i].each(function (i, elem) {\n elem = jQuery(elem);\n var label = elem.next('label') || elem.prev('label') || null;\n if (elem.is(\":visible\")) {\n elem.hide();\n if (label) label.hide();\n } else {\n elem.show();\n if (label) label.show();\n }\n });\n }\n}\n\n/**\n * Settings dependences. Switch|toggle depended elements state (disabled|enabled)\n * Recieve list of selectors ( without class mark (.) or id mark (#) )\n *\n * @param ids string|array Selectors\n * @param enable\n */\nfunction apbctSettingsDependencies(ids, enable){\n\n\n\tenable = ! isNaN(enable) ? enable : null;\n\n\t// Get elements\n\tvar elems = apbct_get_elems__native( ids );\n\n\telems.forEach(function(elem, i, arr){\n\n\t\tconsole.log( elem.getAttribute('id') );\n\n\t\tvar do_disable = function(){elem.setAttribute('disabled', 'disabled');},\n\t\t\tdo_enable = function(){elem.removeAttribute('disabled');};\n\n\t\t// Set defined state\n\t\tif(enable === null) // Set\n\t\t\tenable = elem.getAttribute('disabled') === null ? 0 : 1;\n\n\t\tenable === 1 ? do_enable() : do_disable();\n\n\t\tif( elem.getAttribute('apbct_children') !== null){\n\t\t\tvar state = apbctSettingsDependencies_getState( elem ) && enable;\n\t\t\tif( state !== null ) {\n\t\t\t\tapbctSettingsDependencies( elem.getAttribute('apbct_children'), state );\n\t\t\t}\n\t\t}\n\n\t});\n}\n\nfunction apbctSettingsDependencies_getState( elem ){\n\n\tvar state;\n\n\tswitch ( elem.getAttribute( 'type' ) ){\n\t\tcase 'checkbox':\n\t\t\tstate = +elem.checked;\n\t\t\tbreak;\n\t\tcase 'radio':\n\t\t\tstate = +(+elem.getAttribute('value') === 1);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tstate = null;\n\t}\n\n\treturn state;\n}\n\nfunction apbct_settings__showDescription(label, setting_id){\n\n\tvar remove_desc_func = function(e){\n\t\tif(typeof e === 'undefined' || ((jQuery(e.target).parent('.apbct_long_desc').length == 0 || jQuery(e.target).hasClass('apbct_long_desc__cancel')) && !jQuery(e.target).hasClass('apbct_long_description__show'))){\n\t\t\tjQuery('.apbct_long_desc').remove();\n\t\t\tjQuery(document).off('click', remove_desc_func);\n\t\t}\n\t};\n\n\tremove_desc_func();\n\n\tlabel.after(\"<div id='apbct_long_desc__\"+setting_id+\"' class='apbct_long_desc'></div>\");\n\tvar obj = jQuery('#apbct_long_desc__'+setting_id);\n\tobj.append(\"<i class='icon-spin1 animate-spin'></i>\")\n\t\t.append(\"<div class='apbct_long_desc__angle'></div>\")\n\t\t.css({\n\t\t\ttop: label.position().top - 5,\n\t\t\tleft: label.position().left + 25\n\t\t});\n\n\n\tapbct_admin_sendAJAX(\n\t\t{action: 'apbct_settings__get_description', setting_id: setting_id},\n\t\t{\n\t\t\tspinner: obj.children('img'),\n\t\t\tcallback: function(result, data, params, obj){\n\n\t\t\t\tobj.empty()\n\t\t\t\t\t.append(\"<div class='apbct_long_desc__angle'></div>\")\n\t\t\t\t\t.append(\"<i class='apbct_long_desc__cancel icon-cancel'></i>\")\n\t\t\t\t\t.append(\"<h3 class='apbct_long_desc__title'>\"+result.title+\"</h3>\")\n\t\t\t\t\t.append(\"<p>\"+result.desc+\"</p>\");\n\n\t\t\t\tjQuery(document).on('click', remove_desc_func);\n\t\t\t}\n\t\t},\n\t\tobj\n\t);\n}"],"names":["apbct_banner_check","bannerChecker","setInterval","apbct_admin_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","isNaN","console","log","getAttribute","state","removeAttribute","setAttribute","apbctSettingsDependencies_getState","checked","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","timeout","button","setTimeout","reload","location","getTemplates","cleantalkModal","loaded","open","addEventListener","optionSelected","template_id","template_name","settings","notJson","success","insertAfter","close","templateNameInput","templateName","ctSettingsPage","key_changed","click","self","find"],"mappings":"AA0NA,SAASA,qBACR,IAAIC,EAAgBC,YAAa,WAChCC,qBACC,CAACC,OAAQ,sCACT,CACCC,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACpCH,EAAOI,qBACNC,OAAO,2BAA2BC,QACrCD,OAAO,2BAA2BE,KAAK,QACpCF,OAAO,2BAA2BC,QACrCD,OAAO,2BAA2BE,KAAK,QACxCC,cAAcb,QAKhB,KAUJ,SAASc,gBAAgBC,GAErB,IAAK,IAA6BC,EAAzBC,EAAE,EAAGC,GADdH,EAAQA,EAAMI,MAAM,MACMR,OAAaM,EAAIC,EAAKD,IAC5CD,EAAMN,OAAO,IAAIK,EAAME,IACvBF,EAAME,GAAoB,IAAfD,EAAIL,OAAeD,OAAO,IAAIK,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,EAAIL,OACvB,IAAIiB,OAAOZ,EACE,IAAPY,KACJP,EAAIQ,KAAMb,EAAIY,WAVhBP,EAAIQ,KAAMb,EAAIY,QAgBTP,EAGR,SAASS,qBAAqBf,GAE1B,IAAK,IAAIE,EAAE,EAAGC,GADjBH,EAAQD,gBAAgBC,IACKJ,OAAQM,EAAIC,EAAKD,IACvCF,EAAME,GAAGc,KAAK,SAAUd,EAAGM,GAEvB,IAAIS,GADJT,EAAOb,OAAOa,IACGU,KAAK,UAAYV,EAAKW,KAAK,UAAY,KACpDX,EAAKY,GAAG,aACRZ,EAAKX,OACDoB,GAAOA,EAAMpB,SAEjBW,EAAKa,OACDJ,GAAOA,EAAMI,UAajC,SAASC,0BAA0BC,EAAKC,GAGvCA,EAAWC,MAAMD,GAAmB,KAATA,EAGfnB,wBAAyBkB,GAE/BhB,QAAQ,SAASC,EAAMN,EAAGO,GAE/BiB,QAAQC,IAAKnB,EAAKoB,aAAa,OAE/B,IAUKC,EANS,OAAXL,IACFA,EAA2C,OAAlChB,EAAKoB,aAAa,YAAuB,EAAI,GAE5C,IAAXJ,EANyBhB,EAAKsB,gBAAgB,YADlBtB,EAAKuB,aAAa,WAAY,YASd,OAAxCvB,EAAKoB,aAAa,mBAEP,QADVC,EAAQG,mCAAoCxB,IAAUgB,IAEzDF,0BAA2Bd,EAAKoB,aAAa,kBAAmBC,KAOpE,SAASG,mCAAoCxB,GAE5C,IAAIqB,EAEJ,OAASrB,EAAKoB,aAAc,SAC3B,IAAK,WACJC,GAASrB,EAAKyB,QACd,MACD,IAAK,QACJJ,IAA0C,IAA/BrB,EAAKoB,aAAa,UAC7B,MACD,QACCC,EAAQ,KAGV,OAAOA,EAGR,SAASK,gCAAgCjB,EAAOkB,GAE/C,IAAIC,EAAmB,SAASC,QACf,IAANA,IAA6E,GAAtD1C,OAAO0C,EAAEC,QAAQC,OAAO,oBAAoB3C,SAAeD,OAAO0C,EAAEC,QAAQE,SAAS,4BAAgC7C,OAAO0C,EAAEC,QAAQE,SAAS,mCAC/K7C,OAAO,oBAAoB8C,SAC3B9C,OAAOe,UAAUgC,IAAI,QAASN,KAIhCA,IAEAnB,EAAM0B,MAAM,6BAA6BR,EAAW,oCACpD,IAAI1C,EAAME,OAAO,qBAAqBwC,GACtC1C,EAAImD,OAAO,2CACTA,OAAO,8CACPC,IAAI,CACJC,IAAK7B,EAAM8B,WAAWD,IAAM,EAC5BE,KAAM/B,EAAM8B,WAAWC,KAAO,KAIhC7D,qBACC,CAACC,OAAQ,kCAAmC+C,WAAYA,GACxD,CACCc,QAASxD,EAAIyD,SAAS,OACtB7D,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GAExCA,EAAI0D,QACFP,OAAO,8CACPA,OAAO,uDACPA,OAAO,sCAAsCtD,EAAO8D,MAAM,SAC1DR,OAAO,MAAMtD,EAAO+D,KAAK,QAE3B1D,OAAOe,UAAU4C,GAAG,QAASlB,KAG/B3C,GAjZFE,OAAOe,UAAU6C,MAAM,WAGnB7C,SAASE,uBAAuB,wBAAwB,IACoC,QAA3F4C,iBAAiB9C,SAASE,uBAAuB,wBAAwB,IAAI6C,WAC/E9D,OAAO,oBAAoBkD,IAAI,aAAc,SAK5ClD,OAAO,qBAAqB2D,GAAG,QAAS,WACpC3D,OAAO,2BAA2B+D,IAAI/D,OAAO,2BAA2BgE,KAAK,QAC7EhE,OAAO,+BAA+B0B,OACtC1B,OAAOiE,MAAMC,QAAQ,OAG5B,IAAIC,EAAI,IAAIC,KACZpE,OAAO,sBAAsB+D,IAAII,EAAEE,oBAAoB,IAAK,GAG5DrE,OAAO,0BAA0B2D,GAAG,QAAS,WAC5C3D,OAAO,gBAAgBsE,OAAO,CAC7BC,OAAM,EACN7C,MAAM,EACN0B,SAAU,CAAEoB,GAAI,SAAUC,GAAI,SAAUC,GAAIC,QAC5CC,OAAS5E,OAAO,WAAW4E,QAAU,IAAM,GAC3CC,OAAQ,OACRpB,MAAO,kBACPqB,WAAW,EACXC,WAAW,EACXC,UAAW,YAKbhF,OAAO,+BAA+B2D,GAAG,QAAS,WACjDnE,qBACC,CAACC,OAAQ,sBACT,CACCwF,QAAS,KACTC,OAAQnE,SAASC,eAAe,8BAChCsC,QAAStD,OAAO,uDAChBN,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACxCE,OAAO,8CAA8C0B,KAAK,KAC1DyD,WAAW,WAAWnF,OAAO,8CAA8CE,KAAK,MAAQ,KACrFP,EAAOyF,QACTrE,SAASsE,SAASD,SAChBzF,EAAO2F,eACTC,eAAeC,OAAS7F,EAAO2F,aAC/BC,eAAeE,OACf1E,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,iBASxBpF,OAAQe,UAAW4C,GAAG,QAAS,0CAA2C,WACzE3D,OAAO,sBAAsB8C,SAC7B,IAOIlD,EAKAsF,EAZAS,EAAiB3F,OAAO,kBAAmBA,OAAO,qCAC9BA,OAAO,yCACbkD,IAAI,eAAgB,gBACG,IAA9ByC,EAAe/F,KAAK,OAI3BA,EAAO,CACVgG,YAAgBD,EAAe/F,KAAK,MACpCiG,cAAkBF,EAAe/F,KAAK,QACtCkG,SAAaH,EAAe/F,KAAK,aAE9BsF,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BAA6BG,KAAMA,GAC5C,CACCqF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,mEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,0DAA0D0B,KAAK,KACtEyD,WAAW,WAAWnF,OAAO,0DAA0DE,KAAK,MAAQ,KACpGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,QA1BnGnD,QAAQC,IAAK,iDAkCfhC,OAAQe,UAAW4C,GAAG,QAAS,0CAA2C,WACzE3D,OAAO,sBAAsB8C,SAC7B,IAAI6C,EAAiB3F,OAAO,kBAAmBA,OAAO,qCAClDmG,EAAoBnG,OAAO,yCAE/B,GADAmG,EAAkBjD,IAAI,eAAgB,gBACG,IAA9ByC,EAAe/F,KAAK,MAA/B,CAIA,GAAkC,iBAA9B+F,EAAe/F,KAAK,MAA2B,CAClD,IAAIwG,EAAeD,EAAkBpC,MACrC,GAAqB,KAAjBqC,EAEH,YADAD,EAAkBjD,IAAI,eAAgB,OAGvC,IAAItD,EAAO,CACViG,cAAkBO,QAGfxG,EAAO,CACVgG,YAAgBD,EAAe/F,KAAK,OAGtC,IAAIsF,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BAA6BG,KAAMA,GAC5C,CACCqF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,mEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,0DAA0D0B,KAAK,KACtEyD,WAAW,WAAWnF,OAAO,0DAA0DE,KAAK,MAAQ,KACpGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,YAnCnGnD,QAAQC,IAAK,iDA2CfhC,OAAQe,UAAW4C,GAAG,QAAS,yCAA0C,WACxE,IAAIuB,EAASjB,KACbzE,qBACC,CAACC,OAAQ,4BACT,CACCwF,QAAS,KACTC,OAAQA,EACR5B,QAAStD,OAAO,kEAChB+F,SAAS,EACTrG,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACrCH,EAAOqG,SACThG,OAAQ,6CAA+CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,IAClGlF,OAAO,yDAAyD0B,KAAK,KACrEyD,WAAW,WAAWnF,OAAO,yDAAyDE,KAAK,MAAQ,KACnGa,SAAS2E,iBAAiB,uBAAwB,SAAUhD,GAC3D3B,SAASsE,SAASD,WAEnBD,WAAW,WAAWI,eAAeW,SAAU,MAE/ClG,OAAQ,2CAA6CL,EAAOC,KAAO,QAASqG,YAAajG,OAAOkF,SAQrGlF,OAAO,uBAAuB2D,GAAG,QAAS,WACzCnE,qBACC,CAACC,OAAQ,cACT,CACCwF,QAAS,KACTC,OAAQnE,SAASC,eAAe,sBAChCsC,QAAStD,OAAO,+CAChBN,SAAU,SAASC,EAAQC,EAAMC,EAAQC,GACxCE,OAAO,sCAAsC0B,KAAK,KAClDyD,WAAW,WAAWnF,OAAO,sCAAsCE,KAAK,MAAQ,KAC7EP,EAAOyF,QACTrE,SAASsE,SAASD,cAMnBiB,eAAeC,aAClBtG,OAAO,uBAAuBuG,QAE/BvG,OAAOe,UAAU4C,GAAG,QAAS,0CAA2C,WACvE6C,KAAOxG,OAAOiE,MACd1B,gCAAgCiE,KAAMA,KAAKxC,KAAK,eAG7ChE,OAAO,2BAA2BC,QAAUD,OAAO,2BAA2BC,SACjFZ,qBAEDW,OAAOe,UAAU4C,GAAG,SAAU,mCAAmC,WAE7B,iBADd3D,OAAO,kBAAmBiE,MAC3BrE,KAAK,MACxBI,OAAOiE,MAAMrB,SAASA,SAAS6D,KAAK,yCAAyC/E,OAE7E1B,OAAOiE,MAAMrB,SAASA,SAAS6D,KAAK,yCAAyCvG"}
js/cleantalk-admin.min.js CHANGED
@@ -1,2 +1,2 @@
1
- function apbct_admin_sendAJAX(n,o,t){var a=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,t=t||null,u=o.button||null,i=o.spinner||null,p=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()),u&&(u.setAttribute("disabled","disabled"),u.style.cursor="not-allowed"),i&&jQuery(i).css("display","inline"),jQuery.ajax({type:"POST",url:ctAdminCommon._ajax_url,data:n,async:e,success:function(e){u&&(u.removeAttribute("disabled"),u.style.cursor="pointer"),i&&jQuery(i).css("display","none"),r||(e=JSON.parse(e)),e.error?(setTimeout(function(){p&&p.fadeOut("slow")},1e3),alert("Error happens: "+(e.error||"Unkown"))):a&&(c?a.apply(l,c.concat(e,n,o,t)):a(e,n,o,t))},error:function(e,n,o){u&&(u.removeAttribute("disabled"),u.style.cursor="pointer"),i&&jQuery(i).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")});
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,s=o.timeout||15e3,t=t||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"),r||(e=JSON.parse(e)),e.error?(setTimeout(function(){d&&d.fadeOut("slow")},1e3),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){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){var n=jQuery(e.target).parent().attr("id");n&&apbct_admin_sendAJAX({action:"cleantalk_dismiss_notice",notice_id:n},{callback:null})})});
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');\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\talert('Error happens: ' + (result.error || 'Unkown'));\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","alert","apply","concat","jqXHR","textStatus","errorThrown","console","log","document","ready","on","ct_date","Date","getTime","ctSecure","location","protocol","cookie","toUTCString"],"mappings":"AAYA,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,QACxCd,IAASoB,EAASE,KAAKC,MAAMH,IAC9BA,EAAOI,OACTC,WAAW,WAAerB,GAAaA,EAAYsB,QAAQ,SAAY,KACvEC,MAAM,mBAAqBP,EAAOI,OAAS,YAExC5B,IACEE,EACHF,EAASgC,MAAO/B,EAAkBC,EAAgB+B,OAAQT,EAAQ3B,EAAMC,EAAQC,IAEhFC,EAASwB,EAAQ3B,EAAMC,EAAQC,KAInC6B,MAAO,SAASM,EAAOC,EAAYC,GAC/B9B,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAASU,OAAOV,GAASW,IAAI,UAAW,QAC3CmB,QAAQC,IAAI,oBACZD,QAAQC,IAAIJ,GACZG,QAAQC,IAAIH,GACZE,QAAQC,IAAIF,IAEb/B,QAASA,IAjEXY,OAAOsB,UAAUC,MAAM,WAGtBvB,OAAO,wBAAwBwB,GAAG,QAAS,SAAU,WACpD,IAAIC,EAAU,IAAIC,MAAK,IAAIA,MAAOC,UAAY,QAC1CC,EAAiC,WAAtBC,SAASC,SAAwB,WAAa,GAC7DR,SAASS,OAAS,iDAAmDN,EAAQO,cAAgB,iBAAmBJ,IAGjH5B,OAAO,mDAAmDC,IAAI,cAAc"}
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\talert('Error happens: ' + (result.error || 'Unkown'));\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","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,QACxCd,IAASoB,EAASE,KAAKC,MAAMH,IAC9BA,EAAOI,OACTC,WAAW,WAAerB,GAAaA,EAAYsB,QAAQ,SAAY,KACvEC,MAAM,mBAAqBP,EAAOI,OAAS,YAExC5B,IACEE,EACHF,EAASgC,MAAO/B,EAAkBC,EAAgB+B,OAAQT,EAAQ3B,EAAMC,EAAQC,IAEhFC,EAASwB,EAAQ3B,EAAMC,EAAQC,KAInC6B,MAAO,SAASM,EAAOC,EAAYC,GAC/B9B,IAAUA,EAAOmB,gBAAgB,YAAanB,EAAOS,MAAMC,OAAS,WACpET,GAASU,OAAOV,GAASW,IAAI,UAAW,QAC3CmB,QAAQC,IAAI,oBACZD,QAAQC,IAAIJ,GACZG,QAAQC,IAAIH,GACZE,QAAQC,IAAIF,IAEb/B,QAASA,IAxEXY,OAAOsB,UAAUC,MAAM,WAGtBvB,OAAO,wBAAwBwB,GAAG,QAAS,SAAU,WACpD,IAAIC,EAAU,IAAIC,MAAK,IAAIA,MAAOC,UAAY,QAC1CC,EAAiC,WAAtBC,SAASC,SAAwB,WAAa,GAC7DR,SAASS,OAAS,iDAAmDN,EAAQO,cAAgB,iBAAmBJ,IAGjH5B,OAAO,mDAAmDC,IAAI,cAAc,UAAUA,IAAI,UAAU,gBAEpGD,OAAO,QAAQwB,GAAG,QAAS,gCAAiC,SAASS,GACpE,IAAIC,EAAoBlC,OAAOiC,EAAEE,QAAQC,SAASC,KAAK,MACnDH,GACHvD,qBAAsB,CAAE2D,OAAW,2BAA4BC,UAAcL,GAAqB,CAAEnD,SAAa"}
lib/Cleantalk/Antispam/Integrations.php CHANGED
@@ -88,7 +88,11 @@ class Integrations
88
 
89
  if ($ct_result->allow == 0) {
90
  // Do blocking if it is a spam
91
- $this->integration->doBlock( $ct_result->comment );
 
 
 
 
92
  }
93
  } else {
94
  // @ToDo have to handle an error
88
 
89
  if ($ct_result->allow == 0) {
90
  // Do blocking if it is a spam
91
+ return $this->integration->doBlock( $ct_result->comment );
92
+ }
93
+
94
+ if($ct_result->allow != 0 && method_exists($this->integration, 'allow')) {
95
+ return $this->integration->allow();
96
  }
97
  } else {
98
  // @ToDo have to handle an error
lib/Cleantalk/Antispam/Integrations/ContactBank.php CHANGED
@@ -1,23 +1,23 @@
1
- <?php
2
-
3
-
4
- namespace Cleantalk\Antispam\Integrations;
5
-
6
-
7
- class ContactBank extends IntegrationBase
8
- {
9
-
10
- function getDataForChecking( $argument )
11
- {
12
- if( isset( $_REQUEST['param'] ) ) {
13
- parse_str( isset( $_REQUEST['data'] ) ? base64_decode( $_REQUEST['data'] ) : '', $form_data );
14
- return ct_get_fields_any($form_data);
15
- }
16
- return null;
17
- }
18
-
19
- function doBlock( $message )
20
- {
21
- die(json_encode(array('apbct' => array('blocked' => true, 'comment' => $message,)), JSON_HEX_QUOT | JSON_HEX_TAG));
22
- }
23
  }
1
+ <?php
2
+
3
+
4
+ namespace Cleantalk\Antispam\Integrations;
5
+
6
+
7
+ class ContactBank extends IntegrationBase
8
+ {
9
+
10
+ function getDataForChecking( $argument )
11
+ {
12
+ if( isset( $_REQUEST['param'] ) ) {
13
+ parse_str( isset( $_REQUEST['data'] ) ? base64_decode( $_REQUEST['data'] ) : '', $form_data );
14
+ return ct_get_fields_any($form_data);
15
+ }
16
+ return null;
17
+ }
18
+
19
+ function doBlock( $message )
20
+ {
21
+ die(json_encode(array('apbct' => array('blocked' => true, 'comment' => $message,)), JSON_HEX_QUOT | JSON_HEX_TAG));
22
+ }
23
  }
lib/Cleantalk/Antispam/Integrations/HappyForm.php CHANGED
@@ -20,10 +20,18 @@ class HappyForm extends IntegrationBase {
20
  }
21
 
22
  public function doBlock( $message ) {
 
 
 
 
 
 
 
 
 
 
23
 
24
- add_filter( 'happyforms_validate_submission', function( $is_valid, $request, $form ){
25
- return false;
26
- }, 1, 3 );
27
-
28
  }
29
  }
20
  }
21
 
22
  public function doBlock( $message ) {
23
+ wp_send_json_error( array(
24
+ 'html' => '<div class="happyforms-form happyforms-styles">
25
+ <h3 class="happyforms-form__title">Sample Form</h3>
26
+ <form action="" method="post" novalidate="true">
27
+ <div class="happyforms-flex"><div class="happyforms-message-notices">
28
+ <div class="happyforms-message-notice error">
29
+ <h2>' . $message . '</h2></div></div>
30
+ </form></div>'
31
+ ) );
32
+ }
33
 
34
+ public function allow() {
35
+ return true;
 
 
36
  }
37
  }
lib/Cleantalk/Antispam/Integrations/IntegrationBase.php CHANGED
@@ -1,11 +1,11 @@
1
- <?php
2
-
3
-
4
- namespace Cleantalk\Antispam\Integrations;
5
-
6
-
7
- abstract class IntegrationBase
8
- {
9
- abstract public function getDataForChecking( $argument );
10
- abstract public function doBlock( $message );
11
  }
1
+ <?php
2
+
3
+
4
+ namespace Cleantalk\Antispam\Integrations;
5
+
6
+
7
+ abstract class IntegrationBase
8
+ {
9
+ abstract public function getDataForChecking( $argument );
10
+ abstract public function doBlock( $message );
11
  }
lib/Cleantalk/ApbctWP/AdminNotices.php ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ namespace Cleantalk\ApbctWP;
5
+
6
+
7
+ class AdminNotices {
8
+
9
+ /**
10
+ * @var AdminNotices
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * @var array
16
+ */
17
+ const NOTICES = array(
18
+ 'notice_get_key_error',
19
+ 'notice_key_is_incorrect',
20
+ 'notice_trial',
21
+ 'notice_renew',
22
+ 'notice_incompatibility'
23
+ );
24
+
25
+ /**
26
+ * @var State
27
+ */
28
+ private $apbct;
29
+
30
+ /**
31
+ * @var bool
32
+ */
33
+ private $is_cleantalk_page;
34
+
35
+ /**
36
+ * @var string
37
+ */
38
+ private $settings_link;
39
+
40
+ /**
41
+ * @var string
42
+ */
43
+ private $user_token;
44
+
45
+ private function __construct()
46
+ {
47
+ global $apbct;
48
+ $this->apbct = $apbct;
49
+ $this->is_cleantalk_page = isset( $_GET['page'] ) && in_array( $_GET['page'], array( 'cleantalk', 'ct_check_spam', 'ct_check_users' ) );
50
+ $this->user_token = $this->apbct->user_token ? '&user_token=' . $this->apbct->user_token : '';
51
+
52
+ $self_owned_key = $this->apbct->moderate_ip == 0 && ! defined( 'CLEANTALK_ACCESS_KEY' );
53
+ $is_dashboard = is_network_admin() || is_admin();
54
+ $is_admin = current_user_can('activate_plugins');
55
+
56
+ if( $self_owned_key && $is_dashboard && $is_admin ) {
57
+
58
+ if( defined('DOING_AJAX') ) {
59
+
60
+ add_action( 'wp_ajax_cleantalk_dismiss_notice' , array( $this, 'set_notice_dismissed' ) );
61
+
62
+ } else {
63
+
64
+ foreach( self::NOTICES as $notice ) {
65
+ if( $this->is_cleantalk_page || ! $this->is_dismissed_notice( $notice ) ) {
66
+ add_action('admin_notices', array( $this, $notice ) );
67
+ add_action('network_admin_notices', array( $this, $notice ) );
68
+ }
69
+ }
70
+
71
+ add_filter( 'cleantalk_admin_bar__parent_node__after', array( $this, 'add_attention_mark' ), 20, 1 );
72
+
73
+ }
74
+
75
+ }
76
+
77
+ }
78
+
79
+ private static function get_instance()
80
+ {
81
+ if ( ! isset( self::$instance ) ) {
82
+ self::$instance = new static();
83
+ }
84
+ return self::$instance;
85
+ }
86
+
87
+ public static function show_admin_notices()
88
+ {
89
+ $admin_notices = self::get_instance();
90
+
91
+ if( is_network_admin() ) {
92
+ $site_url = get_site_option( 'siteurl' );
93
+ $site_url = preg_match( '/\/$/', $site_url ) ? $site_url : $site_url . '/';
94
+ $admin_notices->settings_link = $site_url . 'wp-admin/options-general.php?page=cleantalk';
95
+ } else {
96
+ $admin_notices->settings_link = 'options-general.php?page=cleantalk';
97
+ }
98
+ }
99
+
100
+ public static function get_notices()
101
+ {
102
+ return self::NOTICES;
103
+ }
104
+
105
+ public function notice_get_key_error()
106
+ {
107
+ if( $this->apbct->notice_show && ! empty( $this->apbct->errors['key_get'] ) && ! $this->apbct->white_label ){
108
+ $register_link = 'https://cleantalk.org/register?platform=wordpress&email=' . urlencode( ct_get_admin_email() ) . '&website=' . urlencode( get_option( 'siteurl' ) );
109
+ $content = sprintf(__("Unable to get Access key automatically: %s", 'cleantalk-spam-protect'), $this->apbct->errors['key_get']['error'] ) .
110
+ '<a target="_blank" style="margin-left: 10px" href="' . $register_link . '">' . esc_html__('Get the Access key', 'cleantalk-spam-protect') . '</a>';
111
+ $id = 'cleantalk_' . __FUNCTION__;
112
+ $this->generate_notice_html( $content, $id );
113
+ }
114
+ }
115
+
116
+ public function notice_key_is_incorrect()
117
+ {
118
+ if ( ( ! apbct_api_key__is_correct() && $this->apbct->moderate_ip == 0 ) && ! $this->apbct->white_label ){
119
+ $content = sprintf(__("Please enter Access Key in %s settings to enable anti spam protection!", 'cleantalk-spam-protect'), "<a href='{$this->settings_link}'>{$this->apbct->plugin_name}</a>");
120
+ $id = 'cleantalk_' . __FUNCTION__;
121
+ $this->generate_notice_html( $content, $id );
122
+ $this->apbct->notice_show = false;
123
+ }
124
+ }
125
+
126
+ public function notice_trial()
127
+ {
128
+ if ( $this->apbct->notice_show && $this->apbct->notice_trial == 1 && $this->apbct->moderate_ip == 0 && ! $this->apbct->white_label ) {
129
+ $content = sprintf(__("%s trial period ends, please upgrade to %s!", 'cleantalk-spam-protect'),
130
+ "<a href='{$this->settings_link}'>" . $this->apbct->plugin_name . "</a>",
131
+ "<a href=\"https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%20backend%20trial$this->user_token&cp_mode=antispam\" target=\"_blank\"><b>premium version</b></a>");
132
+ $additional_content = '<h4 style = "color: gray">' . esc_html__( 'Account status updates every 24 hours.', 'cleantalk-spam-protect' ) . '</h4>';
133
+ $id = 'cleantalk_' . __FUNCTION__;
134
+ $this->generate_notice_html( $content, $id, $additional_content );
135
+ $this->apbct->notice_show = false;
136
+ }
137
+ }
138
+
139
+ public function notice_renew()
140
+ {
141
+ if ( $this->apbct->notice_show && $this->apbct->notice_renew == 1 && $this->apbct->moderate_ip == 0 && ! $this->apbct->white_label ) {
142
+ $renew_link = "<a href=\"https://cleantalk.org/my/bill/recharge?utm_source=wp-backend&utm_medium=cpc&utm_campaign=WP%%20backend%%20renew$this->user_token&cp_mode=antispam\" target=\"_blank\">%s</a>";
143
+ $button_html = sprintf($renew_link, '<input type="button" class="button button-primary" value="'.__('RENEW ANTI-SPAM', 'cleantalk-spam-protect').'" />');
144
+ $link_html = sprintf($renew_link, "<b>".__('next year', 'cleantalk-spam-protect')."</b>");
145
+
146
+ $content = sprintf(__("Please renew your anti-spam license for %s.", 'cleantalk-spam-protect'), $link_html);
147
+ $additional_content = '<h4 style = "color: gray">' . esc_html__( 'Account status updates every 24 hours.', 'cleantalk-spam-protect' ) . '</h4>' . $button_html;
148
+ $id = 'cleantalk_' . __FUNCTION__;
149
+ $this->generate_notice_html( $content, $id, $additional_content );
150
+ $this->apbct->notice_show = false;
151
+ }
152
+ }
153
+
154
+ public function notice_incompatibility()
155
+ {
156
+ if( ! empty( $this->apbct->data['notice_incompatibility'] ) && $this->is_cleantalk_page && $this->apbct->settings['sfw__enabled'] ){
157
+ foreach ($this->apbct->data['notice_incompatibility'] as $notice) {
158
+ $this->generate_notice_html( $notice );
159
+ }
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Generate and output the notice HTML
165
+ *
166
+ * @param string $content Any HTML allowed
167
+ * @param string $id
168
+ * @param string $additional_content
169
+ */
170
+ private function generate_notice_html( $content, $id = '', $additional_content = '' )
171
+ {
172
+ $notice_classes = $this->is_cleantalk_page ? 'apbct-notice notice notice-error' : 'apbct-notice notice notice-error is-dismissible';
173
+ $notice_id = !empty( $id ) ? 'id="'. $id .'"' : '';
174
+
175
+ echo '<div class="' . $notice_classes . '" ' . $notice_id . '>
176
+ <h3>' . $content . '</h3>
177
+ ' . $additional_content . '
178
+ </div>';
179
+ }
180
+
181
+ /**
182
+ * Check dismiss status of the notice
183
+ *
184
+ * @param string $notice
185
+ * @return bool
186
+ */
187
+ private function is_dismissed_notice( $notice )
188
+ {
189
+ return (bool) get_option( 'cleantalk_' . $notice . '_dismissed' );
190
+ }
191
+
192
+ public function set_notice_dismissed() {
193
+
194
+ check_ajax_referer('ct_secret_nonce' );
195
+
196
+ if( ! isset( $_POST['notice_id'] ) ) {
197
+ wp_send_json_error( esc_html__( 'Wrong request.', 'cleantalk-spam-protect' ) );
198
+ }
199
+
200
+ $notice = sanitize_text_field( $_POST['notice_id'] );
201
+
202
+ if( in_array( str_replace( 'cleantalk_', '', $notice ), self::NOTICES, true ) ) {
203
+ if( update_option( $notice . '_dismissed', 1 ) ) {
204
+ wp_send_json_success();
205
+ } else {
206
+ wp_send_json_error( esc_html__( 'Notice status not updated.', 'cleantalk-spam-protect' ) );
207
+ }
208
+ } else {
209
+ wp_send_json_error( esc_html__( 'Notice name is not allowed.', 'cleantalk-spam-protect' ) );
210
+ }
211
+
212
+ }
213
+
214
+ public function add_attention_mark( $after ) {
215
+ if( $this->apbct->notice_show ) {
216
+ return $after . '<i class="icon-attention-alt"></i>';
217
+ }
218
+ return $after;
219
+ }
220
+
221
+ }
lib/Cleantalk/ApbctWP/Firewall/AntiCrawler.php CHANGED
@@ -436,7 +436,7 @@ class AntiCrawler extends \Cleantalk\Common\Firewall\FirewallModule{
436
  $parse_referer = parse_url( Server::get( 'HTTP_REFERER' ) );
437
  $is_redirect = Server::get( 'HTTP_HOST' ) !== $parse_referer['host'];
438
  }
439
- return http_response_code() == 301 || $is_redirect;
440
  }
441
 
442
  private function is_cloudflare()
436
  $parse_referer = parse_url( Server::get( 'HTTP_REFERER' ) );
437
  $is_redirect = Server::get( 'HTTP_HOST' ) !== $parse_referer['host'];
438
  }
439
+ return http_response_code() === 301 || http_response_code() === 302 || $is_redirect;
440
  }
441
 
442
  private function is_cloudflare()
lib/Cleantalk/ApbctWP/Firewall/SFW.php CHANGED
@@ -155,7 +155,7 @@ class SFW extends \Cleantalk\Common\Firewall\FirewallModule {
155
 
156
  $result_entry = array(
157
  'ip' => $current_ip,
158
- 'network' => long2ip( $db_result['network'] ) . '/' . Helper::ip__mask__long_to_number( $db_result['mask'] ),
159
  'is_personal' => $db_result['source'],
160
  );
161
 
@@ -515,23 +515,26 @@ class SFW extends \Cleantalk\Common\Firewall\FirewallModule {
515
 
516
  if( empty( $result['error'] ) ){
517
 
518
- if( ! empty( $result['file_url'] ) ){
519
-
520
- $data = Helper::http__get_data_from_remote_gz__and_parse_csv( $result['file_url'] );
521
-
522
- if( empty( $data['error'] ) ){
523
-
524
- return array(
525
- 'multifile_url' => trim( $result['file_url'] ),
526
- 'useragent_url' => trim( $result['file_ua_url'] ),
527
- 'file_urls' => $data,
528
- 'file_ck_url' => trim( $result['file_ck_url'] ),
529
- );
530
-
531
- }else
532
- return array( 'error' => 'FW. Get multifile. ' . $data['error'] );
 
 
 
533
  }else
534
- return array( 'error' => 'FW. Get multifile. BAD_RESPONSE' );
535
  }else
536
  return $result;
537
  }
@@ -606,8 +609,12 @@ class SFW extends \Cleantalk\Common\Firewall\FirewallModule {
606
 
607
  // And delete all 127.0.0.1 entries for local hosts
608
  }else{
609
- global $wpdb;
610
  $wpdb->query( 'DELETE FROM ' . $db__table__data . ' WHERE network = ' . ip2long( '127.0.0.1' ) . ';' );
 
 
 
 
611
  }
612
  }
613
 
155
 
156
  $result_entry = array(
157
  'ip' => $current_ip,
158
+ 'network' => Helper::ip__long2ip( $db_result['network'] ) . '/' . Helper::ip__mask__long_to_number( $db_result['mask'] ),
159
  'is_personal' => $db_result['source'],
160
  );
161
 
515
 
516
  if( empty( $result['error'] ) ){
517
 
518
+ if( empty( $result['file_url'] ) )
519
+ return array( 'error' => 'No file_url parameter provided.' );
520
+ if( empty( $result['file_ua_url'] ) )
521
+ return array( 'error' => 'No file_ua_url parameter provided.' );
522
+ if( empty( $result['file_ck_url'] ) )
523
+ return array( 'error' => 'No file_ck_url parameter provided.' );
524
+
525
+ $data = Helper::http__get_data_from_remote_gz__and_parse_csv( $result['file_url'] );
526
+
527
+ if( empty( $data['error'] ) ){
528
+
529
+ return array(
530
+ 'multifile_url' => trim( $result['file_url'] ),
531
+ 'useragent_url' => trim( $result['file_ua_url'] ),
532
+ 'file_urls' => $data,
533
+ 'file_ck_url' => trim( $result['file_ck_url'] ),
534
+ );
535
+
536
  }else
537
+ return array( 'error' => $data['error'] );
538
  }else
539
  return $result;
540
  }
609
 
610
  // And delete all 127.0.0.1 entries for local hosts
611
  }else{
612
+ global $wpdb, $apbct;
613
  $wpdb->query( 'DELETE FROM ' . $db__table__data . ' WHERE network = ' . ip2long( '127.0.0.1' ) . ';' );
614
+ if( $wpdb->rows_affected > 0 ) {
615
+ $apbct->fw_stats['expected_networks_count'] -= $wpdb->rows_affected;
616
+ $apbct->save( 'fw_stats' );
617
+ }
618
  }
619
  }
620
 
lib/Cleantalk/Common/Compatibility.php CHANGED
@@ -2,8 +2,6 @@
2
 
3
  namespace Cleantalk\Common;
4
 
5
- use Cleantalk\ApbctWP\CleantalkSettingsTemplates;
6
-
7
  /**
8
  * CleanTalk Compatibility class.
9
  *
@@ -34,15 +32,11 @@ class Compatibility
34
  global $apbct;
35
 
36
  if( $this->notices ){
37
-
38
- // @todo save previous setting and restore it once the problem is gone
39
- $apbct->settings['sfw__enabled'] = 0;
40
- $apbct->save('settings');
41
-
42
  $apbct->data['notice_incompatibility'] = $this->notices;
43
  }else{
44
  $apbct->data['notice_incompatibility'] = array();
45
  }
 
46
  }
47
 
48
  /**
2
 
3
  namespace Cleantalk\Common;
4
 
 
 
5
  /**
6
  * CleanTalk Compatibility class.
7
  *
32
  global $apbct;
33
 
34
  if( $this->notices ){
 
 
 
 
 
35
  $apbct->data['notice_incompatibility'] = $this->notices;
36
  }else{
37
  $apbct->data['notice_incompatibility'] = array();
38
  }
39
+ $apbct->saveData();
40
  }
41
 
42
  /**
lib/Cleantalk/Common/Helper.php CHANGED
@@ -959,4 +959,18 @@ class Helper
959
  }
960
  return $headers;
961
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
962
  }
959
  }
960
  return $headers;
961
  }
962
+
963
+ /**
964
+ * Its own implementation of the native method long2ip()
965
+ *
966
+ * @return string
967
+ */
968
+ public static function ip__long2ip( $ipl32 ) {
969
+ $ip[0] = ( $ipl32 >> 24 ) & 255;
970
+ $ip[1] = ( $ipl32 >> 16 ) & 255;
971
+ $ip[2] = ( $ipl32 >> 8 ) & 255;
972
+ $ip[3] = $ipl32 & 255;
973
+
974
+ return implode( '.', $ip );
975
+ }
976
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: spam, antispam, anti-spam, comments, firewall
4
  Requires at least: 3.0
5
  Tested up to: 5.7
6
  Requires PHP: 5.6
7
- Stable tag: 5.159.3
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
@@ -568,9 +568,40 @@ If your website has forms that send data to external sources, you can enable opt
568
  8. CleanTalk's dashboard update link.
569
  9. Auto update confirmation.
570
  10. Website's options.
 
 
571
 
572
  == Changelog ==
573
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
574
  = 5.159.3 Jun 15 2021 =
575
  * Fix: Admin bar. Conflict with previous version of Security by Cleantalk.
576
 
4
  Requires at least: 3.0
5
  Tested up to: 5.7
6
  Requires PHP: 5.6
7
+ Stable tag: 5.159.5
8
  License: GPLv2
9
 
10
  Spam protection, anti-spam, firewall, premium plugin. No spam comments & users, no spam contact form & WooCommerce anti-spam.
568
  8. CleanTalk's dashboard update link.
569
  9. Auto update confirmation.
570
  10. Website's options.
571
+ 11. CleanTalk's dashboard.
572
+ 12. SpamFireWall log.
573
 
574
  == Changelog ==
575
 
576
+ = 5.159.5 Jun 24 2021 =
577
+ * New: Admin bar. Attention mark added.
578
+ * Upd: Admin notices have been rebuilt.
579
+ * Upd: Integrations with HappyForms updated.
580
+ * Fix: Skip fluentform multistep request.
581
+ * Fix: Correct fluent_form skip name.
582
+ * Fix: Admin notices. Trial and renew notices ID attributes renamed.
583
+ * Fix: Admin bar. Trial notice font color changed.
584
+ * Fix: Admin bar. Show admin bar without api key.
585
+ * Fix: Admin bar. Show attention badge if the api key is empty.
586
+ * Fix: AC. Skip checking on 302 redirects.
587
+ * Fix: Added IF NOT EXISTS after ADD COLUMN in cleantalk-updater.php
588
+ * Fix: Removed ADD PRIMARY KEY from apbct_update_to_5_146_4
589
+ * Fix: Removed apbct_update_to_5_146_4
590
+ * Fix: Checking output parameters of API-method get_2s_blacklists_db.
591
+ * Fix: SFW. Writing exclusions fixed.
592
+ * Fix: Integration. GF names detection fixed.
593
+ * Fix: Integration. WPForms nicknames detecting fixed.
594
+ * Fix. SFW. Updating fixed.
595
+ * Fix: Excluding REST API requests from check.
596
+ * Fix. Admin notices. Incompatibility notice fixed.
597
+ * Fix. Compatibility. Notice saving fixed.
598
+ * Fix. Compatibility. Prevent disabling SFW on incompatibility detected.
599
+ * Fix. Compatibility. SFW option is no longer disabled on incompatibility detected.
600
+ * Fix. Admin bar. Reset counters fixed.
601
+
602
+ = 5.159.4 Jun 17 2021 =
603
+ * Fix: Admin bar. PHP error.
604
+
605
  = 5.159.3 Jun 15 2021 =
606
  * Fix: Admin bar. Conflict with previous version of Security by Cleantalk.
607