Comments – wpDiscuz - Version 5.0.6

Version Description

Download this release

Release Info

Developer AdvancedCoding
Plugin Icon 128x128 Comments – wpDiscuz
Version 5.0.6
Comparing to
See all releases

Code changes from version 5.0.5 to 5.0.6

Files changed (34) hide show
  1. assets/js/wpdiscuz-options.js +16 -0
  2. assets/js/wpdiscuz.js +14 -21
  3. assets/third-party/autogrow/index.html +0 -0
  4. assets/third-party/colorpicker/index.html +0 -0
  5. assets/third-party/contenthover/index.html +0 -0
  6. assets/third-party/font-awesome-5.0.6/css/index.html +0 -0
  7. assets/third-party/font-awesome-5.0.6/index.html +0 -0
  8. assets/third-party/font-awesome-5.0.6/webfonts/index.html +0 -0
  9. assets/third-party/fontawesome-iconpicker/css/index.html +0 -0
  10. assets/third-party/fontawesome-iconpicker/index.html +0 -0
  11. assets/third-party/fontawesome-iconpicker/js/index.html +0 -0
  12. assets/third-party/lity/index.html +0 -0
  13. assets/third-party/quicktags/index.html +0 -0
  14. assets/third-party/wpdcookiejs/index.html +0 -0
  15. assets/third-party/wpdcookiejs/js-cookie.js +0 -165
  16. class.WpdiscuzCore.php +35 -28
  17. forms/wpdFormAttr/Field/DefaultField/Email.php +2 -1
  18. forms/wpdFormAttr/Field/DefaultField/Name.php +2 -1
  19. forms/wpdFormAttr/Field/DefaultField/Submit.php +24 -22
  20. forms/wpdFormAttr/Field/DefaultField/Website.php +3 -2
  21. forms/wpdFormAttr/Field/Field.php +2 -0
  22. includes/class.WpdiscuzDBManager.php +3 -3
  23. includes/interface.WpDiscuzConstants.php +0 -1
  24. languages/wpdiscuz.pot +225 -203
  25. options/class.WpdiscuzOptions.php +1 -0
  26. options/class.WpdiscuzOptionsSerialized.php +21 -5
  27. options/html-options.php +1 -1
  28. options/options-layouts/settings-addons.php +1 -1
  29. options/options-layouts/settings-cache.php +2 -2
  30. options/options-layouts/settings-form.php +15 -0
  31. readme.txt +19 -11
  32. templates/comment/comment-form.php +2 -6
  33. utils/class.WpdiscuzHelper.php +0 -7
  34. utils/class.WpdiscuzOptimizationHelper.php +5 -7
assets/js/wpdiscuz-options.js CHANGED
@@ -153,4 +153,20 @@ jQuery(document).ready(function ($) {
153
  $('#wpd-disable-addons').click(function () {
154
  location.href = $('#wpd-disable-addons-action').val();
155
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  });
153
  $('#wpd-disable-addons').click(function () {
154
  location.href = $('#wpd-disable-addons-action').val();
155
  });
156
+
157
+ $('#generateAntispamKey').click(function () {
158
+ $('#antispamKey').val(uniqueKey(32));
159
+ });
160
+
161
+ function uniqueKey(length) {
162
+ var text = "";
163
+ var possible = "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-=";
164
+
165
+ for (var i = 0; i < length; i++)
166
+ text += possible.charAt(Math.floor(Math.random() * possible.length));
167
+
168
+ return text;
169
+ }
170
+
171
+
172
  });
assets/js/wpdiscuz.js CHANGED
@@ -1,3 +1,4 @@
 
1
  jQuery(document).ready(function ($) {
2
  $('body').addClass('wpdiscuz_' + wpdiscuzAjaxObj.wpdiscuz_options.version);
3
 
@@ -48,7 +49,6 @@ jQuery(document).ready(function ($) {
48
  });
49
 
50
  if ($('.wc_main_comm_form').length) {
51
- setCookieInForm();
52
  wpdiscuzReplaceValidationUI($('.wc_main_comm_form')[0]);
53
  }
54
  $(document).delegate('.wc-reply-button', 'click', function () {
@@ -59,7 +59,6 @@ jQuery(document).ready(function ($) {
59
  cloneSecondaryForm($(this));
60
  }
61
  $(this).toggleClass('wc-cta-active');
62
- setCookieInForm();
63
  });
64
 
65
  $(document).delegate('.wc-comment-img-link', 'click', function () {
@@ -101,10 +100,6 @@ jQuery(document).ready(function ($) {
101
  }
102
  });
103
 
104
- $(document).delegate('.wpdiscuz-nofollow,.wc_captcha_refresh_img,.wc-toggle,.wc-load-more-link', 'click', function (e) {
105
- e.preventDefault();
106
- });
107
-
108
  $(document).delegate('.wc-toggle', 'click', function () {
109
  var uniqueID = getUniqueID($(this), 0);
110
  var toggle = $(this);
@@ -222,7 +217,7 @@ jQuery(document).ready(function ($) {
222
  $(currentSubmitBtn).removeClass('wc_not_clicked');
223
  var data = new FormData();
224
  data.append('action', 'addComment');
225
- data.append('antispamKey', wpdiscuzAjaxObj.wpdiscuz_options.antispamKey);
226
  var inputs = $(":input", wcForm);
227
  inputs.each(function () {
228
  if (this.name != '' && this.type != 'checkbox' && this.type != 'radio') {
@@ -326,7 +321,7 @@ jQuery(document).ready(function ($) {
326
  wpdiscuzRedirect(obj);
327
  addCookie(wcForm, obj);
328
  wcForm.get(0).reset();
329
- setCookieInForm();
330
  var currTArea = $('.wc_comment', wcForm);
331
  currTArea.css('height', '72px');
332
  setTextareaCharCount(currTArea, commentTextMaxLength);
@@ -370,7 +365,7 @@ jQuery(document).ready(function ($) {
370
  var data = new FormData();
371
  data.append('action', 'checkNotificationType');
372
  data.append('comment_id', obj.new_comment_id);
373
- data.append('email', obj.user_email);
374
  data.append('isParent', obj.is_main);
375
  var ajaxObject = getAjaxObj('', data);
376
  ajaxObject.done(function (response) {
@@ -400,15 +395,15 @@ jQuery(document).ready(function ($) {
400
  }
401
  }
402
 
403
- function setCookieInForm() {
404
- if (Cookies.get('comment_author_' + wpdiscuzCookiehash) && Cookies.get('comment_author_' + wpdiscuzCookiehash).indexOf('Anonymous') < 0) {
405
- $('.wc_comm_form .wc_name').val(decodeURIComponent(Cookies.get('comment_author_' + wpdiscuzCookiehash)));
406
  }
407
- if (Cookies.get('comment_author_email_' + wpdiscuzCookiehash) && Cookies.get('comment_author_email_' + wpdiscuzCookiehash).indexOf('@example.com') < 0) {
408
- $('.wc_comm_form .wc_email').val(decodeURIComponent(Cookies.get('comment_author_email_' + wpdiscuzCookiehash)));
409
  }
410
- if (Cookies.get('comment_author_url_' + wpdiscuzCookiehash)) {
411
- $('.wc_comm_form .wc_website').val(decodeURIComponent(Cookies.get('comment_author_url_' + wpdiscuzCookiehash)));
412
  }
413
  }
414
 
@@ -423,7 +418,7 @@ jQuery(document).ready(function ($) {
423
  if ($('.wc_name', wcForm).val()) {
424
  name = $('.wc_name', wcForm).val();
425
  } else {
426
- name = obj.user_name;
427
  }
428
  if (storeCommenterData == null) {
429
  Cookies.set('comment_author_email_' + wpdiscuzCookiehash, email);
@@ -950,13 +945,11 @@ jQuery(document).ready(function ($) {
950
  }
951
 
952
  function getLastParentID() {
953
- var url = $('.wc-load-more-link').attr("href");
954
- return url.substring(url.lastIndexOf('=') + 1);
955
  }
956
 
957
  function setLastParentID(lastParentID) {
958
- var url = $('.wc-load-more-link').attr("href");
959
- $('.wc-load-more-link').attr("href", url.replace(/[\d]+$/m, lastParentID));
960
  if (commentListLoadType != 2) {
961
  $('.wpdiscuz-comment-pagination').show();
962
  }
1
+ ;
2
  jQuery(document).ready(function ($) {
3
  $('body').addClass('wpdiscuz_' + wpdiscuzAjaxObj.wpdiscuz_options.version);
4
 
49
  });
50
 
51
  if ($('.wc_main_comm_form').length) {
 
52
  wpdiscuzReplaceValidationUI($('.wc_main_comm_form')[0]);
53
  }
54
  $(document).delegate('.wc-reply-button', 'click', function () {
59
  cloneSecondaryForm($(this));
60
  }
61
  $(this).toggleClass('wc-cta-active');
 
62
  });
63
 
64
  $(document).delegate('.wc-comment-img-link', 'click', function () {
100
  }
101
  });
102
 
 
 
 
 
103
  $(document).delegate('.wc-toggle', 'click', function () {
104
  var uniqueID = getUniqueID($(this), 0);
105
  var toggle = $(this);
217
  $(currentSubmitBtn).removeClass('wc_not_clicked');
218
  var data = new FormData();
219
  data.append('action', 'addComment');
220
+ data.append('ahk', wpdiscuzAjaxObj.wpdiscuz_options.ahk);
221
  var inputs = $(":input", wcForm);
222
  inputs.each(function () {
223
  if (this.name != '' && this.type != 'checkbox' && this.type != 'radio') {
321
  wpdiscuzRedirect(obj);
322
  addCookie(wcForm, obj);
323
  wcForm.get(0).reset();
324
+ setCookieInForm(obj);
325
  var currTArea = $('.wc_comment', wcForm);
326
  currTArea.css('height', '72px');
327
  setTextareaCharCount(currTArea, commentTextMaxLength);
365
  var data = new FormData();
366
  data.append('action', 'checkNotificationType');
367
  data.append('comment_id', obj.new_comment_id);
368
+ data.append('email', obj.comment_author_email);
369
  data.append('isParent', obj.is_main);
370
  var ajaxObject = getAjaxObj('', data);
371
  ajaxObject.done(function (response) {
395
  }
396
  }
397
 
398
+ function setCookieInForm(obj) {
399
+ if (obj.comment_author.indexOf('Anonymous') < 0) {
400
+ $('.wc_comm_form .wc_name').val(obj.comment_author);
401
  }
402
+ if (obj.comment_author_email.indexOf('@example.com') < 0) {
403
+ $('.wc_comm_form .wc_email').val(obj.comment_author_email);
404
  }
405
+ if (obj.comment_author_url) {
406
+ $('.wc_comm_form .wc_website').val(obj.comment_author_url);
407
  }
408
  }
409
 
418
  if ($('.wc_name', wcForm).val()) {
419
  name = $('.wc_name', wcForm).val();
420
  } else {
421
+ name = obj.comment_author;
422
  }
423
  if (storeCommenterData == null) {
424
  Cookies.set('comment_author_email_' + wpdiscuzCookiehash, email);
945
  }
946
 
947
  function getLastParentID() {
948
+ return $('.wc-load-more-link').attr("data-lastparentid");
 
949
  }
950
 
951
  function setLastParentID(lastParentID) {
952
+ $('.wc-load-more-link').attr("data-lastparentid", lastParentID);
 
953
  if (commentListLoadType != 2) {
954
  $('.wpdiscuz-comment-pagination').show();
955
  }
assets/third-party/autogrow/index.html ADDED
File without changes
assets/third-party/colorpicker/index.html ADDED
File without changes
assets/third-party/contenthover/index.html ADDED
File without changes
assets/third-party/font-awesome-5.0.6/css/index.html ADDED
File without changes
assets/third-party/font-awesome-5.0.6/index.html ADDED
File without changes
assets/third-party/font-awesome-5.0.6/webfonts/index.html ADDED
File without changes
assets/third-party/fontawesome-iconpicker/css/index.html ADDED
File without changes
assets/third-party/fontawesome-iconpicker/index.html ADDED
File without changes
assets/third-party/fontawesome-iconpicker/js/index.html ADDED
File without changes
assets/third-party/lity/index.html ADDED
File without changes
assets/third-party/quicktags/index.html ADDED
File without changes
assets/third-party/wpdcookiejs/index.html ADDED
File without changes
assets/third-party/wpdcookiejs/js-cookie.js DELETED
@@ -1,165 +0,0 @@
1
- /*!
2
- * JavaScript Cookie v2.1.3
3
- * https://github.com/js-cookie/js-cookie
4
- *
5
- * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
6
- * Released under the MIT license
7
- */
8
- ;(function (factory) {
9
- var registeredInModuleLoader = false;
10
- if (typeof define === 'function' && define.amd) {
11
- define(factory);
12
- registeredInModuleLoader = true;
13
- }
14
- if (typeof exports === 'object') {
15
- module.exports = factory();
16
- registeredInModuleLoader = true;
17
- }
18
- if (!registeredInModuleLoader) {
19
- var OldCookies = window.Cookies;
20
- var api = window.Cookies = factory();
21
- api.noConflict = function () {
22
- window.Cookies = OldCookies;
23
- return api;
24
- };
25
- }
26
- }(function () {
27
- function extend () {
28
- var i = 0;
29
- var result = {};
30
- for (; i < arguments.length; i++) {
31
- var attributes = arguments[ i ];
32
- for (var key in attributes) {
33
- result[key] = attributes[key];
34
- }
35
- }
36
- return result;
37
- }
38
-
39
- function init (converter) {
40
- function api (key, value, attributes) {
41
- var result;
42
- if (typeof document === 'undefined') {
43
- return;
44
- }
45
-
46
- // Write
47
-
48
- if (arguments.length > 1) {
49
- attributes = extend({
50
- path: '/'
51
- }, api.defaults, attributes);
52
-
53
- if (typeof attributes.expires === 'number') {
54
- var expires = new Date();
55
- expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
56
- attributes.expires = expires;
57
- }
58
-
59
- // We're using "expires" because "max-age" is not supported by IE
60
- attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
61
-
62
- try {
63
- result = JSON.stringify(value);
64
- if (/^[\{\[]/.test(result)) {
65
- value = result;
66
- }
67
- } catch (e) {}
68
-
69
- if (!converter.write) {
70
- value = encodeURIComponent(String(value))
71
- .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
72
- } else {
73
- value = converter.write(value, key);
74
- }
75
-
76
- key = encodeURIComponent(String(key));
77
- key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
78
- key = key.replace(/[\(\)]/g, escape);
79
-
80
- var stringifiedAttributes = '';
81
-
82
- for (var attributeName in attributes) {
83
- if (!attributes[attributeName]) {
84
- continue;
85
- }
86
- stringifiedAttributes += '; ' + attributeName;
87
- if (attributes[attributeName] === true) {
88
- continue;
89
- }
90
- stringifiedAttributes += '=' + attributes[attributeName];
91
- }
92
- return (document.cookie = key + '=' + value + stringifiedAttributes);
93
- }
94
-
95
- // Read
96
-
97
- if (!key) {
98
- result = {};
99
- }
100
-
101
- // To prevent the for loop in the first place assign an empty array
102
- // in case there are no cookies at all. Also prevents odd result when
103
- // calling "get()"
104
- var cookies = document.cookie ? document.cookie.split('; ') : [];
105
- var rdecode = /(%[0-9A-Z]{2})+/g;
106
- var i = 0;
107
-
108
- for (; i < cookies.length; i++) {
109
- var parts = cookies[i].split('=');
110
- var cookie = parts.slice(1).join('=');
111
-
112
- if (cookie.charAt(0) === '"') {
113
- cookie = cookie.slice(1, -1);
114
- }
115
-
116
- try {
117
- var name = parts[0].replace(rdecode, decodeURIComponent);
118
- cookie = converter.read ?
119
- converter.read(cookie, name) : converter(cookie, name) ||
120
- cookie.replace(rdecode, decodeURIComponent);
121
-
122
- if (this.json) {
123
- try {
124
- cookie = JSON.parse(cookie);
125
- } catch (e) {}
126
- }
127
-
128
- if (key === name) {
129
- result = cookie;
130
- break;
131
- }
132
-
133
- if (!key) {
134
- result[name] = cookie;
135
- }
136
- } catch (e) {}
137
- }
138
-
139
- return result;
140
- }
141
-
142
- api.set = api;
143
- api.get = function (key) {
144
- return api.call(api, key);
145
- };
146
- api.getJSON = function () {
147
- return api.apply({
148
- json: true
149
- }, [].slice.call(arguments));
150
- };
151
- api.defaults = {};
152
-
153
- api.remove = function (key, attributes) {
154
- api(key, '', extend(attributes, {
155
- expires: -1
156
- }));
157
- };
158
-
159
- api.withConverter = init;
160
-
161
- return api;
162
- }
163
-
164
- return init(function () {});
165
- }));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
class.WpdiscuzCore.php CHANGED
@@ -3,7 +3,7 @@
3
  /*
4
  * Plugin Name: wpDiscuz
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
- * Version: 5.0.5
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
@@ -345,10 +345,13 @@ class WpdiscuzCore implements WpDiscuzConstants {
345
  $uniqueId = isset($_POST['wpdiscuz_unique_id']) ? trim($_POST['wpdiscuz_unique_id']) : '';
346
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : '';
347
 
348
- $savedKey = get_transient(self::OPTION_SLUG_ANTISPAM);
349
- if (isset($_POST['antispamKey']) && $savedKey && $savedKey != $_POST['antispamKey']) {
350
- die(__('Hacker?', 'wpdiscuz'));
351
- }
 
 
 
352
 
353
  if ($uniqueId && $postId) {
354
  $form = $this->wpdiscuzForm->getForm($postId);
@@ -405,6 +408,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
405
  }
406
 
407
  if ($name && $email && $comment_content) {
 
 
 
408
  $stickyComment = isset($_POST['wc_sticky_comment']) && ($sticky = intval($_POST['wc_sticky_comment'])) ? $sticky : '';
409
  $closedComment = isset($_POST['wc_closed_comment']) && ($closed = absint($_POST['wc_closed_comment'])) ? $closed : '';
410
  $author_ip = $this->helper->getRealIPAddr();
@@ -454,8 +460,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
454
  $messageArray['code'] = $uniqueId;
455
  $messageArray['redirect'] = $this->optionsSerialized->redirectPage;
456
  $messageArray['new_comment_id'] = $new_comment_id;
457
- $messageArray['user_name'] = $name;
458
- $messageArray['user_email'] = $email;
 
459
  $messageArray['is_main'] = $comment_parent ? 0 : 1;
460
  $messageArray['held_moderate'] = $held_moderate;
461
  $messageArray['is_in_same_container'] = $isInSameContainer;
@@ -466,7 +473,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
466
  $commentListArgs['comment_author_email'] = $email;
467
  $this->form = $this->wpdiscuzForm->getForm($postId);
468
  $commentListArgs['can_user_comment'] = $this->form ? $this->form->isUserCanComment($currentUser, $postId) : true;
469
- $messageArray['message'] = wp_list_comments($commentListArgs, array($newComment));
470
  } else {
471
  $messageArray['code'] = 'wc_invalid_field';
472
  }
@@ -1012,7 +1019,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
1012
  $args['caller'] = $this->commentsArgs['caller'] = 'wpdiscuz-';
1013
  if (!$this->optionsSerialized->votingButtonsShowHide && $this->commentsArgs['orderby'] == 'by_vote') {
1014
  $args['join'] .= " LEFT JOIN " . $wpdb->commentmeta . " ON " . $wpdb->comments . ".comment_ID = " . $wpdb->commentmeta . ".comment_id AND (" . $wpdb->commentmeta . ".meta_key = '" . self::META_KEY_VOTES . "')";
1015
- $orderby = $wpdb->commentmeta . ".meta_value+0 DESC, ";
1016
  }
1017
  $args['orderby'] = $orderby . $wpdb->comments . '.comment_date_gmt ';
1018
  $args['orderby'] .= isset($args['order']) ? '' : $this->commentsArgs['order'];
@@ -1075,35 +1082,35 @@ class WpdiscuzCore implements WpDiscuzConstants {
1075
  'msgConfirmPurgeGravatarsCache' => __('Do you really want to delete gravatars cache?', 'wpdiscuz'),
1076
  );
1077
 
1078
- wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-5.0.6/css/fontawesome-all.min.css'), null, '4.6.3');
1079
  wp_enqueue_style('wpdiscuz-font-awesome');
1080
- wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'));
1081
  wp_enqueue_style('wpdiscuz-cp-index-css');
1082
- wp_register_style('wpdiscuz-cp-compatibility-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/compatibility.css'));
1083
  wp_enqueue_style('wpdiscuz-cp-compatibility-css');
1084
- wp_register_script('wpdiscuz-cp-colors-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/colors.js'), array('jquery'), '1.0.0', false);
1085
  wp_enqueue_script('wpdiscuz-cp-colors-js');
1086
- wp_register_script('wpdiscuz-cp-colorpicker-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/jqColorPicker.min.js'), array('jquery'), '1.0.0', false);
1087
  wp_enqueue_script('wpdiscuz-cp-colorpicker-js');
1088
- wp_register_script('wpdiscuz-cp-index-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/index.js'), array('jquery'), '1.0.0', false);
1089
  wp_enqueue_script('wpdiscuz-cp-index-js');
1090
- wp_register_style('wpdiscuz-easy-responsive-tabs-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/easy-responsive-tabs/css/easy-responsive-tabs.min.css'), true);
1091
  wp_enqueue_style('wpdiscuz-easy-responsive-tabs-css');
1092
- wp_register_script('wpdiscuz-easy-responsive-tabs-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/easy-responsive-tabs/js/easy-responsive-tabs.js'), array('jquery'), '1.0.1', true);
1093
  wp_enqueue_script('wpdiscuz-easy-responsive-tabs-js');
1094
- wp_register_style('wpdiscuz-options-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/options.css'));
1095
  wp_enqueue_style('wpdiscuz-options-css');
1096
- wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.js'), array('jquery'));
1097
  wp_enqueue_script('wpdiscuz-options-js');
1098
  wp_localize_script('wpdiscuz-options-js', 'wpdiscuzObj', $args);
1099
  wp_enqueue_script('thickbox');
1100
- wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'), '2.1.3', true);
1101
  wp_enqueue_script('wpdiscuz-jquery-cookie');
1102
- wp_register_script('wpdiscuz-contenthover', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/contenthover/jquery.contenthover.min.js'), array('jquery'), '1.0.0', true);
1103
  wp_enqueue_script('wpdiscuz-contenthover');
1104
  }
1105
  if (version_compare($wp_version, '4.2.0', '>=')) {
1106
- wp_register_script('wpdiscuz-addon-notes', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-notes.js'), array('jquery'), '1.0.0', true);
1107
  wp_enqueue_script('wpdiscuz-addon-notes');
1108
  }
1109
 
@@ -1113,13 +1120,13 @@ class WpdiscuzCore implements WpDiscuzConstants {
1113
  'msgReasonDescRequired' => __('Please provide more information', 'wpdiscuz'),
1114
  'adminUrl' => get_admin_url()
1115
  );
1116
- wp_register_style('wpdiscuz-lity-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/lity/lity.css'));
1117
  wp_enqueue_style('wpdiscuz-lity-css');
1118
- wp_register_script('wpdiscuz-lity-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/lity/lity.js'), array('jquery'), '1.0.0', false);
1119
  wp_enqueue_script('wpdiscuz-lity-js');
1120
  wp_register_style('wpdiscuz-deactivation-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz-deactivation.css'));
1121
  wp_enqueue_style('wpdiscuz-deactivation-css');
1122
- wp_register_script('wpdiscuz-deactivation-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-deactivation.js'), array('jquery'), '1.0.0', false);
1123
  wp_enqueue_script('wpdiscuz-deactivation-js');
1124
  wp_localize_script('wpdiscuz-deactivation-js', 'deactivationObj', $reasonArgs);
1125
  }
@@ -1132,7 +1139,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
1132
  global $post;
1133
  $this->isWpdiscuzLoaded = $this->helper->isLoadWpdiscuz($post);
1134
  if (!$this->optionsSerialized->disableFontAwesome) {
1135
- wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-5.0.6/css/fontawesome-all.min.css'), null, '5.0.6');
1136
  }
1137
 
1138
  if (!$this->isWpdiscuzLoaded && $this->optionsSerialized->ratingCssOnNoneSingular) {
@@ -1160,9 +1167,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
1160
  wp_enqueue_style('wpdiscuz-frontend-css');
1161
  }
1162
 
1163
- wp_register_script('wpdiscuz-cookie-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'));
1164
  wp_enqueue_script('wpdiscuz-cookie-js');
1165
- wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
1166
  wp_enqueue_script('autogrowtextarea-js');
1167
  $form = $this->wpdiscuzForm->getForm($post->ID);
1168
  $form->initFormMeta();
3
  /*
4
  * Plugin Name: wpDiscuz
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
+ * Version: 5.0.6
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
345
  $uniqueId = isset($_POST['wpdiscuz_unique_id']) ? trim($_POST['wpdiscuz_unique_id']) : '';
346
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : '';
347
 
348
+ if (!current_user_can('moderate_comments') &&
349
+ ($key = trim($this->optionsSerialized->antispamKey)) &&
350
+ isset($_POST['ahk']) &&
351
+ ($ahk = trim($_POST['ahk'])) &&
352
+ $key != $ahk) {
353
+ die(__('We are sorry, but this comment cannot be posted. Please try later.', 'wpdiscuz'));
354
+ }
355
 
356
  if ($uniqueId && $postId) {
357
  $form = $this->wpdiscuzForm->getForm($postId);
408
  }
409
 
410
  if ($name && $email && $comment_content) {
411
+ $name = urldecode($name);
412
+ $email = urldecode($email);
413
+ $website_url = $website_url ? urldecode($website_url) : '';
414
  $stickyComment = isset($_POST['wc_sticky_comment']) && ($sticky = intval($_POST['wc_sticky_comment'])) ? $sticky : '';
415
  $closedComment = isset($_POST['wc_closed_comment']) && ($closed = absint($_POST['wc_closed_comment'])) ? $closed : '';
416
  $author_ip = $this->helper->getRealIPAddr();
460
  $messageArray['code'] = $uniqueId;
461
  $messageArray['redirect'] = $this->optionsSerialized->redirectPage;
462
  $messageArray['new_comment_id'] = $new_comment_id;
463
+ $messageArray['comment_author'] = $name;
464
+ $messageArray['comment_author_email'] = $email;
465
+ $messageArray['comment_author_url'] = $website_url;
466
  $messageArray['is_main'] = $comment_parent ? 0 : 1;
467
  $messageArray['held_moderate'] = $held_moderate;
468
  $messageArray['is_in_same_container'] = $isInSameContainer;
473
  $commentListArgs['comment_author_email'] = $email;
474
  $this->form = $this->wpdiscuzForm->getForm($postId);
475
  $commentListArgs['can_user_comment'] = $this->form ? $this->form->isUserCanComment($currentUser, $postId) : true;
476
+ $messageArray['message'] = wp_list_comments($commentListArgs, array($newComment));
477
  } else {
478
  $messageArray['code'] = 'wc_invalid_field';
479
  }
1019
  $args['caller'] = $this->commentsArgs['caller'] = 'wpdiscuz-';
1020
  if (!$this->optionsSerialized->votingButtonsShowHide && $this->commentsArgs['orderby'] == 'by_vote') {
1021
  $args['join'] .= " LEFT JOIN " . $wpdb->commentmeta . " ON " . $wpdb->comments . ".comment_ID = " . $wpdb->commentmeta . ".comment_id AND (" . $wpdb->commentmeta . ".meta_key = '" . self::META_KEY_VOTES . "')";
1022
+ $orderby = " IFNULL(" . $wpdb->commentmeta . ".meta_value,0)+0 DESC, ";
1023
  }
1024
  $args['orderby'] = $orderby . $wpdb->comments . '.comment_date_gmt ';
1025
  $args['orderby'] .= isset($args['order']) ? '' : $this->commentsArgs['order'];
1082
  'msgConfirmPurgeGravatarsCache' => __('Do you really want to delete gravatars cache?', 'wpdiscuz'),
1083
  );
1084
 
1085
+ wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-5.0.6/css/fontawesome-all.min.css'), null, $this->version);
1086
  wp_enqueue_style('wpdiscuz-font-awesome');
1087
+ wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'), null, $this->version);
1088
  wp_enqueue_style('wpdiscuz-cp-index-css');
1089
+ wp_register_style('wpdiscuz-cp-compatibility-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/compatibility.css'), null, $this->version);
1090
  wp_enqueue_style('wpdiscuz-cp-compatibility-css');
1091
+ wp_register_script('wpdiscuz-cp-colors-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/colors.js'), array('jquery'), $this->version, false);
1092
  wp_enqueue_script('wpdiscuz-cp-colors-js');
1093
+ wp_register_script('wpdiscuz-cp-colorpicker-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/jqColorPicker.min.js'), array('jquery'), $this->version, false);
1094
  wp_enqueue_script('wpdiscuz-cp-colorpicker-js');
1095
+ wp_register_script('wpdiscuz-cp-index-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/js/index.js'), array('jquery'), $this->version, false);
1096
  wp_enqueue_script('wpdiscuz-cp-index-js');
1097
+ wp_register_style('wpdiscuz-easy-responsive-tabs-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/easy-responsive-tabs/css/easy-responsive-tabs.min.css'), null, $this->version);
1098
  wp_enqueue_style('wpdiscuz-easy-responsive-tabs-css');
1099
+ wp_register_script('wpdiscuz-easy-responsive-tabs-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/easy-responsive-tabs/js/easy-responsive-tabs.js'), array('jquery'), $this->version, true);
1100
  wp_enqueue_script('wpdiscuz-easy-responsive-tabs-js');
1101
+ wp_register_style('wpdiscuz-options-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/options.css'), null, $this->version);
1102
  wp_enqueue_style('wpdiscuz-options-css');
1103
+ wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.js'), array('jquery'), $this->version);
1104
  wp_enqueue_script('wpdiscuz-options-js');
1105
  wp_localize_script('wpdiscuz-options-js', 'wpdiscuzObj', $args);
1106
  wp_enqueue_script('thickbox');
1107
+ wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'), $this->version, true);
1108
  wp_enqueue_script('wpdiscuz-jquery-cookie');
1109
+ wp_register_script('wpdiscuz-contenthover', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/contenthover/jquery.contenthover.min.js'), array('jquery'), $this->version, true);
1110
  wp_enqueue_script('wpdiscuz-contenthover');
1111
  }
1112
  if (version_compare($wp_version, '4.2.0', '>=')) {
1113
+ wp_register_script('wpdiscuz-addon-notes', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-notes.js'), array('jquery'), $this->version, true);
1114
  wp_enqueue_script('wpdiscuz-addon-notes');
1115
  }
1116
 
1120
  'msgReasonDescRequired' => __('Please provide more information', 'wpdiscuz'),
1121
  'adminUrl' => get_admin_url()
1122
  );
1123
+ wp_register_style('wpdiscuz-lity-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/lity/lity.css'), null, $this->version);
1124
  wp_enqueue_style('wpdiscuz-lity-css');
1125
+ wp_register_script('wpdiscuz-lity-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/lity/lity.js'), array('jquery'), $this->version);
1126
  wp_enqueue_script('wpdiscuz-lity-js');
1127
  wp_register_style('wpdiscuz-deactivation-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz-deactivation.css'));
1128
  wp_enqueue_style('wpdiscuz-deactivation-css');
1129
+ wp_register_script('wpdiscuz-deactivation-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-deactivation.js'), array('jquery'), $this->version);
1130
  wp_enqueue_script('wpdiscuz-deactivation-js');
1131
  wp_localize_script('wpdiscuz-deactivation-js', 'deactivationObj', $reasonArgs);
1132
  }
1139
  global $post;
1140
  $this->isWpdiscuzLoaded = $this->helper->isLoadWpdiscuz($post);
1141
  if (!$this->optionsSerialized->disableFontAwesome) {
1142
+ wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-5.0.6/css/fontawesome-all.min.css'), null, $this->version);
1143
  }
1144
 
1145
  if (!$this->isWpdiscuzLoaded && $this->optionsSerialized->ratingCssOnNoneSingular) {
1167
  wp_enqueue_style('wpdiscuz-frontend-css');
1168
  }
1169
 
1170
+ wp_register_script('wpdiscuz-cookie-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'), $this->version);
1171
  wp_enqueue_script('wpdiscuz-cookie-js');
1172
+ wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), $this->version);
1173
  wp_enqueue_script('autogrowtextarea-js');
1174
  $form = $this->wpdiscuzForm->getForm($post->ID);
1175
  $form->initFormMeta();
forms/wpdFormAttr/Field/DefaultField/Email.php CHANGED
@@ -44,13 +44,14 @@ class Email extends Field {
44
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId,$isMainForm) {
45
  if (!$currentUser->ID) {
46
  $hasIcon = $args['icon'] ? true : false;
 
47
  ?>
48
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : '' ?>">
49
  <?php if ($hasIcon) { ?>
50
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
51
  <?php } ?>
52
  <?php $required = $args['required'] ? 'required="required"' : ''; ?>
53
- <input <?php echo $required; ?> class="<?php echo $name; ?> wpd-field" type="email" name="<?php echo $name; ?>" value="" placeholder="<?php echo $args['name']; ?>">
54
  <?php if ($args['desc']) { ?>
55
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
56
  <?php } ?>
44
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId,$isMainForm) {
45
  if (!$currentUser->ID) {
46
  $hasIcon = $args['icon'] ? true : false;
47
+ $authorEmail = $this->commenter && is_array($this->commenter) && isset($this->commenter['comment_author_email']) ? urldecode($this->commenter['comment_author_email']) : '';
48
  ?>
49
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : '' ?>">
50
  <?php if ($hasIcon) { ?>
51
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
52
  <?php } ?>
53
  <?php $required = $args['required'] ? 'required="required"' : ''; ?>
54
+ <input value="<?php echo $authorEmail; ?>" <?php echo $required; ?> class="<?php echo $name; ?> wpd-field" type="email" name="<?php echo $name; ?>" value="" placeholder="<?php echo $args['name']; ?>">
55
  <?php if ($args['desc']) { ?>
56
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
57
  <?php } ?>
forms/wpdFormAttr/Field/DefaultField/Name.php CHANGED
@@ -42,6 +42,7 @@ class Name extends Field {
42
 
43
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId,$isMainForm) {
44
  if (!$currentUser->ID) {
 
45
  $hasIcon = $args['icon'] ? true : false;
46
  $nameLengthRange = (intval($options->commenterNameMinLength) >= 1 && (intval($options->commenterNameMaxLength) >= 1 && intval($options->commenterNameMaxLength) <= 50)) ? 'pattern=".{' . $options->commenterNameMinLength . ',' . $options->commenterNameMaxLength . '}"' : ''; ?>
47
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : ''?>">
@@ -49,7 +50,7 @@ class Name extends Field {
49
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
50
  <?php } ?>
51
  <?php $required = $args['required'] ? 'required="required"' : ''; ?>
52
- <input <?php echo $required; ?> class="<?php echo $name; ?> wpd-field" type="text" name="<?php echo $name; ?>" value="" placeholder="<?php _e($args['name'],'wpdiscuz')//echo $args['name']; ?>" maxlength="<?php echo $options->commenterNameMaxLength; ?>" <?php echo $nameLengthRange; ?> title="">
53
  <?php if ($args['desc']) { ?>
54
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
55
  <?php } ?>
42
 
43
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId,$isMainForm) {
44
  if (!$currentUser->ID) {
45
+ $author = $this->commenter && is_array($this->commenter) && isset($this->commenter['comment_author']) ? urldecode($this->commenter['comment_author']) : '';
46
  $hasIcon = $args['icon'] ? true : false;
47
  $nameLengthRange = (intval($options->commenterNameMinLength) >= 1 && (intval($options->commenterNameMaxLength) >= 1 && intval($options->commenterNameMaxLength) <= 50)) ? 'pattern=".{' . $options->commenterNameMinLength . ',' . $options->commenterNameMaxLength . '}"' : ''; ?>
48
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : ''?>">
50
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
51
  <?php } ?>
52
  <?php $required = $args['required'] ? 'required="required"' : ''; ?>
53
+ <input value="<?php echo $author; ?>" <?php echo $required; ?> class="<?php echo $name; ?> wpd-field" type="text" name="<?php echo $name; ?>" value="" placeholder="<?php _e($args['name'],'wpdiscuz')//echo $args['name']; ?>" maxlength="<?php echo $options->commenterNameMaxLength; ?>" <?php echo $nameLengthRange; ?> title="">
54
  <?php if ($args['desc']) { ?>
55
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
56
  <?php } ?>
forms/wpdFormAttr/Field/DefaultField/Submit.php CHANGED
@@ -29,6 +29,30 @@ class Submit extends Field {
29
  $wpdiscuz = wpDiscuz();
30
  ?>
31
  <div class="wc-field-submit">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  <?php if ($options->wordpressThreadComments || class_exists('Prompt_Comment_Form_Handling')) { ?>
33
  <?php
34
  $isShowSubscribeWrapper = false;
@@ -43,28 +67,6 @@ class Submit extends Field {
43
  $isReplyDefaultChecked = $options->isReplyDefaultChecked ? 'checked="checked"' : '';
44
  ?>
45
  <?php
46
- if ($isMainForm && current_user_can('moderate_comments')) {
47
- ?>
48
- <label class="wpd_label">
49
- <input id="wc_sticky_comment" class="wpd_label__checkbox" value="1" type="checkbox" name="wc_sticky_comment"/>
50
- <span class="wpd_label__text">
51
- <span class="wpd_label__check">
52
- <div class="wpd-field-desc"><i class="fas fa-thumbtack wpdicon wpdicon-on"></i><span><?php echo $options->phrases['wc_stick_main_form_comment_on']; ?></span></div>
53
- <div class="wpd-field-desc"><i class="fas fa-thumbtack wpdicon wpdicon-off"></i><span><?php echo $options->phrases['wc_stick_main_form_comment_off']; ?></span></div>
54
- </span>
55
- </span>
56
- </label>
57
- <label class="wpd_label">
58
- <input id="wc_closed_comment" class="wpd_label__checkbox" value="1" type="checkbox" name="wc_closed_comment"/>
59
- <span class="wpd_label__text">
60
- <span class="wpd_label__check">
61
- <div class="wpd-field-desc"><i class="fas fa-lock wpdicon wpdicon-on"></i><span><?php echo $options->phrases['wc_close_main_form_comment_on']; ?></span></div>
62
- <div class="wpd-field-desc"><i class="fas fa-unlock-alt wpdicon wpdicon-off"></i><span><?php echo $options->phrases['wc_close_main_form_comment_off']; ?></span></div>
63
- </span>
64
- </span>
65
- </label>
66
- <?php
67
- }
68
  if (class_exists('Prompt_Comment_Form_Handling') && $options->usePostmaticForCommentNotification) {
69
  ?>
70
  <label class="wpd_label">
29
  $wpdiscuz = wpDiscuz();
30
  ?>
31
  <div class="wc-field-submit">
32
+ <?php
33
+ if ($isMainForm && current_user_can('moderate_comments')) {
34
+ ?>
35
+ <label class="wpd_label">
36
+ <input id="wc_sticky_comment" class="wpd_label__checkbox" value="1" type="checkbox" name="wc_sticky_comment"/>
37
+ <span class="wpd_label__text">
38
+ <span class="wpd_label__check">
39
+ <div class="wpd-field-desc"><i class="fas fa-thumbtack wpdicon wpdicon-on"></i><span><?php echo $options->phrases['wc_stick_main_form_comment_on']; ?></span></div>
40
+ <div class="wpd-field-desc"><i class="fas fa-thumbtack wpdicon wpdicon-off"></i><span><?php echo $options->phrases['wc_stick_main_form_comment_off']; ?></span></div>
41
+ </span>
42
+ </span>
43
+ </label>
44
+ <label class="wpd_label">
45
+ <input id="wc_closed_comment" class="wpd_label__checkbox" value="1" type="checkbox" name="wc_closed_comment"/>
46
+ <span class="wpd_label__text">
47
+ <span class="wpd_label__check">
48
+ <div class="wpd-field-desc"><i class="fas fa-lock wpdicon wpdicon-on"></i><span><?php echo $options->phrases['wc_close_main_form_comment_on']; ?></span></div>
49
+ <div class="wpd-field-desc"><i class="fas fa-unlock-alt wpdicon wpdicon-off"></i><span><?php echo $options->phrases['wc_close_main_form_comment_off']; ?></span></div>
50
+ </span>
51
+ </span>
52
+ </label>
53
+ <?php
54
+ }
55
+ ?>
56
  <?php if ($options->wordpressThreadComments || class_exists('Prompt_Comment_Form_Handling')) { ?>
57
  <?php
58
  $isShowSubscribeWrapper = false;
67
  $isReplyDefaultChecked = $options->isReplyDefaultChecked ? 'checked="checked"' : '';
68
  ?>
69
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  if (class_exists('Prompt_Comment_Form_Handling') && $options->usePostmaticForCommentNotification) {
71
  ?>
72
  <label class="wpd_label">
forms/wpdFormAttr/Field/DefaultField/Website.php CHANGED
@@ -41,15 +41,16 @@ class Website extends Field {
41
  }
42
 
43
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId, $isMainForm) {
44
- if (!$currentUser->ID) {
45
  $hasIcon = $args['icon'] ? true : false;
46
  if ($args['enable']) {
 
47
  ?>
48
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : '' ?>">
49
  <?php if ($hasIcon) { ?>
50
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
51
  <?php } ?>
52
- <input class="<?php echo $name; ?> wpd-field" type="text" name="<?php echo $name; ?>" value="" placeholder="<?php echo $args['name']; ?>">
53
  <?php if ($args['desc']) { ?>
54
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
55
  <?php } ?>
41
  }
42
 
43
  public function frontFormHtml($name, $args, $options, $currentUser, $uniqueId, $isMainForm) {
44
+ if (!$currentUser->ID) {
45
  $hasIcon = $args['icon'] ? true : false;
46
  if ($args['enable']) {
47
+ $authorUrl = $this->commenter && is_array($this->commenter) && isset($this->commenter['comment_author_url']) ? urldecode($this->commenter['comment_author_url']) : '';
48
  ?>
49
  <div class="wpdiscuz-item <?php echo $hasIcon ? 'wpd-has-icon' : '' ?>">
50
  <?php if ($hasIcon) { ?>
51
  <div class="wpd-field-icon"><i class="<?php echo strpos(trim($args['icon']), ' ') ? $args['icon'] : 'fas '.$args['icon']; ?>"></i></div>
52
  <?php } ?>
53
+ <input value="<?php echo $authorUrl; ?>" class="<?php echo $name; ?> wpd-field" type="text" name="<?php echo $name; ?>" value="" placeholder="<?php echo $args['name']; ?>">
54
  <?php if ($args['desc']) { ?>
55
  <div class="wpd-field-desc"><i class="far fa-question-circle" aria-hidden="true"></i><span><?php echo esc_html($args['desc']); ?></span></div>
56
  <?php } ?>
forms/wpdFormAttr/Field/Field.php CHANGED
@@ -14,10 +14,12 @@ abstract class Field {
14
  protected $fieldInputName;
15
  protected $fieldData;
16
  protected $fieldDefaultData;
 
17
 
18
  private function __construct() {
19
  $this->initType();
20
  $this->initDefaultData();
 
21
  }
22
 
23
  public static function getInstance() {
14
  protected $fieldInputName;
15
  protected $fieldData;
16
  protected $fieldDefaultData;
17
+ protected $commenter;
18
 
19
  private function __construct() {
20
  $this->initType();
21
  $this->initDefaultData();
22
+ $this->commenter = wp_get_current_commenter();
23
  }
24
 
25
  public static function getInstance() {
includes/class.WpdiscuzDBManager.php CHANGED
@@ -295,7 +295,7 @@ class WpdiscuzDBManager implements WpDiscuzConstants {
295
  $this->deleteCommentNotifications($subsriptionId, $email);
296
  }
297
  $activationKey = md5($email . uniqid() . time());
298
- $sql = $this->db->prepare("INSERT INTO `" . $this->emailNotification . "` (`email`, `subscribtion_id`, `post_id`, `subscribtion_type`, `activation_key`,`confirm`) VALUES(%s, %d, %d, %s, %s, %d);", $email, $subsriptionId, $postId, $subscriptionType, $activationKey, $confirm);
299
  $this->db->query($sql);
300
  return $this->db->insert_id ? array('id' => $this->db->insert_id, 'activation_key' => $activationKey) : false;
301
  }
@@ -391,8 +391,8 @@ class WpdiscuzDBManager implements WpDiscuzConstants {
391
  }
392
 
393
  public function alterNotificationTable($version) {
394
- if (version_compare($version, '5.0.4', '<=') && version_compare($version, '1.0.0', '!=')) {
395
- $sql_alter = "ALTER TABLE `" . $this->emailNotification . "` ADD UNIQUE KEY `subscribe_unique_index` (`subscribtion_id`,`email`, `post_id`);";
396
  $this->db->query($sql_alter);
397
  }
398
  }
295
  $this->deleteCommentNotifications($subsriptionId, $email);
296
  }
297
  $activationKey = md5($email . uniqid() . time());
298
+ $sql = $this->db->prepare("INSERT INTO `" . $this->emailNotification . "` (`email`, `subscribtion_id`, `post_id`, `subscribtion_type`, `activation_key`,`confirm`) VALUES(%s, %d, %d, %s, %s, %d);", $email, $subsriptionId, $postId, $subscriptionType, $activationKey, $confirm);
299
  $this->db->query($sql);
300
  return $this->db->insert_id ? array('id' => $this->db->insert_id, 'activation_key' => $activationKey) : false;
301
  }
391
  }
392
 
393
  public function alterNotificationTable($version) {
394
+ if (version_compare($version, '5.0.5', '<=') && version_compare($version, '1.0.0', '!=')) {
395
+ $sql_alter = "ALTER TABLE `" . $this->emailNotification . "` DROP INDEX subscribe_unique_index, ADD UNIQUE KEY `subscribe_unique_index` (`subscribtion_id`,`email`, `post_id`);";
396
  $this->db->query($sql_alter);
397
  }
398
  }
includes/interface.WpDiscuzConstants.php CHANGED
@@ -10,7 +10,6 @@ interface WpDiscuzConstants {
10
  const OPTION_SLUG_VERSION = 'wc_plugin_version';
11
  const OPTION_SLUG_DEACTIVATION = 'wc_deactivation_modal_never_show';
12
  const OPTION_SLUG_SHOW_DEMO = 'wc_show_addons_demo';
13
- const OPTION_SLUG_ANTISPAM = 'wc_antispam_key';
14
  /* === OPTIONS SLUGS === */
15
  const PAGE_SETTINGS = 'wpdiscuz_options_page';
16
  const PAGE_PHRASES = 'wpdiscuz_phrases_page';
10
  const OPTION_SLUG_VERSION = 'wc_plugin_version';
11
  const OPTION_SLUG_DEACTIVATION = 'wc_deactivation_modal_never_show';
12
  const OPTION_SLUG_SHOW_DEMO = 'wc_show_addons_demo';
 
13
  /* === OPTIONS SLUGS === */
14
  const PAGE_SETTINGS = 'wpdiscuz_options_page';
15
  const PAGE_PHRASES = 'wpdiscuz_phrases_page';
languages/wpdiscuz.pot CHANGED
@@ -3,8 +3,8 @@ msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: wpDiscuz\n"
6
- "POT-Creation-Date: 2018-03-20 19:57+0400\n"
7
- "PO-Revision-Date: 2018-03-20 19:57+0400\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
@@ -28,16 +28,15 @@ msgstr ""
28
  msgid "Every 48 hours"
29
  msgstr ""
30
 
31
- #: class.WpdiscuzCore.php:350 options/class.WpdiscuzOptions.php:24
32
- #: options/class.WpdiscuzOptions.php:107 options/class.WpdiscuzOptions.php:280
33
- msgid "Hacker?"
34
  msgstr ""
35
 
36
- #: class.WpdiscuzCore.php:415
37
  msgid "This is closed comment thread"
38
  msgstr ""
39
 
40
- #: class.WpdiscuzCore.php:1056 class.WpdiscuzCore.php:1270
41
  #: options/options-layouts/settings-social.php:40
42
  #: options/options-layouts/settings-social.php:42
43
  #: options/options-layouts/settings-social.php:44
@@ -45,53 +44,53 @@ msgstr ""
45
  msgid "Settings"
46
  msgstr ""
47
 
48
- #: class.WpdiscuzCore.php:1058 class.WpdiscuzCore.php:1272
49
  msgid "Phrases"
50
  msgstr ""
51
 
52
- #: class.WpdiscuzCore.php:1060
53
  msgid "Tools"
54
  msgstr ""
55
 
56
- #: class.WpdiscuzCore.php:1061 options/html-options.php:22
57
  #: options/html-options.php:64 options/options-layouts/settings-addons.php:14
58
  msgid "Addons"
59
  msgstr ""
60
 
61
- #: class.WpdiscuzCore.php:1073
62
  msgid "Do you really want to reset all options?"
63
  msgstr ""
64
 
65
- #: class.WpdiscuzCore.php:1074
66
  msgid "Do you really want to remove voting data?"
67
  msgstr ""
68
 
69
- #: class.WpdiscuzCore.php:1075
70
  msgid "Do you really want to delete gravatars cache?"
71
  msgstr ""
72
 
73
- #: class.WpdiscuzCore.php:1112
74
  msgid "Please check one of reasons before sending feedback!"
75
  msgstr ""
76
 
77
- #: class.WpdiscuzCore.php:1113 utils/deactivation-reason-modal.php:58
78
  msgid "Please provide more information"
79
  msgstr ""
80
 
81
- #: class.WpdiscuzCore.php:1334 options/phrases-layouts/phrases-comment.php:56
82
  msgid "Admin"
83
  msgstr ""
84
 
85
- #: class.WpdiscuzCore.php:1336 class.WpdiscuzCore.php:1345
86
  #: options/phrases-layouts/phrases-comment.php:58
87
  msgid "Author"
88
  msgstr ""
89
 
90
- #: class.WpdiscuzCore.php:1340 options/phrases-layouts/phrases-comment.php:64
91
  msgid "Member"
92
  msgstr ""
93
 
94
- #: class.WpdiscuzCore.php:1346 options/phrases-layouts/phrases-comment.php:62
95
  msgid "Guest"
96
  msgstr ""
97
 
@@ -159,7 +158,7 @@ msgstr ""
159
  msgid "Two column"
160
  msgstr ""
161
 
162
- #: forms/wpDiscuzForm.php:214 forms/wpdFormAttr/Field/Field.php:64
163
  #: forms/wpdFormAttr/Row.php:24
164
  msgid "Delete"
165
  msgstr ""
@@ -172,8 +171,8 @@ msgstr ""
172
  msgid "Add Field"
173
  msgstr ""
174
 
175
- #: forms/wpDiscuzForm.php:217 forms/wpdFormAttr/Field/Field.php:61
176
- #: options/class.WpdiscuzOptionsSerialized.php:681
177
  #: options/phrases-layouts/phrases-comment.php:19
178
  msgid "Edit"
179
  msgstr ""
@@ -215,7 +214,7 @@ msgstr ""
215
  #: forms/wpdFormAttr/Field/DefaultField/Captcha.php:27
216
  #: forms/wpdFormAttr/Field/DefaultField/Email.php:19
217
  #: forms/wpdFormAttr/Field/DefaultField/Name.php:18
218
- #: forms/wpdFormAttr/Field/DefaultField/Name.php:64
219
  #: forms/wpdFormAttr/Field/DefaultField/Submit.php:18
220
  #: forms/wpdFormAttr/Field/DefaultField/Website.php:18
221
  #: forms/wpdFormAttr/Field/NumberField.php:12
@@ -228,9 +227,9 @@ msgstr ""
228
  msgid "Name"
229
  msgstr ""
230
 
231
- #: forms/wpDiscuzForm.php:413 forms/wpdFormAttr/Field/DefaultField/Email.php:64
232
  #: forms/wpdFormAttr/Form.php:776
233
- #: options/class.WpdiscuzOptionsSerialized.php:666 options/html-phrases.php:25
234
  msgid "Email"
235
  msgstr ""
236
 
@@ -239,7 +238,7 @@ msgid "WebSite URL"
239
  msgstr ""
240
 
241
  #: forms/wpDiscuzForm.php:418
242
- #: forms/wpdFormAttr/Field/DefaultField/Submit.php:113
243
  #: forms/wpdFormAttr/Form.php:799
244
  msgid "Post Comment"
245
  msgstr ""
@@ -479,11 +478,11 @@ msgstr ""
479
  msgid "Button Text"
480
  msgstr ""
481
 
482
- #: forms/wpdFormAttr/Field/DefaultField/Submit.php:74
483
  msgid " - (on)"
484
  msgstr ""
485
 
486
- #: forms/wpdFormAttr/Field/DefaultField/Submit.php:75
487
  msgid " - (off)"
488
  msgstr ""
489
 
@@ -491,20 +490,20 @@ msgstr ""
491
  msgid "Enable"
492
  msgstr ""
493
 
494
- #: forms/wpdFormAttr/Field/DefaultField/Website.php:83
495
  #: forms/wpdFormAttr/Form.php:783
496
  msgid "Website"
497
  msgstr ""
498
 
499
- #: forms/wpdFormAttr/Field/Field.php:52
500
  msgid " (Submit Button)"
501
  msgstr ""
502
 
503
- #: forms/wpdFormAttr/Field/Field.php:54
504
  msgid " (CAPTCHA)"
505
  msgstr ""
506
 
507
- #: forms/wpdFormAttr/Field/Field.php:87
508
  msgid "Add To Form"
509
  msgstr ""
510
 
@@ -590,7 +589,7 @@ msgstr ""
590
  msgid "Comment Form Fields"
591
  msgstr ""
592
 
593
- #: options/addons/al/title.php:7 options/class.WpdiscuzOptions.php:337
594
  msgid "Advanced Likers"
595
  msgstr ""
596
 
@@ -606,11 +605,11 @@ msgstr ""
606
  msgid "More Addons..."
607
  msgstr ""
608
 
609
- #: options/addons/mu/title.php:7 options/class.WpdiscuzOptions.php:361
610
  msgid "Media Uploader"
611
  msgstr ""
612
 
613
- #: options/addons/raf/title.php:7 options/class.WpdiscuzOptions.php:341
614
  msgid "Report and Flagging"
615
  msgstr ""
616
 
@@ -618,145 +617,150 @@ msgstr ""
618
  msgid "Mentioning"
619
  msgstr ""
620
 
621
- #: options/class.WpdiscuzOptions.php:98
 
 
 
 
 
622
  msgid "Settings updated"
623
  msgstr ""
624
 
625
- #: options/class.WpdiscuzOptions.php:227
626
  msgid "Phrases updated"
627
  msgstr ""
628
 
629
- #: options/class.WpdiscuzOptions.php:254
630
  msgid "Options were backed up!"
631
  msgstr ""
632
 
633
- #: options/class.WpdiscuzOptions.php:256
634
  msgid "Cannot back up the options!"
635
  msgstr ""
636
 
637
- #: options/class.WpdiscuzOptions.php:267
638
  msgid "Options Imported Successfully!"
639
  msgstr ""
640
 
641
- #: options/class.WpdiscuzOptions.php:269
642
  msgid "Error occured! File content is empty or data is not valid!"
643
  msgstr ""
644
 
645
- #: options/class.WpdiscuzOptions.php:272
646
  msgid "Error occured! Can not get file content!"
647
  msgstr ""
648
 
649
- #: options/class.WpdiscuzOptions.php:275
650
  msgid "Error occured! Please choose file!"
651
  msgstr ""
652
 
653
- #: options/class.WpdiscuzOptions.php:299
654
  msgid ""
655
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
656
  "package."
657
  msgstr ""
658
 
659
- #: options/class.WpdiscuzOptions.php:300
660
  msgid ""
661
  "Extended information about comment author with Profile, Activity, Votes and "
662
  "Subscriptions Tabs on pop-up window."
663
  msgstr ""
664
 
665
- #: options/class.WpdiscuzOptions.php:301
666
  msgid ""
667
  "Real-time online user checking, pop-up notification of new online users and "
668
  "online/offline badges."
669
  msgstr ""
670
 
671
- #: options/class.WpdiscuzOptions.php:302
672
  msgid ""
673
  "Allows to create private comment threads. Rich management options in "
674
  "dashboard by user roles."
675
  msgstr ""
676
 
677
- #: options/class.WpdiscuzOptions.php:303
678
  msgid ""
679
  "Total control over comment subscriptions. Full list, monitor, manage, "
680
  "filter, unsubscribe, confirm..."
681
  msgstr ""
682
 
683
- #: options/class.WpdiscuzOptions.php:304
684
  msgid ""
685
  "A full-fledged tool-kit for advertising in comment section of your website. "
686
  "Separate banner and ad managment."
687
  msgstr ""
688
 
689
- #: options/class.WpdiscuzOptions.php:305
690
  msgid ""
691
  "Allows to mention comments and users in comment text using #comment-id and "
692
  "@username tags."
693
  msgstr ""
694
 
695
- #: options/class.WpdiscuzOptions.php:306
696
  msgid ""
697
  "See comment likers and voters of each comment. Adds user reputation and "
698
  "badges based on received likes."
699
  msgstr ""
700
 
701
- #: options/class.WpdiscuzOptions.php:307
702
  msgid ""
703
  "Comment reporting tools. Auto-moderates comments based on number of flags "
704
  "and dislikes."
705
  msgstr ""
706
 
707
- #: options/class.WpdiscuzOptions.php:308
708
  msgid ""
709
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
710
  "options. Uses free translation API."
711
  msgstr ""
712
 
713
- #: options/class.WpdiscuzOptions.php:309
714
  msgid ""
715
  "AJAX powered front-end comment search. It starts searching while you type "
716
  "search words. "
717
  msgstr ""
718
 
719
- #: options/class.WpdiscuzOptions.php:310
720
  msgid ""
721
  "Most voted comments, Active comment threads, Most commented posts, Active "
722
  "comment authors"
723
  msgstr ""
724
 
725
- #: options/class.WpdiscuzOptions.php:311
726
  msgid ""
727
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
728
  "end."
729
  msgstr ""
730
 
731
- #: options/class.WpdiscuzOptions.php:312
732
  msgid ""
733
  "Extended comment attachment system. Allows to upload images, videos, audios "
734
  "and other file types."
735
  msgstr ""
736
 
737
- #: options/class.WpdiscuzOptions.php:313
738
  msgid ""
739
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
740
  "Google reCAPTCHA"
741
  msgstr ""
742
 
743
- #: options/class.WpdiscuzOptions.php:314
744
  msgid ""
745
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
746
  "myCRED points. "
747
  msgstr ""
748
 
749
- #: options/class.WpdiscuzOptions.php:315
750
  msgid ""
751
  "Allows censoring comment words. Filters comments and replaces those phrases "
752
  "with custom words."
753
  msgstr ""
754
 
755
- #: options/class.WpdiscuzOptions.php:321
756
  msgid "Custom Comment Forms"
757
  msgstr ""
758
 
759
- #: options/class.WpdiscuzOptions.php:322
760
  msgid ""
761
  "You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with "
762
  "custom comment forms and fields. You can create custom comment forms for "
@@ -764,55 +768,55 @@ msgid ""
764
  "eaxample: text, dropdown, rating, checkboxes, etc..."
765
  msgstr ""
766
 
767
- #: options/class.WpdiscuzOptions.php:325
768
  msgid "Emoticons"
769
  msgstr ""
770
 
771
- #: options/class.WpdiscuzOptions.php:326
772
  msgid ""
773
  "You can add more emotions to your comments using wpDiscuz Emoticons addon."
774
  msgstr ""
775
 
776
- #: options/class.WpdiscuzOptions.php:329
777
  msgid "Ads Manager"
778
  msgstr ""
779
 
780
- #: options/class.WpdiscuzOptions.php:330
781
  msgid ""
782
  "Increase your income using ad banners. Comment area is the most active "
783
  "sections for advertising. wpDiscuz Ads Manager addon is designed to help you "
784
  "add banners and control ads in this section."
785
  msgstr ""
786
 
787
- #: options/class.WpdiscuzOptions.php:333
788
  msgid "User and Comment Mentioning"
789
  msgstr ""
790
 
791
- #: options/class.WpdiscuzOptions.php:334
792
  msgid ""
793
  "Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters "
794
  "mention comments and users in comment text using #comment-id and @username "
795
  "tags."
796
  msgstr ""
797
 
798
- #: options/class.WpdiscuzOptions.php:338
799
  msgid ""
800
  "wpDiscuz Advanced Likers addon displays likers and voters of each comment. "
801
  "Adds user reputation and badges based on received likes."
802
  msgstr ""
803
 
804
- #: options/class.WpdiscuzOptions.php:342
805
  msgid ""
806
  "Let your commenters help you to determine and remove spam comments. wpDiscuz "
807
  "Report and Flagging addon comes with comment reporting tools. Automaticaly "
808
  "auto-moderates comments based on number of flags and dislikes."
809
  msgstr ""
810
 
811
- #: options/class.WpdiscuzOptions.php:345
812
  msgid "Comment Translate"
813
  msgstr ""
814
 
815
- #: options/class.WpdiscuzOptions.php:346
816
  msgid ""
817
  "In most cases the big part of your visitors are not a native speakers of "
818
  "your language. Make your comments comprehensible for all visitors using "
@@ -821,11 +825,11 @@ msgid ""
821
  "translation API."
822
  msgstr ""
823
 
824
- #: options/class.WpdiscuzOptions.php:349
825
  msgid "Comment Search"
826
  msgstr ""
827
 
828
- #: options/class.WpdiscuzOptions.php:350
829
  msgid ""
830
  "You can let website visitor search in comments. It's always more attractive "
831
  "to find a comment about something that interest you. Using wpDiscuz Comment "
@@ -833,252 +837,252 @@ msgid ""
833
  "above comment list."
834
  msgstr ""
835
 
836
- #: options/class.WpdiscuzOptions.php:353
837
  msgid "wpDiscuz Widgets"
838
  msgstr ""
839
 
840
- #: options/class.WpdiscuzOptions.php:354
841
  msgid ""
842
  "More Comment Widgets! Most voted comments, Active comment threads, Most "
843
  "commented posts, Active comment authors widgets are available in wpDiscuz "
844
  "Widgets Addon"
845
  msgstr ""
846
 
847
- #: options/class.WpdiscuzOptions.php:357
848
  msgid "Front-end Moderation"
849
  msgstr ""
850
 
851
- #: options/class.WpdiscuzOptions.php:358
852
  msgid ""
853
  "You can moderate comments on front-end using all in one powerful yet simple "
854
  "wpDiscuz Frontend Moderation addon."
855
  msgstr ""
856
 
857
- #: options/class.WpdiscuzOptions.php:362
858
  msgid ""
859
  "You can let website visitors attach images and files to comments and embed "
860
  "video/audio content using wpDiscuz Media Uploader addon."
861
  msgstr ""
862
 
863
- #: options/class.WpdiscuzOptions.php:365
864
  msgid "Google ReCaptcha"
865
  msgstr ""
866
 
867
- #: options/class.WpdiscuzOptions.php:366
868
  msgid ""
869
  "Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon "
870
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
871
  msgstr ""
872
 
873
- #: options/class.WpdiscuzOptions.php:382
874
  msgid "New Addons are available for wpDiscuz Comments Plugin"
875
  msgstr ""
876
 
877
- #: options/class.WpdiscuzOptions.php:389 options/class.WpdiscuzOptions.php:395
878
  msgid "Go to wpDiscuz Addons subMenu"
879
  msgstr ""
880
 
881
- #: options/class.WpdiscuzOptions.php:427
882
  msgid "Do you know?"
883
  msgstr ""
884
 
885
- #: options/class.WpdiscuzOptions.php:440
886
  msgid "More info"
887
  msgstr ""
888
 
889
- #: options/class.WpdiscuzOptionsSerialized.php:660
890
  msgid "Be the First to Comment!"
891
  msgstr ""
892
 
893
- #: options/class.WpdiscuzOptionsSerialized.php:661 options/html-phrases.php:23
894
  #: options/phrases-layouts/phrases-general.php:15
895
  msgid "Comment"
896
  msgstr ""
897
 
898
- #: options/class.WpdiscuzOptionsSerialized.php:662
899
  msgid "Comments"
900
  msgstr ""
901
 
902
- #: options/class.WpdiscuzOptionsSerialized.php:663
903
  msgid "on"
904
  msgstr ""
905
 
906
- #: options/class.WpdiscuzOptionsSerialized.php:664
907
  msgid "Start the discussion"
908
  msgstr ""
909
 
910
- #: options/class.WpdiscuzOptionsSerialized.php:665
911
  msgid "Join the discussion"
912
  msgstr ""
913
 
914
- #: options/class.WpdiscuzOptionsSerialized.php:667
915
  #: options/phrases-layouts/phrases-form.php:23
916
  msgid "Subscribe"
917
  msgstr ""
918
 
919
- #: options/class.WpdiscuzOptionsSerialized.php:668
920
  #: options/phrases-layouts/phrases-form.php:27
921
  msgid "Notify of"
922
  msgstr ""
923
 
924
- #: options/class.WpdiscuzOptionsSerialized.php:669
925
  msgid "new follow-up comments"
926
  msgstr ""
927
 
928
- #: options/class.WpdiscuzOptionsSerialized.php:670
929
  msgid "new replies to my comments"
930
  msgstr ""
931
 
932
- #: options/class.WpdiscuzOptionsSerialized.php:671
933
  msgid "Notify of new replies to this comment - (on)"
934
  msgstr ""
935
 
936
- #: options/class.WpdiscuzOptionsSerialized.php:672
937
  msgid "Notify of new replies to this comment - (off)"
938
  msgstr ""
939
 
940
- #: options/class.WpdiscuzOptionsSerialized.php:673
941
  #: options/phrases-layouts/phrases-form.php:47
942
  msgid "Sort by"
943
  msgstr ""
944
 
945
- #: options/class.WpdiscuzOptionsSerialized.php:674
946
  #: options/phrases-layouts/phrases-form.php:51
947
  msgid "newest"
948
  msgstr ""
949
 
950
- #: options/class.WpdiscuzOptionsSerialized.php:675
951
  #: options/phrases-layouts/phrases-form.php:55
952
  msgid "oldest"
953
  msgstr ""
954
 
955
- #: options/class.WpdiscuzOptionsSerialized.php:676
956
  #: options/phrases-layouts/phrases-form.php:59
957
  msgid "most voted"
958
  msgstr ""
959
 
960
- #: options/class.WpdiscuzOptionsSerialized.php:677
961
  msgid "Load More Comments"
962
  msgstr ""
963
 
964
- #: options/class.WpdiscuzOptionsSerialized.php:678
965
  #: options/phrases-layouts/phrases-general.php:31
966
  msgid "Load Rest of Comments"
967
  msgstr ""
968
 
969
- #: options/class.WpdiscuzOptionsSerialized.php:679
970
  #: options/phrases-layouts/phrases-comment.php:11
971
  msgid "Reply"
972
  msgstr ""
973
 
974
- #: options/class.WpdiscuzOptionsSerialized.php:680
975
  #: options/phrases-layouts/phrases-comment.php:15
976
  msgid "Share"
977
  msgstr ""
978
 
979
- #: options/class.WpdiscuzOptionsSerialized.php:682
980
  #: options/phrases-layouts/phrases-comment.php:23
981
  msgid "Share On Facebook"
982
  msgstr ""
983
 
984
- #: options/class.WpdiscuzOptionsSerialized.php:683
985
  #: options/phrases-layouts/phrases-comment.php:27
986
  msgid "Share On Twitter"
987
  msgstr ""
988
 
989
- #: options/class.WpdiscuzOptionsSerialized.php:684
990
  #: options/phrases-layouts/phrases-comment.php:31
991
  msgid "Share On Google"
992
  msgstr ""
993
 
994
- #: options/class.WpdiscuzOptionsSerialized.php:685
995
  #: options/phrases-layouts/phrases-comment.php:35
996
  msgid "Share On VKontakte"
997
  msgstr ""
998
 
999
- #: options/class.WpdiscuzOptionsSerialized.php:686
1000
  #: options/phrases-layouts/phrases-comment.php:39
1001
  msgid "Share On Odnoklassniki"
1002
  msgstr ""
1003
 
1004
- #: options/class.WpdiscuzOptionsSerialized.php:687
1005
  #: options/phrases-layouts/phrases-comment.php:43
1006
  msgid "Hide Replies"
1007
  msgstr ""
1008
 
1009
- #: options/class.WpdiscuzOptionsSerialized.php:688
1010
  #: options/phrases-layouts/phrases-comment.php:47
1011
  msgid "View Replies"
1012
  msgstr ""
1013
 
1014
- #: options/class.WpdiscuzOptionsSerialized.php:689
1015
  msgid "New Comment"
1016
  msgstr ""
1017
 
1018
- #: options/class.WpdiscuzOptionsSerialized.php:690
1019
  msgid ""
1020
  "Hi [COMMENT_AUTHOR],<br/><br/>new comment on the discussion section you've "
1021
  "been interested in<br/><br/><a href=\"[COMMENT_URL]\">[COMMENT_URL]</a><br/"
1022
  "><br/>[COMMENT_CONTENT]"
1023
  msgstr ""
1024
 
1025
- #: options/class.WpdiscuzOptionsSerialized.php:691
1026
  msgid "New Reply"
1027
  msgstr ""
1028
 
1029
- #: options/class.WpdiscuzOptionsSerialized.php:692
1030
  msgid ""
1031
  "Hi [COMMENT_AUTHOR],<br/><br/>new reply on the discussion section you've "
1032
  "been interested in<br/><br/><a href=\"[COMMENT_URL]\">[COMMENT_URL]</a><br/"
1033
  "><br/>[COMMENT_CONTENT]"
1034
  msgstr ""
1035
 
1036
- #: options/class.WpdiscuzOptionsSerialized.php:693
1037
  msgid "You're subscribed for new replies on this comment"
1038
  msgstr ""
1039
 
1040
- #: options/class.WpdiscuzOptionsSerialized.php:694
1041
  msgid "You're subscribed for new replies on all your comments"
1042
  msgstr ""
1043
 
1044
- #: options/class.WpdiscuzOptionsSerialized.php:695
1045
  msgid "You're subscribed for new follow-up comments on this post"
1046
  msgstr ""
1047
 
1048
- #: options/class.WpdiscuzOptionsSerialized.php:696
1049
  #: options/phrases-layouts/phrases-email.php:77
1050
  msgid "Unsubscribe"
1051
  msgstr ""
1052
 
1053
- #: options/class.WpdiscuzOptionsSerialized.php:697
1054
  msgid "Cancel subscription"
1055
  msgstr ""
1056
 
1057
- #: options/class.WpdiscuzOptionsSerialized.php:698
1058
  #: options/phrases-layouts/phrases-notification.php:19
1059
  msgid "You've successfully unsubscribed."
1060
  msgstr ""
1061
 
1062
- #: options/class.WpdiscuzOptionsSerialized.php:699
1063
  #: options/phrases-layouts/phrases-notification.php:15
1064
  msgid "You've successfully subscribed."
1065
  msgstr ""
1066
 
1067
- #: options/class.WpdiscuzOptionsSerialized.php:700
1068
  #: options/phrases-layouts/phrases-email.php:85
1069
  msgid "Confirm your subscription"
1070
  msgstr ""
1071
 
1072
- #: options/class.WpdiscuzOptionsSerialized.php:701
1073
  #: options/phrases-layouts/phrases-email.php:89
1074
  msgid "You've successfully confirmed your subscription."
1075
  msgstr ""
1076
 
1077
- #: options/class.WpdiscuzOptionsSerialized.php:702
1078
  msgid "Subscribe Confirmation"
1079
  msgstr ""
1080
 
1081
- #: options/class.WpdiscuzOptionsSerialized.php:703
1082
  msgid ""
1083
  "Hi, <br/> You just subscribed for new comments on our website. This means "
1084
  "you will receive an email when new comments are posted according to "
@@ -1087,284 +1091,284 @@ msgid ""
1087
  "you again. <br/><br/><a href=\"[POST_URL]\">[POST_TITLE]</a>"
1088
  msgstr ""
1089
 
1090
- #: options/class.WpdiscuzOptionsSerialized.php:704
1091
  msgid "please fill out this field to comment"
1092
  msgstr ""
1093
 
1094
- #: options/class.WpdiscuzOptionsSerialized.php:705
1095
  msgid "email address is invalid"
1096
  msgstr ""
1097
 
1098
- #: options/class.WpdiscuzOptionsSerialized.php:706
1099
  msgid "url is invalid"
1100
  msgstr ""
1101
 
1102
- #: options/class.WpdiscuzOptionsSerialized.php:707
1103
  msgid "year"
1104
  msgstr ""
1105
 
1106
- #: options/class.WpdiscuzOptionsSerialized.php:708
1107
  msgid "years"
1108
  msgstr ""
1109
 
1110
- #: options/class.WpdiscuzOptionsSerialized.php:709
1111
  msgid "month"
1112
  msgstr ""
1113
 
1114
- #: options/class.WpdiscuzOptionsSerialized.php:710
1115
  msgid "months"
1116
  msgstr ""
1117
 
1118
- #: options/class.WpdiscuzOptionsSerialized.php:711
1119
  msgid "day"
1120
  msgstr ""
1121
 
1122
- #: options/class.WpdiscuzOptionsSerialized.php:712
1123
  msgid "days"
1124
  msgstr ""
1125
 
1126
- #: options/class.WpdiscuzOptionsSerialized.php:713
1127
  msgid "hour"
1128
  msgstr ""
1129
 
1130
- #: options/class.WpdiscuzOptionsSerialized.php:714
1131
  msgid "hours"
1132
  msgstr ""
1133
 
1134
- #: options/class.WpdiscuzOptionsSerialized.php:715
1135
  msgid "minute"
1136
  msgstr ""
1137
 
1138
- #: options/class.WpdiscuzOptionsSerialized.php:716
1139
  msgid "minutes"
1140
  msgstr ""
1141
 
1142
- #: options/class.WpdiscuzOptionsSerialized.php:717
1143
  msgid "second"
1144
  msgstr ""
1145
 
1146
- #: options/class.WpdiscuzOptionsSerialized.php:718
1147
  msgid "seconds"
1148
  msgstr ""
1149
 
1150
- #: options/class.WpdiscuzOptionsSerialized.php:719
1151
  msgid "right now"
1152
  msgstr ""
1153
 
1154
- #: options/class.WpdiscuzOptionsSerialized.php:720
1155
  msgid "ago"
1156
  msgstr ""
1157
 
1158
- #: options/class.WpdiscuzOptionsSerialized.php:721
1159
  #: options/phrases-layouts/phrases-notification.php:41
1160
  msgid "You must be"
1161
  msgstr ""
1162
 
1163
- #: options/class.WpdiscuzOptionsSerialized.php:722
1164
  msgid "You are logged in as"
1165
  msgstr ""
1166
 
1167
- #: options/class.WpdiscuzOptionsSerialized.php:723
1168
  #: options/phrases-layouts/phrases-notification.php:49
1169
  msgid "Log out"
1170
  msgstr ""
1171
 
1172
- #: options/class.WpdiscuzOptionsSerialized.php:724
1173
  msgid "logged in"
1174
  msgstr ""
1175
 
1176
- #: options/class.WpdiscuzOptionsSerialized.php:725
1177
  msgid "to post a comment."
1178
  msgstr ""
1179
 
1180
- #: options/class.WpdiscuzOptionsSerialized.php:726
1181
  #: options/phrases-layouts/phrases-comment.php:75
1182
  msgid "Vote Up"
1183
  msgstr ""
1184
 
1185
- #: options/class.WpdiscuzOptionsSerialized.php:727
1186
  #: options/phrases-layouts/phrases-comment.php:79
1187
  msgid "Vote Down"
1188
  msgstr ""
1189
 
1190
- #: options/class.WpdiscuzOptionsSerialized.php:728
1191
  #: options/phrases-layouts/phrases-notification.php:61
1192
  msgid "Vote Counted"
1193
  msgstr ""
1194
 
1195
- #: options/class.WpdiscuzOptionsSerialized.php:729
1196
  msgid "You've already voted for this comment"
1197
  msgstr ""
1198
 
1199
- #: options/class.WpdiscuzOptionsSerialized.php:730
1200
  #: options/phrases-layouts/phrases-notification.php:69
1201
  msgid "Voting Error"
1202
  msgstr ""
1203
 
1204
- #: options/class.WpdiscuzOptionsSerialized.php:731
1205
  msgid "You Must Be Logged In To Vote"
1206
  msgstr ""
1207
 
1208
- #: options/class.WpdiscuzOptionsSerialized.php:732
1209
  msgid "You cannot vote for your comment"
1210
  msgstr ""
1211
 
1212
- #: options/class.WpdiscuzOptionsSerialized.php:733
1213
  msgid "You are not allowed to vote for this comment"
1214
  msgstr ""
1215
 
1216
- #: options/class.WpdiscuzOptionsSerialized.php:734
1217
  #: options/phrases-layouts/phrases-notification.php:85
1218
  msgid "Invalid Captcha Code"
1219
  msgstr ""
1220
 
1221
- #: options/class.WpdiscuzOptionsSerialized.php:735
1222
  #: options/phrases-layouts/phrases-notification.php:89
1223
  msgid "Some of field value is invalid"
1224
  msgstr ""
1225
 
1226
- #: options/class.WpdiscuzOptionsSerialized.php:736
1227
  msgid "new comment"
1228
  msgstr ""
1229
 
1230
- #: options/class.WpdiscuzOptionsSerialized.php:737
1231
  msgid "new comments"
1232
  msgstr ""
1233
 
1234
- #: options/class.WpdiscuzOptionsSerialized.php:738
1235
  msgid "Comment awaiting moderation"
1236
  msgstr ""
1237
 
1238
- #: options/class.WpdiscuzOptionsSerialized.php:739
1239
  msgid "new reply on your comment"
1240
  msgstr ""
1241
 
1242
- #: options/class.WpdiscuzOptionsSerialized.php:740
1243
  msgid "new replies on your comments"
1244
  msgstr ""
1245
 
1246
- #: options/class.WpdiscuzOptionsSerialized.php:741
1247
  msgid "New"
1248
  msgstr ""
1249
 
1250
- #: options/class.WpdiscuzOptionsSerialized.php:742
1251
  msgid "Sorry, the comment was not updated"
1252
  msgstr ""
1253
 
1254
- #: options/class.WpdiscuzOptionsSerialized.php:743
1255
  msgid "Sorry, this comment no longer possible to edit"
1256
  msgstr ""
1257
 
1258
- #: options/class.WpdiscuzOptionsSerialized.php:744
1259
  msgid "You've not made any changes"
1260
  msgstr ""
1261
 
1262
- #: options/class.WpdiscuzOptionsSerialized.php:745
1263
  msgid "Save"
1264
  msgstr ""
1265
 
1266
- #: options/class.WpdiscuzOptionsSerialized.php:746
1267
  msgid "Cancel"
1268
  msgstr ""
1269
 
1270
- #: options/class.WpdiscuzOptionsSerialized.php:747
1271
  msgid "Input is too short"
1272
  msgstr ""
1273
 
1274
- #: options/class.WpdiscuzOptionsSerialized.php:748
1275
  msgid "Input is too long"
1276
  msgstr ""
1277
 
1278
- #: options/class.WpdiscuzOptionsSerialized.php:749
1279
  msgid "Read more &raquo;"
1280
  msgstr ""
1281
 
1282
- #: options/class.WpdiscuzOptionsSerialized.php:750
1283
  msgid "Anonymous"
1284
  msgstr ""
1285
 
1286
- #: options/class.WpdiscuzOptionsSerialized.php:751
1287
  #: options/phrases-layouts/phrases-notification.php:118
1288
  msgid "Please fill out required fields"
1289
  msgstr ""
1290
 
1291
- #: options/class.WpdiscuzOptionsSerialized.php:752
1292
  #: options/phrases-layouts/phrases-form.php:75
1293
  msgid "Connect with"
1294
  msgstr ""
1295
 
1296
- #: options/class.WpdiscuzOptionsSerialized.php:753
1297
  #: options/phrases-layouts/phrases-notification.php:11
1298
  msgid "You're subscribed to"
1299
  msgstr ""
1300
 
1301
- #: options/class.WpdiscuzOptionsSerialized.php:754
1302
  msgid "Participate in this discussion via email"
1303
  msgstr ""
1304
 
1305
- #: options/class.WpdiscuzOptionsSerialized.php:755
1306
  msgid "&rsaquo;"
1307
  msgstr ""
1308
 
1309
- #: options/class.WpdiscuzOptionsSerialized.php:756
1310
  msgid "Comment was approved"
1311
  msgstr ""
1312
 
1313
- #: options/class.WpdiscuzOptionsSerialized.php:757
1314
  msgid ""
1315
  "Hi [COMMENT_AUTHOR],<br/><br/>your comment was approved.<br/><br/><a href="
1316
  "\"[COMMENT_URL]\">[COMMENT_URL]</a><br/><br/>[COMMENT_CONTENT]"
1317
  msgstr ""
1318
 
1319
- #: options/class.WpdiscuzOptionsSerialized.php:758
1320
  msgid "Comments are closed."
1321
  msgstr ""
1322
 
1323
- #: options/class.WpdiscuzOptionsSerialized.php:759
1324
  #: options/phrases-layouts/phrases-comment.php:99
1325
  msgid "Stick this comment - (on)"
1326
  msgstr ""
1327
 
1328
- #: options/class.WpdiscuzOptionsSerialized.php:760
1329
  #: options/phrases-layouts/phrases-comment.php:103
1330
  msgid "Stick this comment - (off)"
1331
  msgstr ""
1332
 
1333
- #: options/class.WpdiscuzOptionsSerialized.php:761
1334
  #: options/phrases-layouts/phrases-comment.php:107
1335
  msgid "Stick"
1336
  msgstr ""
1337
 
1338
- #: options/class.WpdiscuzOptionsSerialized.php:762
1339
  #: options/phrases-layouts/phrases-comment.php:111
1340
  msgid "Unstick"
1341
  msgstr ""
1342
 
1343
- #: options/class.WpdiscuzOptionsSerialized.php:763
1344
  msgid "Sticky comment thread"
1345
  msgstr ""
1346
 
1347
- #: options/class.WpdiscuzOptionsSerialized.php:764
1348
  #: options/phrases-layouts/phrases-comment.php:119
1349
  msgid "Close this comment - (on)"
1350
  msgstr ""
1351
 
1352
- #: options/class.WpdiscuzOptionsSerialized.php:765
1353
  #: options/phrases-layouts/phrases-comment.php:123
1354
  msgid "Close this comment - (off)"
1355
  msgstr ""
1356
 
1357
- #: options/class.WpdiscuzOptionsSerialized.php:766
1358
  #: options/phrases-layouts/phrases-comment.php:127
1359
  msgid "Close"
1360
  msgstr ""
1361
 
1362
- #: options/class.WpdiscuzOptionsSerialized.php:767
1363
  #: options/phrases-layouts/phrases-comment.php:131
1364
  msgid "Open"
1365
  msgstr ""
1366
 
1367
- #: options/class.WpdiscuzOptionsSerialized.php:768
1368
  msgid "Closed comment thread"
1369
  msgstr ""
1370
 
@@ -1655,46 +1659,64 @@ msgid "WP Session"
1655
  msgstr ""
1656
 
1657
  #: options/options-layouts/settings-form.php:82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1658
  msgid "Enable Quicktags"
1659
  msgstr ""
1660
 
1661
- #: options/options-layouts/settings-form.php:83
1662
  msgid ""
1663
  "Quicktag is a on-click button that inserts HTML in to comment textarea. For "
1664
  "example the \"b\" Quicktag will insert the HTML bold tags < b > < /b >."
1665
  msgstr ""
1666
 
1667
- #: options/options-layouts/settings-form.php:92
1668
  msgid "Enable automatic image URL to image HTML conversion"
1669
  msgstr ""
1670
 
1671
- #: options/options-layouts/settings-form.php:101
1672
  msgid "Allow comment editing for"
1673
  msgstr ""
1674
 
1675
- #: options/options-layouts/settings-form.php:106
1676
  msgid "Do not allow"
1677
  msgstr ""
1678
 
1679
- #: options/options-layouts/settings-form.php:107
1680
- #: options/options-layouts/settings-form.php:108
1681
  #: options/options-layouts/settings-live-update.php:53
1682
  #: options/options-layouts/settings-live-update.php:54
1683
  #: options/options-layouts/settings-live-update.php:55
1684
  msgid "Minutes"
1685
  msgstr ""
1686
 
1687
- #: options/options-layouts/settings-form.php:109
1688
  #: options/phrases-layouts/phrases-datetime.php:35
1689
  msgid "Hour"
1690
  msgstr ""
1691
 
1692
- #: options/options-layouts/settings-form.php:110
1693
- #: options/options-layouts/settings-form.php:111
1694
  msgid "Hours"
1695
  msgstr ""
1696
 
1697
- #: options/options-layouts/settings-form.php:112
1698
  msgid "Unlimit"
1699
  msgstr ""
1700
 
@@ -2617,7 +2639,7 @@ msgstr ""
2617
  msgid "Spoiler"
2618
  msgstr ""
2619
 
2620
- #: utils/class.WpdiscuzHelper.php:446
2621
  msgid "Sticky"
2622
  msgstr ""
2623
 
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: wpDiscuz\n"
6
+ "POT-Creation-Date: 2018-03-30 18:45+0400\n"
7
+ "PO-Revision-Date: 2018-03-30 18:45+0400\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
28
  msgid "Every 48 hours"
29
  msgstr ""
30
 
31
+ #: class.WpdiscuzCore.php:353
32
+ msgid "We are sorry, but this comment cannot be posted. Please try later."
 
33
  msgstr ""
34
 
35
+ #: class.WpdiscuzCore.php:421
36
  msgid "This is closed comment thread"
37
  msgstr ""
38
 
39
+ #: class.WpdiscuzCore.php:1063 class.WpdiscuzCore.php:1277
40
  #: options/options-layouts/settings-social.php:40
41
  #: options/options-layouts/settings-social.php:42
42
  #: options/options-layouts/settings-social.php:44
44
  msgid "Settings"
45
  msgstr ""
46
 
47
+ #: class.WpdiscuzCore.php:1065 class.WpdiscuzCore.php:1279
48
  msgid "Phrases"
49
  msgstr ""
50
 
51
+ #: class.WpdiscuzCore.php:1067
52
  msgid "Tools"
53
  msgstr ""
54
 
55
+ #: class.WpdiscuzCore.php:1068 options/html-options.php:22
56
  #: options/html-options.php:64 options/options-layouts/settings-addons.php:14
57
  msgid "Addons"
58
  msgstr ""
59
 
60
+ #: class.WpdiscuzCore.php:1080
61
  msgid "Do you really want to reset all options?"
62
  msgstr ""
63
 
64
+ #: class.WpdiscuzCore.php:1081
65
  msgid "Do you really want to remove voting data?"
66
  msgstr ""
67
 
68
+ #: class.WpdiscuzCore.php:1082
69
  msgid "Do you really want to delete gravatars cache?"
70
  msgstr ""
71
 
72
+ #: class.WpdiscuzCore.php:1119
73
  msgid "Please check one of reasons before sending feedback!"
74
  msgstr ""
75
 
76
+ #: class.WpdiscuzCore.php:1120 utils/deactivation-reason-modal.php:58
77
  msgid "Please provide more information"
78
  msgstr ""
79
 
80
+ #: class.WpdiscuzCore.php:1341 options/phrases-layouts/phrases-comment.php:56
81
  msgid "Admin"
82
  msgstr ""
83
 
84
+ #: class.WpdiscuzCore.php:1343 class.WpdiscuzCore.php:1352
85
  #: options/phrases-layouts/phrases-comment.php:58
86
  msgid "Author"
87
  msgstr ""
88
 
89
+ #: class.WpdiscuzCore.php:1347 options/phrases-layouts/phrases-comment.php:64
90
  msgid "Member"
91
  msgstr ""
92
 
93
+ #: class.WpdiscuzCore.php:1353 options/phrases-layouts/phrases-comment.php:62
94
  msgid "Guest"
95
  msgstr ""
96
 
158
  msgid "Two column"
159
  msgstr ""
160
 
161
+ #: forms/wpDiscuzForm.php:214 forms/wpdFormAttr/Field/Field.php:66
162
  #: forms/wpdFormAttr/Row.php:24
163
  msgid "Delete"
164
  msgstr ""
171
  msgid "Add Field"
172
  msgstr ""
173
 
174
+ #: forms/wpDiscuzForm.php:217 forms/wpdFormAttr/Field/Field.php:63
175
+ #: options/class.WpdiscuzOptionsSerialized.php:690
176
  #: options/phrases-layouts/phrases-comment.php:19
177
  msgid "Edit"
178
  msgstr ""
214
  #: forms/wpdFormAttr/Field/DefaultField/Captcha.php:27
215
  #: forms/wpdFormAttr/Field/DefaultField/Email.php:19
216
  #: forms/wpdFormAttr/Field/DefaultField/Name.php:18
217
+ #: forms/wpdFormAttr/Field/DefaultField/Name.php:65
218
  #: forms/wpdFormAttr/Field/DefaultField/Submit.php:18
219
  #: forms/wpdFormAttr/Field/DefaultField/Website.php:18
220
  #: forms/wpdFormAttr/Field/NumberField.php:12
227
  msgid "Name"
228
  msgstr ""
229
 
230
+ #: forms/wpDiscuzForm.php:413 forms/wpdFormAttr/Field/DefaultField/Email.php:65
231
  #: forms/wpdFormAttr/Form.php:776
232
+ #: options/class.WpdiscuzOptionsSerialized.php:675 options/html-phrases.php:25
233
  msgid "Email"
234
  msgstr ""
235
 
238
  msgstr ""
239
 
240
  #: forms/wpDiscuzForm.php:418
241
+ #: forms/wpdFormAttr/Field/DefaultField/Submit.php:115
242
  #: forms/wpdFormAttr/Form.php:799
243
  msgid "Post Comment"
244
  msgstr ""
478
  msgid "Button Text"
479
  msgstr ""
480
 
481
+ #: forms/wpdFormAttr/Field/DefaultField/Submit.php:76
482
  msgid " - (on)"
483
  msgstr ""
484
 
485
+ #: forms/wpdFormAttr/Field/DefaultField/Submit.php:77
486
  msgid " - (off)"
487
  msgstr ""
488
 
490
  msgid "Enable"
491
  msgstr ""
492
 
493
+ #: forms/wpdFormAttr/Field/DefaultField/Website.php:84
494
  #: forms/wpdFormAttr/Form.php:783
495
  msgid "Website"
496
  msgstr ""
497
 
498
+ #: forms/wpdFormAttr/Field/Field.php:54
499
  msgid " (Submit Button)"
500
  msgstr ""
501
 
502
+ #: forms/wpdFormAttr/Field/Field.php:56
503
  msgid " (CAPTCHA)"
504
  msgstr ""
505
 
506
+ #: forms/wpdFormAttr/Field/Field.php:89
507
  msgid "Add To Form"
508
  msgstr ""
509
 
589
  msgid "Comment Form Fields"
590
  msgstr ""
591
 
592
+ #: options/addons/al/title.php:7 options/class.WpdiscuzOptions.php:338
593
  msgid "Advanced Likers"
594
  msgstr ""
595
 
605
  msgid "More Addons..."
606
  msgstr ""
607
 
608
+ #: options/addons/mu/title.php:7 options/class.WpdiscuzOptions.php:362
609
  msgid "Media Uploader"
610
  msgstr ""
611
 
612
+ #: options/addons/raf/title.php:7 options/class.WpdiscuzOptions.php:342
613
  msgid "Report and Flagging"
614
  msgstr ""
615
 
617
  msgid "Mentioning"
618
  msgstr ""
619
 
620
+ #: options/class.WpdiscuzOptions.php:24 options/class.WpdiscuzOptions.php:108
621
+ #: options/class.WpdiscuzOptions.php:281
622
+ msgid "Hacker?"
623
+ msgstr ""
624
+
625
+ #: options/class.WpdiscuzOptions.php:99
626
  msgid "Settings updated"
627
  msgstr ""
628
 
629
+ #: options/class.WpdiscuzOptions.php:228
630
  msgid "Phrases updated"
631
  msgstr ""
632
 
633
+ #: options/class.WpdiscuzOptions.php:255
634
  msgid "Options were backed up!"
635
  msgstr ""
636
 
637
+ #: options/class.WpdiscuzOptions.php:257
638
  msgid "Cannot back up the options!"
639
  msgstr ""
640
 
641
+ #: options/class.WpdiscuzOptions.php:268
642
  msgid "Options Imported Successfully!"
643
  msgstr ""
644
 
645
+ #: options/class.WpdiscuzOptions.php:270
646
  msgid "Error occured! File content is empty or data is not valid!"
647
  msgstr ""
648
 
649
+ #: options/class.WpdiscuzOptions.php:273
650
  msgid "Error occured! Can not get file content!"
651
  msgstr ""
652
 
653
+ #: options/class.WpdiscuzOptions.php:276
654
  msgid "Error occured! Please choose file!"
655
  msgstr ""
656
 
657
+ #: options/class.WpdiscuzOptions.php:300
658
  msgid ""
659
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
660
  "package."
661
  msgstr ""
662
 
663
+ #: options/class.WpdiscuzOptions.php:301
664
  msgid ""
665
  "Extended information about comment author with Profile, Activity, Votes and "
666
  "Subscriptions Tabs on pop-up window."
667
  msgstr ""
668
 
669
+ #: options/class.WpdiscuzOptions.php:302
670
  msgid ""
671
  "Real-time online user checking, pop-up notification of new online users and "
672
  "online/offline badges."
673
  msgstr ""
674
 
675
+ #: options/class.WpdiscuzOptions.php:303
676
  msgid ""
677
  "Allows to create private comment threads. Rich management options in "
678
  "dashboard by user roles."
679
  msgstr ""
680
 
681
+ #: options/class.WpdiscuzOptions.php:304
682
  msgid ""
683
  "Total control over comment subscriptions. Full list, monitor, manage, "
684
  "filter, unsubscribe, confirm..."
685
  msgstr ""
686
 
687
+ #: options/class.WpdiscuzOptions.php:305
688
  msgid ""
689
  "A full-fledged tool-kit for advertising in comment section of your website. "
690
  "Separate banner and ad managment."
691
  msgstr ""
692
 
693
+ #: options/class.WpdiscuzOptions.php:306
694
  msgid ""
695
  "Allows to mention comments and users in comment text using #comment-id and "
696
  "@username tags."
697
  msgstr ""
698
 
699
+ #: options/class.WpdiscuzOptions.php:307
700
  msgid ""
701
  "See comment likers and voters of each comment. Adds user reputation and "
702
  "badges based on received likes."
703
  msgstr ""
704
 
705
+ #: options/class.WpdiscuzOptions.php:308
706
  msgid ""
707
  "Comment reporting tools. Auto-moderates comments based on number of flags "
708
  "and dislikes."
709
  msgstr ""
710
 
711
+ #: options/class.WpdiscuzOptions.php:309
712
  msgid ""
713
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
714
  "options. Uses free translation API."
715
  msgstr ""
716
 
717
+ #: options/class.WpdiscuzOptions.php:310
718
  msgid ""
719
  "AJAX powered front-end comment search. It starts searching while you type "
720
  "search words. "
721
  msgstr ""
722
 
723
+ #: options/class.WpdiscuzOptions.php:311
724
  msgid ""
725
  "Most voted comments, Active comment threads, Most commented posts, Active "
726
  "comment authors"
727
  msgstr ""
728
 
729
+ #: options/class.WpdiscuzOptions.php:312
730
  msgid ""
731
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
732
  "end."
733
  msgstr ""
734
 
735
+ #: options/class.WpdiscuzOptions.php:313
736
  msgid ""
737
  "Extended comment attachment system. Allows to upload images, videos, audios "
738
  "and other file types."
739
  msgstr ""
740
 
741
+ #: options/class.WpdiscuzOptions.php:314
742
  msgid ""
743
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
744
  "Google reCAPTCHA"
745
  msgstr ""
746
 
747
+ #: options/class.WpdiscuzOptions.php:315
748
  msgid ""
749
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
750
  "myCRED points. "
751
  msgstr ""
752
 
753
+ #: options/class.WpdiscuzOptions.php:316
754
  msgid ""
755
  "Allows censoring comment words. Filters comments and replaces those phrases "
756
  "with custom words."
757
  msgstr ""
758
 
759
+ #: options/class.WpdiscuzOptions.php:322
760
  msgid "Custom Comment Forms"
761
  msgstr ""
762
 
763
+ #: options/class.WpdiscuzOptions.php:323
764
  msgid ""
765
  "You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with "
766
  "custom comment forms and fields. You can create custom comment forms for "
768
  "eaxample: text, dropdown, rating, checkboxes, etc..."
769
  msgstr ""
770
 
771
+ #: options/class.WpdiscuzOptions.php:326
772
  msgid "Emoticons"
773
  msgstr ""
774
 
775
+ #: options/class.WpdiscuzOptions.php:327
776
  msgid ""
777
  "You can add more emotions to your comments using wpDiscuz Emoticons addon."
778
  msgstr ""
779
 
780
+ #: options/class.WpdiscuzOptions.php:330
781
  msgid "Ads Manager"
782
  msgstr ""
783
 
784
+ #: options/class.WpdiscuzOptions.php:331
785
  msgid ""
786
  "Increase your income using ad banners. Comment area is the most active "
787
  "sections for advertising. wpDiscuz Ads Manager addon is designed to help you "
788
  "add banners and control ads in this section."
789
  msgstr ""
790
 
791
+ #: options/class.WpdiscuzOptions.php:334
792
  msgid "User and Comment Mentioning"
793
  msgstr ""
794
 
795
+ #: options/class.WpdiscuzOptions.php:335
796
  msgid ""
797
  "Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters "
798
  "mention comments and users in comment text using #comment-id and @username "
799
  "tags."
800
  msgstr ""
801
 
802
+ #: options/class.WpdiscuzOptions.php:339
803
  msgid ""
804
  "wpDiscuz Advanced Likers addon displays likers and voters of each comment. "
805
  "Adds user reputation and badges based on received likes."
806
  msgstr ""
807
 
808
+ #: options/class.WpdiscuzOptions.php:343
809
  msgid ""
810
  "Let your commenters help you to determine and remove spam comments. wpDiscuz "
811
  "Report and Flagging addon comes with comment reporting tools. Automaticaly "
812
  "auto-moderates comments based on number of flags and dislikes."
813
  msgstr ""
814
 
815
+ #: options/class.WpdiscuzOptions.php:346
816
  msgid "Comment Translate"
817
  msgstr ""
818
 
819
+ #: options/class.WpdiscuzOptions.php:347
820
  msgid ""
821
  "In most cases the big part of your visitors are not a native speakers of "
822
  "your language. Make your comments comprehensible for all visitors using "
825
  "translation API."
826
  msgstr ""
827
 
828
+ #: options/class.WpdiscuzOptions.php:350
829
  msgid "Comment Search"
830
  msgstr ""
831
 
832
+ #: options/class.WpdiscuzOptions.php:351
833
  msgid ""
834
  "You can let website visitor search in comments. It's always more attractive "
835
  "to find a comment about something that interest you. Using wpDiscuz Comment "
837
  "above comment list."
838
  msgstr ""
839
 
840
+ #: options/class.WpdiscuzOptions.php:354
841
  msgid "wpDiscuz Widgets"
842
  msgstr ""
843
 
844
+ #: options/class.WpdiscuzOptions.php:355
845
  msgid ""
846
  "More Comment Widgets! Most voted comments, Active comment threads, Most "
847
  "commented posts, Active comment authors widgets are available in wpDiscuz "
848
  "Widgets Addon"
849
  msgstr ""
850
 
851
+ #: options/class.WpdiscuzOptions.php:358
852
  msgid "Front-end Moderation"
853
  msgstr ""
854
 
855
+ #: options/class.WpdiscuzOptions.php:359
856
  msgid ""
857
  "You can moderate comments on front-end using all in one powerful yet simple "
858
  "wpDiscuz Frontend Moderation addon."
859
  msgstr ""
860
 
861
+ #: options/class.WpdiscuzOptions.php:363
862
  msgid ""
863
  "You can let website visitors attach images and files to comments and embed "
864
  "video/audio content using wpDiscuz Media Uploader addon."
865
  msgstr ""
866
 
867
+ #: options/class.WpdiscuzOptions.php:366
868
  msgid "Google ReCaptcha"
869
  msgstr ""
870
 
871
+ #: options/class.WpdiscuzOptions.php:367
872
  msgid ""
873
  "Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon "
874
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
875
  msgstr ""
876
 
877
+ #: options/class.WpdiscuzOptions.php:383
878
  msgid "New Addons are available for wpDiscuz Comments Plugin"
879
  msgstr ""
880
 
881
+ #: options/class.WpdiscuzOptions.php:390 options/class.WpdiscuzOptions.php:396
882
  msgid "Go to wpDiscuz Addons subMenu"
883
  msgstr ""
884
 
885
+ #: options/class.WpdiscuzOptions.php:428
886
  msgid "Do you know?"
887
  msgstr ""
888
 
889
+ #: options/class.WpdiscuzOptions.php:441
890
  msgid "More info"
891
  msgstr ""
892
 
893
+ #: options/class.WpdiscuzOptionsSerialized.php:669
894
  msgid "Be the First to Comment!"
895
  msgstr ""
896
 
897
+ #: options/class.WpdiscuzOptionsSerialized.php:670 options/html-phrases.php:23
898
  #: options/phrases-layouts/phrases-general.php:15
899
  msgid "Comment"
900
  msgstr ""
901
 
902
+ #: options/class.WpdiscuzOptionsSerialized.php:671
903
  msgid "Comments"
904
  msgstr ""
905
 
906
+ #: options/class.WpdiscuzOptionsSerialized.php:672
907
  msgid "on"
908
  msgstr ""
909
 
910
+ #: options/class.WpdiscuzOptionsSerialized.php:673
911
  msgid "Start the discussion"
912
  msgstr ""
913
 
914
+ #: options/class.WpdiscuzOptionsSerialized.php:674
915
  msgid "Join the discussion"
916
  msgstr ""
917
 
918
+ #: options/class.WpdiscuzOptionsSerialized.php:676
919
  #: options/phrases-layouts/phrases-form.php:23
920
  msgid "Subscribe"
921
  msgstr ""
922
 
923
+ #: options/class.WpdiscuzOptionsSerialized.php:677
924
  #: options/phrases-layouts/phrases-form.php:27
925
  msgid "Notify of"
926
  msgstr ""
927
 
928
+ #: options/class.WpdiscuzOptionsSerialized.php:678
929
  msgid "new follow-up comments"
930
  msgstr ""
931
 
932
+ #: options/class.WpdiscuzOptionsSerialized.php:679
933
  msgid "new replies to my comments"
934
  msgstr ""
935
 
936
+ #: options/class.WpdiscuzOptionsSerialized.php:680
937
  msgid "Notify of new replies to this comment - (on)"
938
  msgstr ""
939
 
940
+ #: options/class.WpdiscuzOptionsSerialized.php:681
941
  msgid "Notify of new replies to this comment - (off)"
942
  msgstr ""
943
 
944
+ #: options/class.WpdiscuzOptionsSerialized.php:682
945
  #: options/phrases-layouts/phrases-form.php:47
946
  msgid "Sort by"
947
  msgstr ""
948
 
949
+ #: options/class.WpdiscuzOptionsSerialized.php:683
950
  #: options/phrases-layouts/phrases-form.php:51
951
  msgid "newest"
952
  msgstr ""
953
 
954
+ #: options/class.WpdiscuzOptionsSerialized.php:684
955
  #: options/phrases-layouts/phrases-form.php:55
956
  msgid "oldest"
957
  msgstr ""
958
 
959
+ #: options/class.WpdiscuzOptionsSerialized.php:685
960
  #: options/phrases-layouts/phrases-form.php:59
961
  msgid "most voted"
962
  msgstr ""
963
 
964
+ #: options/class.WpdiscuzOptionsSerialized.php:686
965
  msgid "Load More Comments"
966
  msgstr ""
967
 
968
+ #: options/class.WpdiscuzOptionsSerialized.php:687
969
  #: options/phrases-layouts/phrases-general.php:31
970
  msgid "Load Rest of Comments"
971
  msgstr ""
972
 
973
+ #: options/class.WpdiscuzOptionsSerialized.php:688
974
  #: options/phrases-layouts/phrases-comment.php:11
975
  msgid "Reply"
976
  msgstr ""
977
 
978
+ #: options/class.WpdiscuzOptionsSerialized.php:689
979
  #: options/phrases-layouts/phrases-comment.php:15
980
  msgid "Share"
981
  msgstr ""
982
 
983
+ #: options/class.WpdiscuzOptionsSerialized.php:691
984
  #: options/phrases-layouts/phrases-comment.php:23
985
  msgid "Share On Facebook"
986
  msgstr ""
987
 
988
+ #: options/class.WpdiscuzOptionsSerialized.php:692
989
  #: options/phrases-layouts/phrases-comment.php:27
990
  msgid "Share On Twitter"
991
  msgstr ""
992
 
993
+ #: options/class.WpdiscuzOptionsSerialized.php:693
994
  #: options/phrases-layouts/phrases-comment.php:31
995
  msgid "Share On Google"
996
  msgstr ""
997
 
998
+ #: options/class.WpdiscuzOptionsSerialized.php:694
999
  #: options/phrases-layouts/phrases-comment.php:35
1000
  msgid "Share On VKontakte"
1001
  msgstr ""
1002
 
1003
+ #: options/class.WpdiscuzOptionsSerialized.php:695
1004
  #: options/phrases-layouts/phrases-comment.php:39
1005
  msgid "Share On Odnoklassniki"
1006
  msgstr ""
1007
 
1008
+ #: options/class.WpdiscuzOptionsSerialized.php:696
1009
  #: options/phrases-layouts/phrases-comment.php:43
1010
  msgid "Hide Replies"
1011
  msgstr ""
1012
 
1013
+ #: options/class.WpdiscuzOptionsSerialized.php:697
1014
  #: options/phrases-layouts/phrases-comment.php:47
1015
  msgid "View Replies"
1016
  msgstr ""
1017
 
1018
+ #: options/class.WpdiscuzOptionsSerialized.php:698
1019
  msgid "New Comment"
1020
  msgstr ""
1021
 
1022
+ #: options/class.WpdiscuzOptionsSerialized.php:699
1023
  msgid ""
1024
  "Hi [COMMENT_AUTHOR],<br/><br/>new comment on the discussion section you've "
1025
  "been interested in<br/><br/><a href=\"[COMMENT_URL]\">[COMMENT_URL]</a><br/"
1026
  "><br/>[COMMENT_CONTENT]"
1027
  msgstr ""
1028
 
1029
+ #: options/class.WpdiscuzOptionsSerialized.php:700
1030
  msgid "New Reply"
1031
  msgstr ""
1032
 
1033
+ #: options/class.WpdiscuzOptionsSerialized.php:701
1034
  msgid ""
1035
  "Hi [COMMENT_AUTHOR],<br/><br/>new reply on the discussion section you've "
1036
  "been interested in<br/><br/><a href=\"[COMMENT_URL]\">[COMMENT_URL]</a><br/"
1037
  "><br/>[COMMENT_CONTENT]"
1038
  msgstr ""
1039
 
1040
+ #: options/class.WpdiscuzOptionsSerialized.php:702
1041
  msgid "You're subscribed for new replies on this comment"
1042
  msgstr ""
1043
 
1044
+ #: options/class.WpdiscuzOptionsSerialized.php:703
1045
  msgid "You're subscribed for new replies on all your comments"
1046
  msgstr ""
1047
 
1048
+ #: options/class.WpdiscuzOptionsSerialized.php:704
1049
  msgid "You're subscribed for new follow-up comments on this post"
1050
  msgstr ""
1051
 
1052
+ #: options/class.WpdiscuzOptionsSerialized.php:705
1053
  #: options/phrases-layouts/phrases-email.php:77
1054
  msgid "Unsubscribe"
1055
  msgstr ""
1056
 
1057
+ #: options/class.WpdiscuzOptionsSerialized.php:706
1058
  msgid "Cancel subscription"
1059
  msgstr ""
1060
 
1061
+ #: options/class.WpdiscuzOptionsSerialized.php:707
1062
  #: options/phrases-layouts/phrases-notification.php:19
1063
  msgid "You've successfully unsubscribed."
1064
  msgstr ""
1065
 
1066
+ #: options/class.WpdiscuzOptionsSerialized.php:708
1067
  #: options/phrases-layouts/phrases-notification.php:15
1068
  msgid "You've successfully subscribed."
1069
  msgstr ""
1070
 
1071
+ #: options/class.WpdiscuzOptionsSerialized.php:709
1072
  #: options/phrases-layouts/phrases-email.php:85
1073
  msgid "Confirm your subscription"
1074
  msgstr ""
1075
 
1076
+ #: options/class.WpdiscuzOptionsSerialized.php:710
1077
  #: options/phrases-layouts/phrases-email.php:89
1078
  msgid "You've successfully confirmed your subscription."
1079
  msgstr ""
1080
 
1081
+ #: options/class.WpdiscuzOptionsSerialized.php:711
1082
  msgid "Subscribe Confirmation"
1083
  msgstr ""
1084
 
1085
+ #: options/class.WpdiscuzOptionsSerialized.php:712
1086
  msgid ""
1087
  "Hi, <br/> You just subscribed for new comments on our website. This means "
1088
  "you will receive an email when new comments are posted according to "
1091
  "you again. <br/><br/><a href=\"[POST_URL]\">[POST_TITLE]</a>"
1092
  msgstr ""
1093
 
1094
+ #: options/class.WpdiscuzOptionsSerialized.php:713
1095
  msgid "please fill out this field to comment"
1096
  msgstr ""
1097
 
1098
+ #: options/class.WpdiscuzOptionsSerialized.php:714
1099
  msgid "email address is invalid"
1100
  msgstr ""
1101
 
1102
+ #: options/class.WpdiscuzOptionsSerialized.php:715
1103
  msgid "url is invalid"
1104
  msgstr ""
1105
 
1106
+ #: options/class.WpdiscuzOptionsSerialized.php:716
1107
  msgid "year"
1108
  msgstr ""
1109
 
1110
+ #: options/class.WpdiscuzOptionsSerialized.php:717
1111
  msgid "years"
1112
  msgstr ""
1113
 
1114
+ #: options/class.WpdiscuzOptionsSerialized.php:718
1115
  msgid "month"
1116
  msgstr ""
1117
 
1118
+ #: options/class.WpdiscuzOptionsSerialized.php:719
1119
  msgid "months"
1120
  msgstr ""
1121
 
1122
+ #: options/class.WpdiscuzOptionsSerialized.php:720
1123
  msgid "day"
1124
  msgstr ""
1125
 
1126
+ #: options/class.WpdiscuzOptionsSerialized.php:721
1127
  msgid "days"
1128
  msgstr ""
1129
 
1130
+ #: options/class.WpdiscuzOptionsSerialized.php:722
1131
  msgid "hour"
1132
  msgstr ""
1133
 
1134
+ #: options/class.WpdiscuzOptionsSerialized.php:723
1135
  msgid "hours"
1136
  msgstr ""
1137
 
1138
+ #: options/class.WpdiscuzOptionsSerialized.php:724
1139
  msgid "minute"
1140
  msgstr ""
1141
 
1142
+ #: options/class.WpdiscuzOptionsSerialized.php:725
1143
  msgid "minutes"
1144
  msgstr ""
1145
 
1146
+ #: options/class.WpdiscuzOptionsSerialized.php:726
1147
  msgid "second"
1148
  msgstr ""
1149
 
1150
+ #: options/class.WpdiscuzOptionsSerialized.php:727
1151
  msgid "seconds"
1152
  msgstr ""
1153
 
1154
+ #: options/class.WpdiscuzOptionsSerialized.php:728
1155
  msgid "right now"
1156
  msgstr ""
1157
 
1158
+ #: options/class.WpdiscuzOptionsSerialized.php:729
1159
  msgid "ago"
1160
  msgstr ""
1161
 
1162
+ #: options/class.WpdiscuzOptionsSerialized.php:730
1163
  #: options/phrases-layouts/phrases-notification.php:41
1164
  msgid "You must be"
1165
  msgstr ""
1166
 
1167
+ #: options/class.WpdiscuzOptionsSerialized.php:731
1168
  msgid "You are logged in as"
1169
  msgstr ""
1170
 
1171
+ #: options/class.WpdiscuzOptionsSerialized.php:732
1172
  #: options/phrases-layouts/phrases-notification.php:49
1173
  msgid "Log out"
1174
  msgstr ""
1175
 
1176
+ #: options/class.WpdiscuzOptionsSerialized.php:733
1177
  msgid "logged in"
1178
  msgstr ""
1179
 
1180
+ #: options/class.WpdiscuzOptionsSerialized.php:734
1181
  msgid "to post a comment."
1182
  msgstr ""
1183
 
1184
+ #: options/class.WpdiscuzOptionsSerialized.php:735
1185
  #: options/phrases-layouts/phrases-comment.php:75
1186
  msgid "Vote Up"
1187
  msgstr ""
1188
 
1189
+ #: options/class.WpdiscuzOptionsSerialized.php:736
1190
  #: options/phrases-layouts/phrases-comment.php:79
1191
  msgid "Vote Down"
1192
  msgstr ""
1193
 
1194
+ #: options/class.WpdiscuzOptionsSerialized.php:737
1195
  #: options/phrases-layouts/phrases-notification.php:61
1196
  msgid "Vote Counted"
1197
  msgstr ""
1198
 
1199
+ #: options/class.WpdiscuzOptionsSerialized.php:738
1200
  msgid "You've already voted for this comment"
1201
  msgstr ""
1202
 
1203
+ #: options/class.WpdiscuzOptionsSerialized.php:739
1204
  #: options/phrases-layouts/phrases-notification.php:69
1205
  msgid "Voting Error"
1206
  msgstr ""
1207
 
1208
+ #: options/class.WpdiscuzOptionsSerialized.php:740
1209
  msgid "You Must Be Logged In To Vote"
1210
  msgstr ""
1211
 
1212
+ #: options/class.WpdiscuzOptionsSerialized.php:741
1213
  msgid "You cannot vote for your comment"
1214
  msgstr ""
1215
 
1216
+ #: options/class.WpdiscuzOptionsSerialized.php:742
1217
  msgid "You are not allowed to vote for this comment"
1218
  msgstr ""
1219
 
1220
+ #: options/class.WpdiscuzOptionsSerialized.php:743
1221
  #: options/phrases-layouts/phrases-notification.php:85
1222
  msgid "Invalid Captcha Code"
1223
  msgstr ""
1224
 
1225
+ #: options/class.WpdiscuzOptionsSerialized.php:744
1226
  #: options/phrases-layouts/phrases-notification.php:89
1227
  msgid "Some of field value is invalid"
1228
  msgstr ""
1229
 
1230
+ #: options/class.WpdiscuzOptionsSerialized.php:745
1231
  msgid "new comment"
1232
  msgstr ""
1233
 
1234
+ #: options/class.WpdiscuzOptionsSerialized.php:746
1235
  msgid "new comments"
1236
  msgstr ""
1237
 
1238
+ #: options/class.WpdiscuzOptionsSerialized.php:747
1239
  msgid "Comment awaiting moderation"
1240
  msgstr ""
1241
 
1242
+ #: options/class.WpdiscuzOptionsSerialized.php:748
1243
  msgid "new reply on your comment"
1244
  msgstr ""
1245
 
1246
+ #: options/class.WpdiscuzOptionsSerialized.php:749
1247
  msgid "new replies on your comments"
1248
  msgstr ""
1249
 
1250
+ #: options/class.WpdiscuzOptionsSerialized.php:750
1251
  msgid "New"
1252
  msgstr ""
1253
 
1254
+ #: options/class.WpdiscuzOptionsSerialized.php:751
1255
  msgid "Sorry, the comment was not updated"
1256
  msgstr ""
1257
 
1258
+ #: options/class.WpdiscuzOptionsSerialized.php:752
1259
  msgid "Sorry, this comment no longer possible to edit"
1260
  msgstr ""
1261
 
1262
+ #: options/class.WpdiscuzOptionsSerialized.php:753
1263
  msgid "You've not made any changes"
1264
  msgstr ""
1265
 
1266
+ #: options/class.WpdiscuzOptionsSerialized.php:754
1267
  msgid "Save"
1268
  msgstr ""
1269
 
1270
+ #: options/class.WpdiscuzOptionsSerialized.php:755
1271
  msgid "Cancel"
1272
  msgstr ""
1273
 
1274
+ #: options/class.WpdiscuzOptionsSerialized.php:756
1275
  msgid "Input is too short"
1276
  msgstr ""
1277
 
1278
+ #: options/class.WpdiscuzOptionsSerialized.php:757
1279
  msgid "Input is too long"
1280
  msgstr ""
1281
 
1282
+ #: options/class.WpdiscuzOptionsSerialized.php:758
1283
  msgid "Read more &raquo;"
1284
  msgstr ""
1285
 
1286
+ #: options/class.WpdiscuzOptionsSerialized.php:759
1287
  msgid "Anonymous"
1288
  msgstr ""
1289
 
1290
+ #: options/class.WpdiscuzOptionsSerialized.php:760
1291
  #: options/phrases-layouts/phrases-notification.php:118
1292
  msgid "Please fill out required fields"
1293
  msgstr ""
1294
 
1295
+ #: options/class.WpdiscuzOptionsSerialized.php:761
1296
  #: options/phrases-layouts/phrases-form.php:75
1297
  msgid "Connect with"
1298
  msgstr ""
1299
 
1300
+ #: options/class.WpdiscuzOptionsSerialized.php:762
1301
  #: options/phrases-layouts/phrases-notification.php:11
1302
  msgid "You're subscribed to"
1303
  msgstr ""
1304
 
1305
+ #: options/class.WpdiscuzOptionsSerialized.php:763
1306
  msgid "Participate in this discussion via email"
1307
  msgstr ""
1308
 
1309
+ #: options/class.WpdiscuzOptionsSerialized.php:764
1310
  msgid "&rsaquo;"
1311
  msgstr ""
1312
 
1313
+ #: options/class.WpdiscuzOptionsSerialized.php:765
1314
  msgid "Comment was approved"
1315
  msgstr ""
1316
 
1317
+ #: options/class.WpdiscuzOptionsSerialized.php:766
1318
  msgid ""
1319
  "Hi [COMMENT_AUTHOR],<br/><br/>your comment was approved.<br/><br/><a href="
1320
  "\"[COMMENT_URL]\">[COMMENT_URL]</a><br/><br/>[COMMENT_CONTENT]"
1321
  msgstr ""
1322
 
1323
+ #: options/class.WpdiscuzOptionsSerialized.php:767
1324
  msgid "Comments are closed."
1325
  msgstr ""
1326
 
1327
+ #: options/class.WpdiscuzOptionsSerialized.php:768
1328
  #: options/phrases-layouts/phrases-comment.php:99
1329
  msgid "Stick this comment - (on)"
1330
  msgstr ""
1331
 
1332
+ #: options/class.WpdiscuzOptionsSerialized.php:769
1333
  #: options/phrases-layouts/phrases-comment.php:103
1334
  msgid "Stick this comment - (off)"
1335
  msgstr ""
1336
 
1337
+ #: options/class.WpdiscuzOptionsSerialized.php:770
1338
  #: options/phrases-layouts/phrases-comment.php:107
1339
  msgid "Stick"
1340
  msgstr ""
1341
 
1342
+ #: options/class.WpdiscuzOptionsSerialized.php:771
1343
  #: options/phrases-layouts/phrases-comment.php:111
1344
  msgid "Unstick"
1345
  msgstr ""
1346
 
1347
+ #: options/class.WpdiscuzOptionsSerialized.php:772
1348
  msgid "Sticky comment thread"
1349
  msgstr ""
1350
 
1351
+ #: options/class.WpdiscuzOptionsSerialized.php:773
1352
  #: options/phrases-layouts/phrases-comment.php:119
1353
  msgid "Close this comment - (on)"
1354
  msgstr ""
1355
 
1356
+ #: options/class.WpdiscuzOptionsSerialized.php:774
1357
  #: options/phrases-layouts/phrases-comment.php:123
1358
  msgid "Close this comment - (off)"
1359
  msgstr ""
1360
 
1361
+ #: options/class.WpdiscuzOptionsSerialized.php:775
1362
  #: options/phrases-layouts/phrases-comment.php:127
1363
  msgid "Close"
1364
  msgstr ""
1365
 
1366
+ #: options/class.WpdiscuzOptionsSerialized.php:776
1367
  #: options/phrases-layouts/phrases-comment.php:131
1368
  msgid "Open"
1369
  msgstr ""
1370
 
1371
+ #: options/class.WpdiscuzOptionsSerialized.php:777
1372
  msgid "Closed comment thread"
1373
  msgstr ""
1374
 
1659
  msgstr ""
1660
 
1661
  #: options/options-layouts/settings-form.php:82
1662
+ msgid "Spam Protection"
1663
+ msgstr ""
1664
+
1665
+ #: options/options-layouts/settings-form.php:84
1666
+ msgid ""
1667
+ "You should purge caches after each key generation otherwise the plugin may "
1668
+ "work not correctly"
1669
+ msgstr ""
1670
+
1671
+ #: options/options-layouts/settings-form.php:87
1672
+ msgid "Leave the field empty if you don't want to use this feature"
1673
+ msgstr ""
1674
+
1675
+ #: options/options-layouts/settings-form.php:92
1676
+ msgid "Generate"
1677
+ msgstr ""
1678
+
1679
+ #: options/options-layouts/settings-form.php:97
1680
  msgid "Enable Quicktags"
1681
  msgstr ""
1682
 
1683
+ #: options/options-layouts/settings-form.php:98
1684
  msgid ""
1685
  "Quicktag is a on-click button that inserts HTML in to comment textarea. For "
1686
  "example the \"b\" Quicktag will insert the HTML bold tags < b > < /b >."
1687
  msgstr ""
1688
 
1689
+ #: options/options-layouts/settings-form.php:107
1690
  msgid "Enable automatic image URL to image HTML conversion"
1691
  msgstr ""
1692
 
1693
+ #: options/options-layouts/settings-form.php:116
1694
  msgid "Allow comment editing for"
1695
  msgstr ""
1696
 
1697
+ #: options/options-layouts/settings-form.php:121
1698
  msgid "Do not allow"
1699
  msgstr ""
1700
 
1701
+ #: options/options-layouts/settings-form.php:122
1702
+ #: options/options-layouts/settings-form.php:123
1703
  #: options/options-layouts/settings-live-update.php:53
1704
  #: options/options-layouts/settings-live-update.php:54
1705
  #: options/options-layouts/settings-live-update.php:55
1706
  msgid "Minutes"
1707
  msgstr ""
1708
 
1709
+ #: options/options-layouts/settings-form.php:124
1710
  #: options/phrases-layouts/phrases-datetime.php:35
1711
  msgid "Hour"
1712
  msgstr ""
1713
 
1714
+ #: options/options-layouts/settings-form.php:125
1715
+ #: options/options-layouts/settings-form.php:126
1716
  msgid "Hours"
1717
  msgstr ""
1718
 
1719
+ #: options/options-layouts/settings-form.php:127
1720
  msgid "Unlimit"
1721
  msgstr ""
1722
 
2639
  msgid "Spoiler"
2640
  msgstr ""
2641
 
2642
+ #: utils/class.WpdiscuzHelper.php:439
2643
  msgid "Sticky"
2644
  msgstr ""
2645
 
options/class.WpdiscuzOptions.php CHANGED
@@ -93,6 +93,7 @@ class WpdiscuzOptions implements WpDiscuzConstants {
93
  $this->optionsSerialized->gravatarCacheTimeout = isset($_POST['gravatarCacheTimeout']) ? $_POST['gravatarCacheTimeout'] : 10;
94
  $this->optionsSerialized->theme = isset($_POST['theme']) ? $_POST['theme'] : 'wpd-default';
95
  $this->optionsSerialized->reverseChildren = isset($_POST['reverseChildren']) ? $_POST['reverseChildren'] : 0;
 
96
  do_action('wpdiscuz_save_options', $_POST);
97
  $this->optionsSerialized->updateOptions();
98
  add_settings_error('wpdiscuz', 'settings_updated', __('Settings updated', 'wpdiscuz'), 'updated');
93
  $this->optionsSerialized->gravatarCacheTimeout = isset($_POST['gravatarCacheTimeout']) ? $_POST['gravatarCacheTimeout'] : 10;
94
  $this->optionsSerialized->theme = isset($_POST['theme']) ? $_POST['theme'] : 'wpd-default';
95
  $this->optionsSerialized->reverseChildren = isset($_POST['reverseChildren']) ? $_POST['reverseChildren'] : 0;
96
+ $this->optionsSerialized->antispamKey = isset($_POST['antispamKey']) ? $_POST['antispamKey'] : '';
97
  do_action('wpdiscuz_save_options', $_POST);
98
  $this->optionsSerialized->updateOptions();
99
  add_settings_error('wpdiscuz', 'settings_updated', __('Settings updated', 'wpdiscuz'), 'updated');
options/class.WpdiscuzOptionsSerialized.php CHANGED
@@ -549,6 +549,14 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
549
  */
550
  public $reverseChildren;
551
 
 
 
 
 
 
 
 
 
552
  /**
553
  * wordpress options
554
  */
@@ -649,6 +657,7 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
649
  $this->gravatarCacheTimeout = isset($options['gravatarCacheTimeout']) ? $options['gravatarCacheTimeout'] : 10;
650
  $this->theme = isset($options['theme']) ? $options['theme'] : 'wpd-default';
651
  $this->reverseChildren = isset($options['reverseChildren']) ? $options['reverseChildren'] : 0;
 
652
  do_action('wpdiscuz_init_options', $this);
653
  }
654
 
@@ -836,6 +845,7 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
836
  'gravatarCacheTimeout' => $this->gravatarCacheTimeout,
837
  'theme' => $this->theme,
838
  'reverseChildren' => $this->reverseChildren,
 
839
  );
840
  return $options;
841
  }
@@ -916,6 +926,7 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
916
  'gravatarCacheTimeout' => '10',
917
  'theme' => 'wpd-default',
918
  'reverseChildren' => 0,
 
919
  'wcf_google_map_api_key' => '',
920
  );
921
  add_option(self::OPTION_SLUG_OPTIONS, serialize($options));
@@ -987,11 +998,7 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
987
  $js_options['facebookAppID'] = $this->facebookAppID;
988
  $js_options['cookiehash'] = COOKIEHASH;
989
  $js_options['isLoadOnlyParentComments'] = $this->isLoadOnlyParentComments;
990
- if (!($antispamKey = get_transient(self::OPTION_SLUG_ANTISPAM))) {
991
- $antispamKey = md5(time() . uniqid());
992
- set_transient(self::OPTION_SLUG_ANTISPAM, $antispamKey, DAY_IN_SECONDS);
993
- }
994
- $js_options['antispamKey'] = $antispamKey;
995
  return $js_options;
996
  }
997
 
@@ -1002,4 +1009,13 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
1002
  }
1003
  }
1004
 
 
 
 
 
 
 
 
 
 
1005
  }
549
  */
550
  public $reverseChildren;
551
 
552
+ /**
553
+ * Type - Input text
554
+ * Available Values - random string (32 chars)
555
+ * Description - Generating unique key for spam protection
556
+ * Default Value - unique key
557
+ */
558
+ public $antispamKey;
559
+
560
  /**
561
  * wordpress options
562
  */
657
  $this->gravatarCacheTimeout = isset($options['gravatarCacheTimeout']) ? $options['gravatarCacheTimeout'] : 10;
658
  $this->theme = isset($options['theme']) ? $options['theme'] : 'wpd-default';
659
  $this->reverseChildren = isset($options['reverseChildren']) ? $options['reverseChildren'] : 0;
660
+ $this->antispamKey = isset($options['antispamKey']) ? $options['antispamKey'] : '';
661
  do_action('wpdiscuz_init_options', $this);
662
  }
663
 
845
  'gravatarCacheTimeout' => $this->gravatarCacheTimeout,
846
  'theme' => $this->theme,
847
  'reverseChildren' => $this->reverseChildren,
848
+ 'antispamKey' => $this->antispamKey,
849
  );
850
  return $options;
851
  }
926
  'gravatarCacheTimeout' => '10',
927
  'theme' => 'wpd-default',
928
  'reverseChildren' => 0,
929
+ 'antispamKey' => $this->generateUniqueKey(),
930
  'wcf_google_map_api_key' => '',
931
  );
932
  add_option(self::OPTION_SLUG_OPTIONS, serialize($options));
998
  $js_options['facebookAppID'] = $this->facebookAppID;
999
  $js_options['cookiehash'] = COOKIEHASH;
1000
  $js_options['isLoadOnlyParentComments'] = $this->isLoadOnlyParentComments;
1001
+ $js_options['ahk'] = $this->antispamKey;
 
 
 
 
1002
  return $js_options;
1003
  }
1004
 
1009
  }
1010
  }
1011
 
1012
+ public function generateUniqueKey($length = 32) {
1013
+ $chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-=';
1014
+ $randomString = '';
1015
+ for ($i = 0; $i < $length; $i++) {
1016
+ $randomString .= $chars[rand(0, strlen($chars) - 1)];
1017
+ }
1018
+ return $randomString;
1019
+ }
1020
+
1021
  }
options/html-options.php CHANGED
@@ -152,7 +152,7 @@ if (!defined('ABSPATH')) {
152
  $resetOptionsUrl = wp_nonce_url($resetOptionsUrl, 'wpdiscuz_reset_options_nonce');
153
  ?>
154
  <a id="wpdiscuz-reset-options" style="float: left;" class="button button-secondary" href="<?php echo $resetOptionsUrl; ?>"><?php _e('Reset Options', 'wpdiscuz'); ?></a>
155
- <?php $voteUrl = admin_url('admin-post.php/?action=removeVoteData&remove=1'); ?>
156
  <a id="wpdiscuz-remove-votes" href="<?php echo wp_nonce_url($voteUrl, 'remove_vote_data'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Remove vote data', 'wpdiscuz'); ?></a>
157
  <input style="float: right;" type="submit" class="button button-primary" name="wc_submit_options" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" />
158
  </p>
152
  $resetOptionsUrl = wp_nonce_url($resetOptionsUrl, 'wpdiscuz_reset_options_nonce');
153
  ?>
154
  <a id="wpdiscuz-reset-options" style="float: left;" class="button button-secondary" href="<?php echo $resetOptionsUrl; ?>"><?php _e('Reset Options', 'wpdiscuz'); ?></a>
155
+ <?php $voteUrl = admin_url('admin-post.php?action=removeVoteData&remove=1'); ?>
156
  <a id="wpdiscuz-remove-votes" href="<?php echo wp_nonce_url($voteUrl, 'remove_vote_data'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Remove vote data', 'wpdiscuz'); ?></a>
157
  <input style="float: right;" type="submit" class="button button-primary" name="wc_submit_options" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" />
158
  </p>
options/options-layouts/settings-addons.php CHANGED
@@ -25,7 +25,7 @@ $showDemos = get_option(WpDiscuzConstants::OPTION_SLUG_SHOW_DEMO, 1);
25
  <label for="wpd-disable-addons" style="display: inline-block; margin-right: 30px;">&nbsp;</label>
26
  <?php
27
  $show = get_option(WpDiscuzConstants::OPTION_SLUG_SHOW_DEMO, 1);
28
- $disableAddonsUrl = admin_url('admin-post.php/?action=disableAddonsDemo&show=' . intval(!$showDemos));
29
  ?>
30
  <input type="hidden" value="<?php echo wp_nonce_url($disableAddonsUrl, 'disableAddonsDemo'); ?>" id="wpd-disable-addons-action" />
31
  </div>
25
  <label for="wpd-disable-addons" style="display: inline-block; margin-right: 30px;">&nbsp;</label>
26
  <?php
27
  $show = get_option(WpDiscuzConstants::OPTION_SLUG_SHOW_DEMO, 1);
28
+ $disableAddonsUrl = admin_url('admin-post.php?action=disableAddonsDemo&show=' . intval(!$showDemos));
29
  ?>
30
  <input type="hidden" value="<?php echo wp_nonce_url($disableAddonsUrl, 'disableAddonsDemo'); ?>" id="wpd-disable-addons-action" />
31
  </div>
options/options-layouts/settings-cache.php CHANGED
@@ -44,7 +44,7 @@ if (!defined('ABSPATH')) {
44
  <?php _e('Purge expired caches', 'wpdiscuz'); ?>
45
  </th>
46
  <td>
47
- <?php $expiredCacheUrl = admin_url('admin-post.php/?action=purgeExpiredGravatarsCaches'); ?>
48
  <a id="wpdiscuz-purge-expired-gravatars-cache" href="<?php echo wp_nonce_url($expiredCacheUrl, 'purgeExpiredGravatarsCaches'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Purge expired caches', 'wpdiscuz'); ?></a>
49
  </td>
50
  </tr>
@@ -53,7 +53,7 @@ if (!defined('ABSPATH')) {
53
  <?php _e('Purge all caches', 'wpdiscuz'); ?>
54
  </th>
55
  <td>
56
- <?php $allCacheUrl = admin_url('admin-post.php/?action=purgeGravatarsCaches'); ?>
57
  <a id="wpdiscuz-purge-gravatars-cache" href="<?php echo wp_nonce_url($allCacheUrl, 'purgeGravatarsCaches'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Purge all caches', 'wpdiscuz'); ?></a>
58
  </td>
59
  </tr>
44
  <?php _e('Purge expired caches', 'wpdiscuz'); ?>
45
  </th>
46
  <td>
47
+ <?php $expiredCacheUrl = admin_url('admin-post.php?action=purgeExpiredGravatarsCaches'); ?>
48
  <a id="wpdiscuz-purge-expired-gravatars-cache" href="<?php echo wp_nonce_url($expiredCacheUrl, 'purgeExpiredGravatarsCaches'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Purge expired caches', 'wpdiscuz'); ?></a>
49
  </td>
50
  </tr>
53
  <?php _e('Purge all caches', 'wpdiscuz'); ?>
54
  </th>
55
  <td>
56
+ <?php $allCacheUrl = admin_url('admin-post.php?action=purgeGravatarsCaches'); ?>
57
  <a id="wpdiscuz-purge-gravatars-cache" href="<?php echo wp_nonce_url($allCacheUrl, 'purgeGravatarsCaches'); ?>" class="button button-secondary" style="margin-left: 5px;"><?php _e('Purge all caches', 'wpdiscuz'); ?></a>
58
  </td>
59
  </tr>
options/options-layouts/settings-form.php CHANGED
@@ -77,6 +77,21 @@ if (!defined('ABSPATH')) {
77
 
78
  </th>
79
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  <tr valign="top">
81
  <th scope="row" style="width:55%;">
82
  <label for="wc_quick_tags"><?php _e('Enable Quicktags', 'wpdiscuz'); ?></label>
77
 
78
  </th>
79
  </tr>
80
+ <tr valign="top">
81
+ <th scope="row">
82
+ <label for="antispamKey"><?php _e('Spam Protection', 'wpdiscuz'); ?></label>
83
+ <p class="wpd-desc">
84
+ <?php _e('You should purge caches after each key generation otherwise the plugin may work not correctly', 'wpdiscuz'); ?>
85
+ </p>
86
+ <p class="wpd-desc">
87
+ <?php _e('Leave the field empty if you don\'t want to use this feature', 'wpdiscuz'); ?>
88
+ </p>
89
+ </th>
90
+ <th>
91
+ <input type="text" value="<?php echo $this->optionsSerialized->antispamKey ?>" name="antispamKey" id="antispamKey" style="padding: 3px 5px;" size="35"/>
92
+ <button type="button" id="generateAntispamKey" class="button button-secondary"><?php _e('Generate', 'wpdiscuz') ?></button>
93
+ </th>
94
+ </tr>
95
  <tr valign="top">
96
  <th scope="row" style="width:55%;">
97
  <label for="wc_quick_tags"><?php _e('Enable Quicktags', 'wpdiscuz'); ?></label>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
3
  Tags: comment, comments, ajax comments, custom comment form, custom comment field
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
- Stable tag: 5.0.5
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -174,21 +174,17 @@ Nothing will be lost! **Comments - wpDiscuz** will show all old comments.
174
 
175
  == Changelog ==
176
 
177
- = Comments - wpDiscuz v5.0.5 =
178
 
179
- * Added: Shortcodes for Notification Emails Subject
180
- * Added: Tool to import subscriptions from "Subscribe To Comments Reloaded" plugin
181
- * Added: Filter hook to change trackback avatar image `wpdiscuz_avatar_trackback`,
182
- * Added: Action hook for General Data Protection Regulation (GDPR) checkbox `wpdiscuz_submit_button_before`,
183
- * Added: Filter hook to manage user labels `wpdiscuz_user_label`
184
- * Changed: Export / Import wpDiscuz Options using .txt file
185
- * Fixed Bug: Gravatar cache issue when passed variable is object
186
- * Fixed Bug: Delete Gravatar cache problem on "cron job" mode.
187
 
188
 
189
  IMPORTANT!
190
 
191
- - wpDiscuz 5.0.3 uses FontAwesome version 5. If you have created custom comment fields with custom icons, please edit and update with new version icons.
192
  - Please update all addons once the wpDiscuz is updated to 5 version. Old addons are not compatible with wpDiscuz 5.
193
  - If you have customized wpDiscuz CSS or comment walker php file in WordPress theme folder please remove those. wpDiscuz 5.x.x versions don't support old template files.
194
  - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
@@ -197,6 +193,18 @@ IMPORTANT!
197
  - If your server PHP version is lower than 5.4, [please change it to higher](https://wordpress.org/support/topic/wpdiscuz-4-requires-php-5-4-and-higher/)
198
 
199
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  = Comments - wpDiscuz v5.0.3 / v5.0.4 =
201
 
202
  * Added : Font-Awesome lib is updated to version 5
3
  Tags: comment, comments, ajax comments, custom comment form, custom comment field
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
+ Stable tag: 5.0.6
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
174
 
175
  == Changelog ==
176
 
177
+ = Comments - wpDiscuz v5.0.6 =
178
 
179
+ * Fixed Bug: "+" symbol in Comment Author Names
180
+ * Fixed Bug: Problem with "Most voted" comment sorting
181
+ * Fixed Bug: Spam protection issue on hosting with hard caching
182
+ * Fixed Bug: Option to insert Antispam key (CAPTCHA Alternative)
 
 
 
 
183
 
184
 
185
  IMPORTANT!
186
 
187
+ - wpDiscuz uses FontAwesome version 5. If you have created custom comment fields with custom icons, please edit and update with new version icons.
188
  - Please update all addons once the wpDiscuz is updated to 5 version. Old addons are not compatible with wpDiscuz 5.
189
  - If you have customized wpDiscuz CSS or comment walker php file in WordPress theme folder please remove those. wpDiscuz 5.x.x versions don't support old template files.
190
  - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
193
  - If your server PHP version is lower than 5.4, [please change it to higher](https://wordpress.org/support/topic/wpdiscuz-4-requires-php-5-4-and-higher/)
194
 
195
 
196
+ = Comments - wpDiscuz v5.0.5 =
197
+
198
+ * Added: Shortcodes for Notification Emails Subject
199
+ * Added: Tool to import subscriptions from "Subscribe To Comments Reloaded" plugin
200
+ * Added: Filter hook to change trackback avatar image `wpdiscuz_avatar_trackback`,
201
+ * Added: Action hook for General Data Protection Regulation (GDPR) checkbox `wpdiscuz_submit_button_before`,
202
+ * Added: Filter hook to manage user labels `wpdiscuz_user_label`
203
+ * Changed: Export / Import wpDiscuz Options using .txt file
204
+ * Fixed Bug: Gravatar cache issue when passed variable is object
205
+ * Fixed Bug: Delete Gravatar cache problem on "cron job" mode.
206
+
207
+
208
  = Comments - wpDiscuz v5.0.3 / v5.0.4 =
209
 
210
  * Added : Font-Awesome lib is updated to version 5
templates/comment/comment-form.php CHANGED
@@ -256,10 +256,6 @@ if (!post_password_required($post->ID)) {
256
  <?php
257
  $args = array('first_load' => 1);
258
  $showLoadeMore = 1;
259
- $lastParentId = filter_input(INPUT_GET, 'wpdParentID', FILTER_SANITIZE_NUMBER_INT);
260
- if ($lastParentId) {
261
- $args['last_parent_id'] = $lastParentId--;
262
- }
263
 
264
  if ($wpdiscuz->optionsSerialized->showSortingButtons && $wpdiscuz->optionsSerialized->mostVotedByDefault && !$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
265
  $args['orderby'] = 'by_vote';
@@ -278,11 +274,11 @@ if (!post_password_required($post->ID)) {
278
  $loadMoreButtonText = ($wpdiscuz->optionsSerialized->commentListLoadType == 1) ? $wpdiscuz->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : $wpdiscuz->optionsSerialized->phrases['wc_load_more_submit_text'];
279
  ?>
280
  <div class="wc-load-more-submit-wrap">
281
- <a class="wc-load-more-link" href="<?php echo $wpdiscuz->helper->loadMoreLink($commentData['last_parent_id'], $post->ID); ?>">
282
  <button name="submit" class="wc-load-more-submit wc-loaded button">
283
  <?php echo $loadMoreButtonText; ?>
284
  </button>
285
- </a>
286
  </div>
287
  <input id="wpdiscuzHasMoreComments" type="hidden" value="<?php echo $commentData['is_show_load_more']; ?>" />
288
  <?php
256
  <?php
257
  $args = array('first_load' => 1);
258
  $showLoadeMore = 1;
 
 
 
 
259
 
260
  if ($wpdiscuz->optionsSerialized->showSortingButtons && $wpdiscuz->optionsSerialized->mostVotedByDefault && !$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
261
  $args['orderby'] = 'by_vote';
274
  $loadMoreButtonText = ($wpdiscuz->optionsSerialized->commentListLoadType == 1) ? $wpdiscuz->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : $wpdiscuz->optionsSerialized->phrases['wc_load_more_submit_text'];
275
  ?>
276
  <div class="wc-load-more-submit-wrap">
277
+ <div class="wc-load-more-link" data-lastparentid="<?php echo $commentData['last_parent_id']; ?>">
278
  <button name="submit" class="wc-load-more-submit wc-loaded button">
279
  <?php echo $loadMoreButtonText; ?>
280
  </button>
281
+ </div>
282
  </div>
283
  <input id="wpdiscuzHasMoreComments" type="hidden" value="<?php echo $commentData['is_show_load_more']; ?>" />
284
  <?php
utils/class.WpdiscuzHelper.php CHANGED
@@ -415,13 +415,6 @@ class WpdiscuzHelper implements WpDiscuzConstants {
415
  return $authorURL;
416
  }
417
 
418
- public function loadMoreLink($parentCommentID, $post_id) {
419
- global $wp_rewrite;
420
- $loadMoreLink = !$wp_rewrite->using_permalinks() ? get_permalink($post_id) . "&" : get_permalink($post_id) . "?";
421
- $loadMoreLink .= 'wpdParentID=' . $parentCommentID;
422
- return $loadMoreLink;
423
- }
424
-
425
  public static function getCurrentUser() {
426
  global $user_ID;
427
  if ($user_ID) {
415
  return $authorURL;
416
  }
417
 
 
 
 
 
 
 
 
418
  public static function getCurrentUser() {
419
  global $user_ID;
420
  if ($user_ID) {
utils/class.WpdiscuzOptimizationHelper.php CHANGED
@@ -54,12 +54,10 @@ class WpdiscuzOptimizationHelper {
54
  * @param type $comment current comment object
55
  */
56
  public function statusEventHandler($newStatus, $oldStatus, $comment) {
57
- if ($newStatus != $oldStatus) {
58
- if ($newStatus == 'approved') {
59
- $this->notifyOnApprove($comment);
60
- if ($this->optionsSerialized->isNotifyOnCommentApprove) {
61
- $this->emailHelper->notifyOnApproving($comment);
62
- }
63
  }
64
  }
65
  }
@@ -111,7 +109,7 @@ class WpdiscuzOptimizationHelper {
111
  wp_redirect(admin_url('edit-comments.php?page=' . WpdiscuzCore::PAGE_SETTINGS));
112
  }
113
  }
114
-
115
  public function cleanCommentRelatedRows($commentId) {
116
  $this->dbManager->deleteSubscriptions($commentId);
117
  $this->dbManager->deleteVotes($commentId);
54
  * @param type $comment current comment object
55
  */
56
  public function statusEventHandler($newStatus, $oldStatus, $comment) {
57
+ if ($newStatus != $oldStatus && $newStatus == 'approved') {
58
+ $this->notifyOnApprove($comment);
59
+ if ($this->optionsSerialized->isNotifyOnCommentApprove) {
60
+ $this->emailHelper->notifyOnApproving($comment);
 
 
61
  }
62
  }
63
  }
109
  wp_redirect(admin_url('edit-comments.php?page=' . WpdiscuzCore::PAGE_SETTINGS));
110
  }
111
  }
112
+
113
  public function cleanCommentRelatedRows($commentId) {
114
  $this->dbManager->deleteSubscriptions($commentId);
115
  $this->dbManager->deleteVotes($commentId);