Comments – wpDiscuz - Version 5.2.0

Version Description

Download this release

Release Info

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

Code changes from version 5.1.7 to 5.2.0

assets/addons/bundle/header.png ADDED
Binary file
assets/addons/bundle/wpdiscuz-bundle.png ADDED
Binary file
assets/css/wpdiscuz-rtl.css CHANGED
@@ -87,9 +87,9 @@ wpdtip{display: inline-block; position: inherit; width: auto;}
87
  #wpcomm .wpdiscuz-form-top-bar{width: 100%; color: #666666;}
88
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-left{float: right; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
89
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-right{float: left; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
90
- #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings{ vertical-align:middle; display: inline-block; color: #666666; padding:1px 10px 1px 10px; font-size: 18px; line-height: 20px; cursor: pointer;}
91
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings:hover{color: #00B38F;}
92
- #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username{display: inline-block; color: #666666; padding:1px 10px 1px 5px; border-right: 1px solid #ccc; font-size:14px; line-height: 20px;}
93
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username span{ display: inline-block;line-height: 22px;vertical-align: bottom;}
94
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username i{ vertical-align:middle; font-size: 21px; display: inline-block; padding: 0px 5px 0px 5px;}
95
  #wpcomm .wc-comment-title{margin:0; line-height:18px; font-weight:bold; padding:15px 10px; font-size:13px; text-align:left; padding-bottom:10px}
87
  #wpcomm .wpdiscuz-form-top-bar{width: 100%; color: #666666;}
88
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-left{float: right; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
89
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-right{float: left; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
90
+ #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings{ vertical-align:middle; display: inline-block; color: #666666; padding:1px 10px 1px 10px; font-size: 18px; line-height: 20px; cursor: pointer; border-left: 1px solid #ccc; margin-left: 10px;}
91
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings:hover{color: #00B38F;}
92
+ #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username{display: inline-block; color: #666666; padding:1px 0px 1px 5px; font-size:14px; line-height: 20px;}
93
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username span{ display: inline-block;line-height: 22px;vertical-align: bottom;}
94
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username i{ vertical-align:middle; font-size: 21px; display: inline-block; padding: 0px 5px 0px 5px;}
95
  #wpcomm .wc-comment-title{margin:0; line-height:18px; font-weight:bold; padding:15px 10px; font-size:13px; text-align:left; padding-bottom:10px}
assets/css/wpdiscuz.css CHANGED
@@ -88,9 +88,9 @@ wpdtip{display: inline-block; position: inherit; width: auto;}
88
  #wpcomm .wpdiscuz-form-top-bar{width: 100%; color: #666666;}
89
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-left{float: left; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
90
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-right{float: right; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
91
- #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings{ vertical-align:middle; display: inline-block; color: #666666; padding:1px 10px 1px 10px; font-size: 18px; line-height: 20px; cursor: pointer;}
92
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings:hover{color: #00B38F;}
93
- #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username{display: inline-block; color: #666666; padding:1px 5px 1px 10px; border-left: 1px solid #ccc; font-size:14px; line-height: 20px;}
94
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username span{ display: inline-block;line-height: 22px;vertical-align: bottom;}
95
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username i{ vertical-align:middle; font-size: 21px; display: inline-block; padding: 0px 5px 0px 5px;}
96
  #wpcomm .wc-comment-title{margin:0; line-height:18px; font-weight:bold; padding:15px 10px; font-size:13px; text-align:right; padding-bottom:10px}
88
  #wpcomm .wpdiscuz-form-top-bar{width: 100%; color: #666666;}
89
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-left{float: left; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
90
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-ftb-right{float: right; padding: 12px 0px 10px 0px; font-size: 14px; line-height: 20px;}
91
+ #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings{ vertical-align:middle; display: inline-block; color: #666666; padding:1px 10px 1px 10px; font-size: 18px; line-height: 20px; cursor: pointer; border-right: 1px solid #ccc; margin-right: 10px;}
92
  #wpcomm .wpdiscuz-form-top-bar .wpdiscuz-user-settings:hover{color: #00B38F;}
93
+ #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username{display: inline-block; color: #666666; padding:1px 5px 1px 0px; font-size:14px; line-height: 20px;}
94
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username span{ display: inline-block;line-height: 22px;vertical-align: bottom;}
95
  #wpcomm .wpdiscuz-form-top-bar #wc_show_hide_loggedin_username i{ vertical-align:middle; font-size: 21px; display: inline-block; padding: 0px 5px 0px 5px;}
96
  #wpcomm .wc-comment-title{margin:0; line-height:18px; font-weight:bold; padding:15px 10px; font-size:13px; text-align:right; padding-bottom:10px}
assets/js/wpdiscuz-user-content.js CHANGED
@@ -20,7 +20,6 @@ jQuery(document).ready(function ($) {
20
  });
21
 
22
  function wpdFullInfo(btn, data) {
23
- console.log(btn);
24
  var icon = $('.fas', btn);
25
  var oldClass = icon.attr('class');
26
  icon.removeClass();
20
  });
21
 
22
  function wpdFullInfo(btn, data) {
 
23
  var icon = $('.fas', btn);
24
  var oldClass = icon.attr('class');
25
  icon.removeClass();
assets/js/wpdiscuz.js CHANGED
@@ -23,7 +23,7 @@ jQuery(document).ready(function ($) {
23
  } else {
24
  var wpdiscuzCommentsOrder = wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuzCommentsOrder;
25
  var wpdiscuzCommentsOrderBy = wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuzCommentOrderBy;
26
- }
27
  var commentsVoteOrder = wpdiscuzAjaxObj.wpdiscuz_options.commentsVoteOrder;
28
  var storeCommenterData = wpdiscuzAjaxObj.wpdiscuz_options.storeCommenterData;
29
  var wpdiscuzLoadCount = 1;
@@ -49,21 +49,11 @@ jQuery(document).ready(function ($) {
49
  Cookies.set(wpdiscuzLastVisitKey, (JSON.stringify(wpdiscuzLastVisit)), {expires: wpdiscuzLastVisitExpires, path: window.location});
50
  }
51
 
52
- // if (commentsVoteOrder) {
53
- // $('.wpdiscuz-vote-sort-up').addClass('wpdiscuz-sort-button-active');
54
- // wpdiscuzCommentOrderBy = 'by_vote';
55
- // }
56
- // else {
57
- // $('.wpdiscuz-date-sort-' + wpdiscuzCommentOrder).addClass('wpdiscuz-sort-button-active');
58
- // }
59
  $('#wc_unsubscribe_message, #wc_delete_content_message, #wc_follow_message').delay(3000).fadeOut(1500, function () {
60
  $(this).remove();
61
  location.href = location.href.substring(0, location.href.indexOf('wpdiscuzUrlAnchor') - 1);
62
  });
63
 
64
- if ($('.wc_main_comm_form').length) {
65
- //wpdiscuzReplaceValidationUI($('.wc_main_comm_form')[0]);
66
- }
67
  $(document).delegate('.wc-reply-button', 'click', function () {
68
  wpdiscuzReplyButton = $(this);
69
  if ($(this).hasClass('wpdiscuz-clonned')) {
@@ -127,7 +117,6 @@ jQuery(document).ready(function ($) {
127
  $('.wpdiscuz-children-button-text', toggle).text(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
128
  }
129
  });
130
- $('.wpdiscuz-children', toggle).toggleClass('wpdiscuz-hidden');
131
  if ($('.wpdiscuz-children-count', toggle).length) {
132
  var replies = $('#wc-comm-' + uniqueID + ' .wc-reply');
133
  $('.wpdiscuz-children-count', toggle).html(replies.length);
@@ -470,7 +459,6 @@ jQuery(document).ready(function ($) {
470
  $('#wc-comm-' + uniqueID + ' > .wc-comment-right .wc-comment-footer .wc_editable_comment').hide();
471
  $('#wc-comm-' + uniqueID + ' > .wc-comment-right .wc-comment-footer .wc_cancel_edit').css('display', 'inline-block');
472
  var editForm = $('#wc-comm-' + uniqueID + ' > .wc-comment-right #wpdiscuz-edit-form');
473
- //wpdiscuzReplaceValidationUI(editForm[0]);
474
  } else {
475
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
476
  wpdiscuzAjaxObj.setCommentMessage(editButton, messageKey, message, false);
@@ -734,7 +722,6 @@ jQuery(document).ready(function ($) {
734
  });
735
  $('#wpcomm .wc-thread-wrapper').prepend(message);
736
  wpdiscuzLoadCount = parseInt(r.loadCount);
737
- } else {
738
  }
739
  setActiveButton(clickedBtn);
740
  setLoadMoreVisibility(r);
@@ -945,7 +932,6 @@ jQuery(document).ready(function ($) {
945
  var uniqueId = getUniqueID(field, 0);
946
  $('#wpdiscuz_form_anchor-' + uniqueId).before(replaceUniqueId(uniqueId));
947
  var secondaryFormWrapper = $('#wc-secondary-form-wrapper-' + uniqueId);
948
- //wpdiscuzReplaceValidationUI($('.wc_comm_form', secondaryFormWrapper)[0]);
949
  secondaryFormWrapper.slideToggle(enableDropAnimation, function () {
950
  field.addClass('wpdiscuz-clonned');
951
  });
@@ -1039,15 +1025,6 @@ jQuery(document).ready(function ($) {
1039
  }
1040
  }
1041
 
1042
- function displayShowHideReplies() {
1043
- $('#wcThreadWrapper .wc-comment').each(function (i) {
1044
- if ($('> .wc-reply', this).length || $(this).hasClass('wpdiscuz-root-comment')) {
1045
- var toggle = $('> .wc-comment-right .wc-comment-footer .wc-toggle', this);
1046
- toggle.removeClass('wpdiscuz-hidden');
1047
- }
1048
- });
1049
- }
1050
-
1051
  function wpdiscuzReset() {
1052
  $('.wpdiscuz_reset').val("");
1053
  }
@@ -1087,60 +1064,8 @@ jQuery(document).ready(function ($) {
1087
  }
1088
  }
1089
 
1090
- //============================== FUNCTIONS ============================== //
1091
-
1092
- //=================== FORM VALIDATION ================================//
1093
- /* function wpdiscuzReplaceValidationUI(form) {
1094
- form.addEventListener("invalid", function (event) {
1095
- event.preventDefault();
1096
- }, true);
1097
- form.addEventListener("submit", function (event) {
1098
- if (!this.checkValidity()) {
1099
- event.preventDefault();
1100
- }
1101
- });
1102
- }
1103
-
1104
- $(document).delegate('.wc_comm_submit, .wc_save_edited_comment', 'click', function () {
1105
- var curentForm = $(this).parents('form');
1106
- var invalidFields = $(':invalid', curentForm),
1107
- errorMessages = $('.error-message', curentForm),
1108
- parent;
1109
-
1110
- for (var i = 0; i < errorMessages.length; i++) {
1111
- errorMessages[ i ].parentNode.removeChild(errorMessages[ i ]);
1112
- }
1113
- for (var i = 0; i < invalidFields.length; i++) {
1114
- parent = invalidFields[ i ].parentNode;
1115
- var oldMsg = parent.querySelector('.wpd-field-invalid');
1116
- if (oldMsg) {
1117
- parent.removeChild(oldMsg);
1118
- }
1119
- if (invalidFields[ i ].validationMessage !== '') {
1120
- parent.insertAdjacentHTML("beforeend", "<div class='wpd-field-invalid'><span>" +
1121
- invalidFields[ i ].validationMessage +
1122
- "</span></div>");
1123
- }
1124
- }
1125
- });
1126
-
1127
- function wpdiscuzRemoveError(field) {
1128
- var wpdiscuzErrorDiv = $(field).parents('div.wpdiscuz-item').find('.wpd-field-invalid');
1129
- if (wpdiscuzErrorDiv) {
1130
- wpdiscuzErrorDiv.remove();
1131
- }
1132
- }
1133
- $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'click', function () {
1134
- wpdiscuzRemoveError($(this));
1135
- });
1136
-
1137
- $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'focus', function () {
1138
- wpdiscuzRemoveError($(this));
1139
- });*/
1140
-
1141
  $(document).delegate('.wpd-required-group', 'change', function () {
1142
  if ($('input:checked', this).length !== 0) {
1143
- //$('.wpd-field-invalid', this).remove();
1144
  $('input', $(this)).removeAttr('required');
1145
  } else {
1146
  $('input', $(this)).attr('required', 'required');
@@ -1172,6 +1097,7 @@ jQuery(document).ready(function ($) {
1172
  $('#wc-comm-' + uniqueId + ' .wc-toggle .fas').removeClass('fa-chevron-down').addClass('fa-chevron-up').removeClass('wpdiscuz-show-replies').attr('title', wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
1173
  var toggle = $('#wc-comm-' + uniqueId + ' .wc-toggle');
1174
  $('.wpdiscuz-children-button-text', toggle).text(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
 
1175
  if (obj.callbackFunctions != null && obj.callbackFunctions != 'undefined' && obj.callbackFunctions.length) {
1176
  $.each(obj.callbackFunctions, function (i) {
1177
  if (typeof wpdiscuzAjaxObj[obj.callbackFunctions[i]] === "function") {
@@ -1291,8 +1217,6 @@ jQuery(document).ready(function ($) {
1291
  $('html, body').animate({
1292
  scrollTop: $(scrollToSelector).offset().top - 32
1293
  }, 1000);
1294
- } else {
1295
-
1296
  }
1297
  } catch (e) {
1298
  console.log(e);
@@ -1341,8 +1265,6 @@ jQuery(document).ready(function ($) {
1341
  $('html, body').animate({
1342
  scrollTop: $(scrollToSelector).offset().top - 32
1343
  }, 1000);
1344
- } else {
1345
-
1346
  }
1347
  } catch (e) {
1348
  console.log(e);
23
  } else {
24
  var wpdiscuzCommentsOrder = wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuzCommentsOrder;
25
  var wpdiscuzCommentsOrderBy = wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuzCommentOrderBy;
26
+ }
27
  var commentsVoteOrder = wpdiscuzAjaxObj.wpdiscuz_options.commentsVoteOrder;
28
  var storeCommenterData = wpdiscuzAjaxObj.wpdiscuz_options.storeCommenterData;
29
  var wpdiscuzLoadCount = 1;
49
  Cookies.set(wpdiscuzLastVisitKey, (JSON.stringify(wpdiscuzLastVisit)), {expires: wpdiscuzLastVisitExpires, path: window.location});
50
  }
51
 
 
 
 
 
 
 
 
52
  $('#wc_unsubscribe_message, #wc_delete_content_message, #wc_follow_message').delay(3000).fadeOut(1500, function () {
53
  $(this).remove();
54
  location.href = location.href.substring(0, location.href.indexOf('wpdiscuzUrlAnchor') - 1);
55
  });
56
 
 
 
 
57
  $(document).delegate('.wc-reply-button', 'click', function () {
58
  wpdiscuzReplyButton = $(this);
59
  if ($(this).hasClass('wpdiscuz-clonned')) {
117
  $('.wpdiscuz-children-button-text', toggle).text(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
118
  }
119
  });
 
120
  if ($('.wpdiscuz-children-count', toggle).length) {
121
  var replies = $('#wc-comm-' + uniqueID + ' .wc-reply');
122
  $('.wpdiscuz-children-count', toggle).html(replies.length);
459
  $('#wc-comm-' + uniqueID + ' > .wc-comment-right .wc-comment-footer .wc_editable_comment').hide();
460
  $('#wc-comm-' + uniqueID + ' > .wc-comment-right .wc-comment-footer .wc_cancel_edit').css('display', 'inline-block');
461
  var editForm = $('#wc-comm-' + uniqueID + ' > .wc-comment-right #wpdiscuz-edit-form');
 
462
  } else {
463
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
464
  wpdiscuzAjaxObj.setCommentMessage(editButton, messageKey, message, false);
722
  });
723
  $('#wpcomm .wc-thread-wrapper').prepend(message);
724
  wpdiscuzLoadCount = parseInt(r.loadCount);
 
725
  }
726
  setActiveButton(clickedBtn);
727
  setLoadMoreVisibility(r);
932
  var uniqueId = getUniqueID(field, 0);
933
  $('#wpdiscuz_form_anchor-' + uniqueId).before(replaceUniqueId(uniqueId));
934
  var secondaryFormWrapper = $('#wc-secondary-form-wrapper-' + uniqueId);
 
935
  secondaryFormWrapper.slideToggle(enableDropAnimation, function () {
936
  field.addClass('wpdiscuz-clonned');
937
  });
1025
  }
1026
  }
1027
 
 
 
 
 
 
 
 
 
 
1028
  function wpdiscuzReset() {
1029
  $('.wpdiscuz_reset').val("");
1030
  }
1064
  }
1065
  }
1066
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1067
  $(document).delegate('.wpd-required-group', 'change', function () {
1068
  if ($('input:checked', this).length !== 0) {
 
1069
  $('input', $(this)).removeAttr('required');
1070
  } else {
1071
  $('input', $(this)).attr('required', 'required');
1097
  $('#wc-comm-' + uniqueId + ' .wc-toggle .fas').removeClass('fa-chevron-down').addClass('fa-chevron-up').removeClass('wpdiscuz-show-replies').attr('title', wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
1098
  var toggle = $('#wc-comm-' + uniqueId + ' .wc-toggle');
1099
  $('.wpdiscuz-children-button-text', toggle).text(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text);
1100
+
1101
  if (obj.callbackFunctions != null && obj.callbackFunctions != 'undefined' && obj.callbackFunctions.length) {
1102
  $.each(obj.callbackFunctions, function (i) {
1103
  if (typeof wpdiscuzAjaxObj[obj.callbackFunctions[i]] === "function") {
1217
  $('html, body').animate({
1218
  scrollTop: $(scrollToSelector).offset().top - 32
1219
  }, 1000);
 
 
1220
  }
1221
  } catch (e) {
1222
  console.log(e);
1265
  $('html, body').animate({
1266
  scrollTop: $(scrollToSelector).offset().top - 32
1267
  }, 1000);
 
 
1268
  }
1269
  } catch (e) {
1270
  console.log(e);
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.1.7
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
@@ -120,10 +120,10 @@ class WpdiscuzCore implements WpDiscuzConstants {
120
  add_action('admin_notices', array(&$this->helper, 'hashVotesNote'));
121
 
122
 
123
- $wp_version = get_bloginfo('version');
124
  //if (version_compare($wp_version, '4.2.0', '>=')) {
125
- //add_action('wp_ajax_dismiss_wpdiscuz_addon_note', array(&$this->options, 'dismissAddonNote'));
126
- //add_action('admin_notices', array(&$this->options, 'addonNote'));
127
  //add_action('wp_ajax_dismiss_wpdiscuz_tip_note', array(&$this->options, 'dismissTipNote'));
128
  //add_action('admin_notices', array(&$this->options, 'tipNote'));
129
  //}
@@ -156,12 +156,12 @@ class WpdiscuzCore implements WpDiscuzConstants {
156
  $plugin = plugin_basename(__FILE__);
157
  add_filter("plugin_action_links_$plugin", array(&$this, 'addPluginSettingsLink'));
158
  add_filter('comments_clauses', array(&$this, 'commentsClauses'));
159
- if ($this->optionsSerialized->commentEditableTime) {
160
- add_action('wp_ajax_wpdEditComment', array(&$this, 'editComment'));
161
- add_action('wp_ajax_nopriv_wpdEditComment', array(&$this, 'editComment'));
162
- add_action('wp_ajax_wpdSaveEditedComment', array(&$this, 'saveEditedComment'));
163
- add_action('wp_ajax_nopriv_wpdSaveEditedComment', array(&$this, 'saveEditedComment'));
164
- }
165
  if ($this->optionsSerialized->commentListUpdateType) {
166
  add_action('wp_ajax_wpdUpdateAutomatically', array(&$this, 'updateAutomatically'));
167
  add_action('wp_ajax_nopriv_wpdUpdateAutomatically', array(&$this, 'updateAutomatically'));
@@ -447,6 +447,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
447
  $uid_data = $this->helper->getUIDData($uniqueId);
448
  $comment_parent = intval($uid_data[0]);
449
  $parentComment = $comment_parent ? get_comment($comment_parent) : null;
 
450
  if ($parentComment && $parentComment->comment_karma) {
451
  wp_die(__('This is closed comment thread', 'wpdiscuz'));
452
  }
@@ -894,124 +895,35 @@ class WpdiscuzCore implements WpDiscuzConstants {
894
  'orderby' => $this->commentsArgs['orderby']
895
  ));
896
  $countChildren = count($children);
897
- if ($countChildren) {
898
- $commentListArgs['wpdiscuz_root_comment_' . $parentComment->comment_ID] = ' wpdiscuz-root-comment ';
899
- if ($this->optionsSerialized->isLoadOnlyParentComments) {
900
- $commentListArgs['wpdiscuz_child_count_' . $parentComment->comment_ID] = $countChildren;
901
- } else {
902
- $commentList = array_merge($commentList, $children);
903
- }
904
  } else {
905
- $commentListArgs['wpdiscuz_root_comment_' . $parentComment->comment_ID] = '';
906
  }
907
  }
908
  } else {
909
  $commentList = $parentComments;
910
  }
911
- // STICKY COMMENTS
912
- if (isset($this->commentsArgs['first_load']) && $this->commentsArgs['first_load']) {
913
- $this->commentsArgs['sticky'] = 1;
914
- $this->commentsArgs['comment__in'] = '';
915
- $this->commentsArgs['limit'] = 0;
916
- $this->commentsArgs['number'] = '';
917
- $this->commentsArgs['offset'] = '';
918
- $this->commentsArgs['parent'] = '';
919
- $this->commentsArgs['caller'] = 'wpdiscuz';
920
- $this->commentsArgs['type__not_in'] = '';
921
- $this->commentsArgs['type__in'] = array(self::WPDISCUZ_STICKY_COMMENT);
922
- $stickyComments = get_comments($this->commentsArgs);
923
- if ($stickyComments) {
924
- $allStickyChildren = array();
925
- foreach ($stickyComments as $stickyComment) {
926
- $stickyChildren = $stickyComment->get_children(array(
927
- 'format' => 'flat',
928
- 'status' => $this->commentsArgs['status'],
929
- 'orderby' => $this->commentsArgs['orderby']
930
- ));
931
- $countStickyChildren = count($stickyChildren);
932
- if ($countStickyChildren) {
933
- $commentListArgs['wpdiscuz_root_comment_' . $stickyComment->comment_ID] = ' wpdiscuz-root-comment ';
934
- if ($this->optionsSerialized->isLoadOnlyParentComments) {
935
- $commentListArgs['wpdiscuz_child_count_' . $stickyComment->comment_ID] = $countStickyChildren;
936
- } else {
937
- $allStickyChildren = array_merge($allStickyChildren, $stickyChildren);
938
- }
939
- } else {
940
- $commentListArgs['wpdiscuz_root_comment_' . $stickyComment->comment_ID] = '';
941
- }
942
- }
943
- if ($allStickyChildren) {
944
- $stickyComments = array_merge($stickyComments, $allStickyChildren);
945
- }
946
- $commentList = ($this->optionsSerialized->wordpressCommentOrder == 'desc') ? array_merge($commentList, $stickyComments) : array_merge($stickyComments, $commentList);
947
- }
948
- }
949
  } else {
950
- $this->commentsArgs['comment__in'] = $this->dbManager->getCommentList($this->commentsArgs);
951
  $commentData['last_parent_id'] = $this->commentsArgs['comment__in'] ? $this->commentsArgs['comment__in'][count($this->commentsArgs['comment__in']) - 1] : 0;
952
  $commentData['is_show_load_more'] = $this->dbManager->isShowLoadMore;
953
  if ($this->optionsSerialized->wordpressThreadComments) {
954
  if ($this->commentsArgs['comment__in']) {
955
- $parentComments = get_comments($this->commentsArgs);
956
- foreach ($parentComments as $parentComment) {
957
- $commentList[] = $parentComment;
958
- $children = $parentComment->get_children(array(
959
- 'format' => 'flat',
960
- 'status' => $this->commentsArgs['status'],
961
- 'orderby' => $this->commentsArgs['orderby']
962
- ));
963
- $countChildren = count($children);
964
- if ($countChildren) {
965
- $commentListArgs['wpdiscuz_root_comment_' . $parentComment->comment_ID] = ' wpdiscuz-root-comment ';
966
- if ($this->optionsSerialized->isLoadOnlyParentComments) {
967
- $commentListArgs['wpdiscuz_child_count_' . $parentComment->comment_ID] = $countChildren;
968
- } else {
969
- $commentList = array_merge($commentList, $children);
970
- }
971
- } else {
972
- $commentListArgs['wpdiscuz_root_comment_' . $parentComment->comment_ID] = '';
973
- }
974
  }
 
975
  }
976
  } else {
977
  $commentList = get_comments($this->commentsArgs);
978
  }
979
 
980
- // STICKY COMMENTS
981
- if (isset($this->commentsArgs['first_load']) && $this->commentsArgs['first_load']) {
982
- $this->commentsArgs['sticky'] = 1;
983
- $this->commentsArgs['comment__in'] = '';
984
- $this->commentsArgs['limit'] = 0;
985
- $this->commentsArgs['caller'] = 'wpdiscuz';
986
- $this->commentsArgs['type__not_in'] = '';
987
- $this->commentsArgs['type__in'] = array(self::WPDISCUZ_STICKY_COMMENT);
988
- $stickyComments = get_comments($this->commentsArgs);
989
- if ($stickyComments) {
990
- $allStickyChildren = array();
991
- foreach ($stickyComments as $stickyComment) {
992
- $stickyChildren = $stickyComment->get_children(array(
993
- 'format' => 'flat',
994
- 'status' => $this->commentsArgs['status'],
995
- 'orderby' => $this->commentsArgs['orderby']
996
- ));
997
- $countStickyChildren = count($stickyChildren);
998
- if ($countStickyChildren) {
999
- $commentListArgs['wpdiscuz_root_comment_' . $stickyComment->comment_ID] = ' wpdiscuz-root-comment ';
1000
- if ($this->optionsSerialized->isLoadOnlyParentComments) {
1001
- $commentListArgs['wpdiscuz_child_count_' . $stickyComment->comment_ID] = $countStickyChildren;
1002
- } else {
1003
- $allStickyChildren = array_merge($allStickyChildren, $stickyChildren);
1004
- }
1005
- } else {
1006
- $commentListArgs['wpdiscuz_root_comment_' . $stickyComment->comment_ID] = '';
1007
- }
1008
- }
1009
- if ($allStickyChildren) {
1010
- $stickyComments = array_merge($stickyComments, $allStickyChildren);
1011
- }
1012
- $commentList = array_merge($stickyComments, $commentList);
1013
- }
1014
- }
1015
  $commentListArgs['page'] = 1;
1016
  $commentListArgs['last_parent_id'] = $commentData['last_parent_id'];
1017
  }
@@ -1337,6 +1249,10 @@ class WpdiscuzCore implements WpDiscuzConstants {
1337
  $this->optionsSerialized->disableFontAwesome = 0;
1338
  $oldOptions['disableFontAwesome'] = 0;
1339
  }
 
 
 
 
1340
  return $oldOptions;
1341
  }
1342
 
@@ -1419,7 +1335,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
1419
  'current_user_email' => $currentUserEmail,
1420
  'comment_author_email' => $currentUserEmail,
1421
  'is_user_logged_in' => $isUserLoggedIn,
1422
- 'is_share_enabled' => $this->optionsSerialized->isShareEnabled()
1423
  );
1424
  return apply_filters('wpdiscuz_comment_list_args', $args);
1425
  }
@@ -1557,6 +1473,44 @@ class WpdiscuzCore implements WpDiscuzConstants {
1557
  wp_die(json_encode($response));
1558
  }
1559
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1560
  }
1561
 
1562
  $wpdiscuz = wpDiscuz();
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.2.0
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
120
  add_action('admin_notices', array(&$this->helper, 'hashVotesNote'));
121
 
122
 
123
+ //$wp_version = get_bloginfo('version');
124
  //if (version_compare($wp_version, '4.2.0', '>=')) {
125
+ add_action('wp_ajax_dismiss_wpdiscuz_addon_note', array(&$this->options, 'dismissAddonNote'));
126
+ add_action('admin_notices', array(&$this->options, 'addonNote'));
127
  //add_action('wp_ajax_dismiss_wpdiscuz_tip_note', array(&$this->options, 'dismissTipNote'));
128
  //add_action('admin_notices', array(&$this->options, 'tipNote'));
129
  //}
156
  $plugin = plugin_basename(__FILE__);
157
  add_filter("plugin_action_links_$plugin", array(&$this, 'addPluginSettingsLink'));
158
  add_filter('comments_clauses', array(&$this, 'commentsClauses'));
159
+
160
+ add_action('wp_ajax_wpdEditComment', array(&$this, 'editComment'));
161
+ add_action('wp_ajax_nopriv_wpdEditComment', array(&$this, 'editComment'));
162
+ add_action('wp_ajax_wpdSaveEditedComment', array(&$this, 'saveEditedComment'));
163
+ add_action('wp_ajax_nopriv_wpdSaveEditedComment', array(&$this, 'saveEditedComment'));
164
+
165
  if ($this->optionsSerialized->commentListUpdateType) {
166
  add_action('wp_ajax_wpdUpdateAutomatically', array(&$this, 'updateAutomatically'));
167
  add_action('wp_ajax_nopriv_wpdUpdateAutomatically', array(&$this, 'updateAutomatically'));
447
  $uid_data = $this->helper->getUIDData($uniqueId);
448
  $comment_parent = intval($uid_data[0]);
449
  $parentComment = $comment_parent ? get_comment($comment_parent) : null;
450
+ $comment_parent = isset($parentComment->comment_ID) ? $parentComment->comment_ID : 0;
451
  if ($parentComment && $parentComment->comment_karma) {
452
  wp_die(__('This is closed comment thread', 'wpdiscuz'));
453
  }
895
  'orderby' => $this->commentsArgs['orderby']
896
  ));
897
  $countChildren = count($children);
898
+ if ($countChildren && $this->optionsSerialized->isLoadOnlyParentComments) {
899
+ $commentListArgs['wpdiscuz_child_count_' . $parentComment->comment_ID] = $countChildren;
 
 
 
 
 
900
  } else {
901
+ $commentList = array_merge($commentList, $children);
902
  }
903
  }
904
  } else {
905
  $commentList = $parentComments;
906
  }
907
+
908
+ $commentList = $this->getStickyComments(true, $commentList);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
909
  } else {
910
+ $this->commentsArgs['comment__in'] = $this->dbManager->getRootCommentIds($this->commentsArgs);
911
  $commentData['last_parent_id'] = $this->commentsArgs['comment__in'] ? $this->commentsArgs['comment__in'][count($this->commentsArgs['comment__in']) - 1] : 0;
912
  $commentData['is_show_load_more'] = $this->dbManager->isShowLoadMore;
913
  if ($this->optionsSerialized->wordpressThreadComments) {
914
  if ($this->commentsArgs['comment__in']) {
915
+ if ($this->optionsSerialized->isLoadOnlyParentComments) {
916
+ $commentListArgs = $this->dbManager->getChildrenCount($this->commentsArgs['comment__in'], $commentListArgs);
917
+ } else {
918
+ $this->commentsArgs['comment__in'] = array_merge($this->commentsArgs['comment__in'], $this->dbManager->getChildrenIds($this->commentsArgs['comment__in']));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  }
920
+ $commentList = get_comments($this->commentsArgs);
921
  }
922
  } else {
923
  $commentList = get_comments($this->commentsArgs);
924
  }
925
 
926
+ $commentList = $this->getStickyComments(false, $commentList);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
927
  $commentListArgs['page'] = 1;
928
  $commentListArgs['last_parent_id'] = $commentData['last_parent_id'];
929
  }
1249
  $this->optionsSerialized->disableFontAwesome = 0;
1250
  $oldOptions['disableFontAwesome'] = 0;
1251
  }
1252
+
1253
+ if (version_compare($this->version, '5.2.0', '<=')) {
1254
+ $oldOptions['isNativeAjaxEnabled'] = 1;
1255
+ }
1256
  return $oldOptions;
1257
  }
1258
 
1335
  'current_user_email' => $currentUserEmail,
1336
  'comment_author_email' => $currentUserEmail,
1337
  'is_user_logged_in' => $isUserLoggedIn,
1338
+ 'is_share_enabled' => $this->optionsSerialized->isShareEnabled(),
1339
  );
1340
  return apply_filters('wpdiscuz_comment_list_args', $args);
1341
  }
1473
  wp_die(json_encode($response));
1474
  }
1475
 
1476
+ private function getStickyComments($isPaginate, $commentList = array()) {
1477
+ if (isset($this->commentsArgs['first_load']) && $this->commentsArgs['first_load']) {
1478
+ $this->commentsArgs['sticky'] = 1;
1479
+ $this->commentsArgs['comment__in'] = '';
1480
+ $this->commentsArgs['limit'] = 0;
1481
+ if ($isPaginate) {
1482
+ $this->commentsArgs['number'] = '';
1483
+ $this->commentsArgs['offset'] = '';
1484
+ $this->commentsArgs['parent'] = '';
1485
+ }
1486
+ $this->commentsArgs['caller'] = 'wpdiscuz';
1487
+ $this->commentsArgs['type__not_in'] = '';
1488
+ $this->commentsArgs['type__in'] = array(self::WPDISCUZ_STICKY_COMMENT);
1489
+ $stickyComments = get_comments($this->commentsArgs);
1490
+ if ($stickyComments) {
1491
+ $allStickyChildren = array();
1492
+ foreach ($stickyComments as $stickyComment) {
1493
+ $stickyChildren = $stickyComment->get_children(array(
1494
+ 'format' => 'flat',
1495
+ 'status' => $this->commentsArgs['status'],
1496
+ 'orderby' => $this->commentsArgs['orderby']
1497
+ ));
1498
+ $countStickyChildren = count($stickyChildren);
1499
+ if ($countStickyChildren && $this->optionsSerialized->isLoadOnlyParentComments) {
1500
+ $commentListArgs['wpdiscuz_child_count_' . $stickyComment->comment_ID] = $countStickyChildren;
1501
+ } else {
1502
+ $allStickyChildren = array_merge($allStickyChildren, $stickyChildren);
1503
+ }
1504
+ }
1505
+ if ($allStickyChildren) {
1506
+ $stickyComments = array_merge($stickyComments, $allStickyChildren);
1507
+ }
1508
+ $commentList = ($isPaginate && $this->optionsSerialized->wordpressCommentOrder == 'desc') ? array_merge($commentList, $stickyComments) : array_merge($stickyComments, $commentList);
1509
+ }
1510
+ }
1511
+ return $commentList;
1512
+ }
1513
+
1514
  }
1515
 
1516
  $wpdiscuz = wpDiscuz();
forms/wpdFormAttr/Field/Field.php CHANGED
@@ -159,7 +159,7 @@ abstract class Field {
159
  $action = filter_input(INPUT_POST, 'action', FILTER_SANITIZE_STRING);
160
  if ($uniqueID) {
161
  $commentParent = strstr($uniqueID, '_');
162
- $isParent = ($action == 'editedcomment' && $commentParent == '_0') || ($action == 'saveEditedComment' && $commentParent == '_0') || ($action == 'addComment' && $uniqueID == '0_0')? true : false;
163
  }
164
  return $isParent;
165
  }
159
  $action = filter_input(INPUT_POST, 'action', FILTER_SANITIZE_STRING);
160
  if ($uniqueID) {
161
  $commentParent = strstr($uniqueID, '_');
162
+ $isParent = ($action == 'editedcomment' && $commentParent == '_0') || ($action == 'wpdSaveEditedComment' && $commentParent == '_0') || ($action == 'wpdAddComment' && $uniqueID == '0_0')? true : false;
163
  }
164
  return $isParent;
165
  }
forms/wpdFormAttr/Login/SocialLogin.php CHANGED
@@ -505,15 +505,21 @@ class SocialLogin {
505
 
506
  public function userAvatar($avatar, $id_or_email, $size, $default, $alt, $args) {
507
  $userID = false;
508
- if (is_numeric($id_or_email)) {
509
- $userID = (int) $id_or_email;
510
- } elseif (is_object($id_or_email)) {
511
- if (!empty($id_or_email->user_id)) {
512
- $userID = (int) $id_or_email->user_id;
513
  }
514
  } else {
515
- $user = get_user_by('email', $id_or_email);
516
- $userID = isset($user->ID) ? $user->ID : 0;
 
 
 
 
 
 
 
 
517
  }
518
 
519
  if ($userID && $avatarURL = get_user_meta($userID, wpdFormConst::WPDISCUZ_SOCIAL_AVATAR_KEY, true)) {
505
 
506
  public function userAvatar($avatar, $id_or_email, $size, $default, $alt, $args) {
507
  $userID = false;
508
+ if (isset($args['wpdiscuz_current_user'])) {
509
+ if ($args['wpdiscuz_current_user']) {
510
+ $userID = $args['wpdiscuz_current_user']->ID;
 
 
511
  }
512
  } else {
513
+ if (is_numeric($id_or_email)) {
514
+ $userID = (int) $id_or_email;
515
+ } elseif (is_object($id_or_email)) {
516
+ if (!empty($id_or_email->user_id)) {
517
+ $userID = (int) $id_or_email->user_id;
518
+ }
519
+ } else {
520
+ $user = get_user_by('email', $id_or_email);
521
+ $userID = isset($user->ID) ? $user->ID : 0;
522
+ }
523
  }
524
 
525
  if ($userID && $avatarURL = get_user_meta($userID, wpdFormConst::WPDISCUZ_SOCIAL_AVATAR_KEY, true)) {
includes/class.WpdiscuzDBManager.php CHANGED
@@ -234,7 +234,7 @@ class WpdiscuzDBManager implements WpDiscuzConstants {
234
  /**
235
  * get comment list ordered by date or comments votes
236
  */
237
- public function getCommentList($args) {
238
  if ($args['orderby'] == 'by_vote') {
239
  $parentIds = $this->getPostVotedCommentIds($args);
240
  } else {
@@ -243,6 +243,30 @@ class WpdiscuzDBManager implements WpDiscuzConstants {
243
  return $parentIds;
244
  }
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  /**
247
  * get post most voted comments
248
  * @param type $args['post_id'] the current post id
234
  /**
235
  * get comment list ordered by date or comments votes
236
  */
237
+ public function getRootCommentIds($args) {
238
  if ($args['orderby'] == 'by_vote') {
239
  $parentIds = $this->getPostVotedCommentIds($args);
240
  } else {
243
  return $parentIds;
244
  }
245
 
246
+ /**
247
+ * get child comment ids
248
+ * @param array $parentIds parent comment ids
249
+ * @return array array of child comment ids
250
+ */
251
+ public function getChildrenIds($parentIds) {
252
+ $getChildCommentIdsSql = "SELECT c.comment_ID FROM (SELECT comment_ID, comment_parent, comment_approved FROM `wp_comments`) `c`, (SELECT @pv := ('" . implode(',', $parentIds) . "')) AS `init` WHERE FIND_IN_SET(`c`.`comment_parent`, @pv) AND LENGTH(@pv := CONCAT(@pv, ',', `c`.`comment_ID`)) AND c.comment_approved = 1";
253
+ return $this->db->get_col($getChildCommentIdsSql);
254
+ }
255
+
256
+ /**
257
+ * get child comment count
258
+ * @param array $parentCommentIds parent comment ids
259
+ * @param array $commentListArgs comment list args
260
+ * @return array comment list args with child count
261
+ */
262
+ public function getChildrenCount($parentCommentIds, $commentListArgs) {
263
+ foreach ($parentCommentIds as $parentCommentId) {
264
+ $getChildCommentCountSql = "SELECT COUNT(c.comment_ID) FROM (SELECT comment_ID, comment_parent, comment_approved FROM `wp_comments`) `c`, (SELECT @pv := " . $parentCommentId . ") AS `init` WHERE FIND_IN_SET(`c`.`comment_parent`, @pv) AND LENGTH(@pv := CONCAT(@pv, ',', `c`.`comment_ID`)) AND c.comment_approved = 1";
265
+ $commentListArgs['wpdiscuz_child_count_' . $parentCommentId] = $this->db->get_var($getChildCommentCountSql);
266
+ }
267
+ return $commentListArgs;
268
+ }
269
+
270
  /**
271
  * get post most voted comments
272
  * @param type $args['post_id'] the current post id
languages/wpdiscuz-de_DE.po CHANGED
@@ -2311,7 +2311,7 @@ msgid "General Settings"
2311
  msgstr "Allgemeine Einstellungen"
2312
 
2313
  #: options/options-layouts/settings-general.php:11
2314
- msgid "Enable wpdiscuz on home page"
2315
  msgstr "wpDiscuz auf der Homepage aktivieren"
2316
 
2317
  #: options/options-layouts/settings-general.php:16
2311
  msgstr "Allgemeine Einstellungen"
2312
 
2313
  #: options/options-layouts/settings-general.php:11
2314
+ msgid "Enable wpDiscuz on home page"
2315
  msgstr "wpDiscuz auf der Homepage aktivieren"
2316
 
2317
  #: options/options-layouts/settings-general.php:16
languages/wpdiscuz.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: wpDiscuz\n"
6
- "POT-Creation-Date: 2018-09-06 11:45+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
@@ -37,69 +37,69 @@ msgstr ""
37
  msgid "We are sorry, you are not allowed to comment more than one time!"
38
  msgstr ""
39
 
40
- #: class.WpdiscuzCore.php:451
41
  msgid "This is closed comment thread"
42
  msgstr ""
43
 
44
- #: class.WpdiscuzCore.php:1113 class.WpdiscuzCore.php:1345
45
  msgid "Settings"
46
  msgstr ""
47
 
48
- #: class.WpdiscuzCore.php:1115 class.WpdiscuzCore.php:1347
49
  msgid "Phrases"
50
  msgstr ""
51
 
52
- #: class.WpdiscuzCore.php:1117
53
  msgid "Tools"
54
  msgstr ""
55
 
56
- #: class.WpdiscuzCore.php:1118 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:1130
62
  msgid "Do you really want to reset all options?"
63
  msgstr ""
64
 
65
- #: class.WpdiscuzCore.php:1131
66
  msgid "Do you really want to remove voting data?"
67
  msgstr ""
68
 
69
- #: class.WpdiscuzCore.php:1132
70
  msgid "Do you really want to reset phrases?"
71
  msgstr ""
72
 
73
- #: class.WpdiscuzCore.php:1133
74
  msgid "Do you really want to delete gravatars cache?"
75
  msgstr ""
76
 
77
- #: class.WpdiscuzCore.php:1134
78
  msgid "Do you really want to delete statistics cache?"
79
  msgstr ""
80
 
81
- #: class.WpdiscuzCore.php:1171
82
  msgid "Please check one of reasons before sending feedback!"
83
  msgstr ""
84
 
85
- #: class.WpdiscuzCore.php:1172 utils/deactivation-reason-modal.php:58
86
  msgid "Please provide more information"
87
  msgstr ""
88
 
89
- #: class.WpdiscuzCore.php:1434 options/phrases-layouts/phrases-comment.php:56
90
  msgid "Admin"
91
  msgstr ""
92
 
93
- #: class.WpdiscuzCore.php:1436 class.WpdiscuzCore.php:1445
94
  #: options/phrases-layouts/phrases-comment.php:58
95
  msgid "Author"
96
  msgstr ""
97
 
98
- #: class.WpdiscuzCore.php:1440 options/phrases-layouts/phrases-comment.php:64
99
  msgid "Member"
100
  msgstr ""
101
 
102
- #: class.WpdiscuzCore.php:1446 options/phrases-layouts/phrases-comment.php:62
103
  msgid "Guest"
104
  msgstr ""
105
 
@@ -296,106 +296,106 @@ msgstr ""
296
 
297
  #: options/class.WpdiscuzOptions.php:379
298
  msgid ""
 
 
 
 
 
 
299
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
300
  "package."
301
  msgstr ""
302
 
303
- #: options/class.WpdiscuzOptions.php:380
304
  msgid ""
305
  "Extended information about comment author with Profile, Activity, Votes and "
306
  "Subscriptions Tabs on pop-up window."
307
  msgstr ""
308
 
309
- #: options/class.WpdiscuzOptions.php:381
310
  msgid ""
311
  "Real-time online user checking, pop-up notification of new online users and "
312
  "online/offline badges."
313
  msgstr ""
314
 
315
- #: options/class.WpdiscuzOptions.php:382
316
  msgid ""
317
  "Allows to create private comment threads. Rich management options in "
318
  "dashboard by user roles."
319
  msgstr ""
320
 
321
- #: options/class.WpdiscuzOptions.php:383
322
  msgid ""
323
  "Total control over comment subscriptions. Full list, monitor, manage, filter,"
324
  " unsubscribe, confirm..."
325
  msgstr ""
326
 
327
- #: options/class.WpdiscuzOptions.php:384
328
  msgid ""
329
  "A full-fledged tool-kit for advertising in comment section of your website. "
330
  "Separate banner and ad managment."
331
  msgstr ""
332
 
333
- #: options/class.WpdiscuzOptions.php:385
334
  msgid ""
335
  "Allows to mention comments and users in comment text using #comment-id and "
336
  "@username tags."
337
  msgstr ""
338
 
339
- #: options/class.WpdiscuzOptions.php:386
340
  msgid ""
341
  "See comment likers and voters of each comment. Adds user reputation and "
342
  "badges based on received likes."
343
  msgstr ""
344
 
345
- #: options/class.WpdiscuzOptions.php:387
346
  msgid ""
347
  "Comment reporting tools. Auto-moderates comments based on number of flags "
348
  "and dislikes."
349
  msgstr ""
350
 
351
- #: options/class.WpdiscuzOptions.php:388
352
  msgid ""
353
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
354
  "options. Uses free translation API."
355
  msgstr ""
356
 
357
- #: options/class.WpdiscuzOptions.php:389
358
  msgid ""
359
  "AJAX powered front-end comment search. It starts searching while you type "
360
  "search words. "
361
  msgstr ""
362
 
363
- #: options/class.WpdiscuzOptions.php:390
364
  msgid ""
365
  "Most voted comments, Active comment threads, Most commented posts, Active "
366
  "comment authors"
367
  msgstr ""
368
 
369
- #: options/class.WpdiscuzOptions.php:391
370
  msgid ""
371
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
372
  "end."
373
  msgstr ""
374
 
375
- #: options/class.WpdiscuzOptions.php:392
376
  msgid ""
377
  "Extended comment attachment system. Allows to upload images, videos, audios "
378
  "and other file types."
379
  msgstr ""
380
 
381
- #: options/class.WpdiscuzOptions.php:393
382
  msgid ""
383
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
384
  "Google reCAPTCHA"
385
  msgstr ""
386
 
387
- #: options/class.WpdiscuzOptions.php:394
388
  msgid ""
389
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
390
  "myCRED points. "
391
  msgstr ""
392
 
393
- #: options/class.WpdiscuzOptions.php:395
394
- msgid ""
395
- "Allows censoring comment words. Filters comments and replaces those phrases "
396
- "with custom words."
397
- msgstr ""
398
-
399
  #: options/class.WpdiscuzOptions.php:401
400
  msgid "Custom Comment Forms"
401
  msgstr ""
@@ -526,11 +526,19 @@ msgid ""
526
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
527
  msgstr ""
528
 
529
- #: options/class.WpdiscuzOptions.php:507
 
 
 
 
 
 
 
 
530
  msgid "Do you know?"
531
  msgstr ""
532
 
533
- #: options/class.WpdiscuzOptions.php:520
534
  msgid "More info"
535
  msgstr ""
536
 
@@ -1279,7 +1287,15 @@ msgstr ""
1279
  msgid " Thank you!<br/> Sincerely yours,<br/> gVectors Team&nbsp;"
1280
  msgstr ""
1281
 
1282
- #: options/html-addons.php:60
 
 
 
 
 
 
 
 
1283
  msgid "Live Preview | Buy"
1284
  msgstr ""
1285
 
@@ -1905,15 +1921,18 @@ msgid "General Settings"
1905
  msgstr ""
1906
 
1907
  #: options/options-layouts/settings-general.php:11
1908
- msgid "Enable wpdiscuz on home page"
1909
  msgstr ""
1910
 
1911
  #: options/options-layouts/settings-general.php:19
1912
- msgid "Enable WordPress native ajax"
1913
  msgstr ""
1914
 
1915
  #: options/options-layouts/settings-general.php:21
1916
- msgid "Enable Wordpress native ajax"
 
 
 
1917
  msgstr ""
1918
 
1919
  #: options/options-layouts/settings-general.php:31
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: wpDiscuz\n"
6
+ "POT-Creation-Date: 2018-09-14 11:52+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
37
  msgid "We are sorry, you are not allowed to comment more than one time!"
38
  msgstr ""
39
 
40
+ #: class.WpdiscuzCore.php:452
41
  msgid "This is closed comment thread"
42
  msgstr ""
43
 
44
+ #: class.WpdiscuzCore.php:1025 class.WpdiscuzCore.php:1261
45
  msgid "Settings"
46
  msgstr ""
47
 
48
+ #: class.WpdiscuzCore.php:1027 class.WpdiscuzCore.php:1263
49
  msgid "Phrases"
50
  msgstr ""
51
 
52
+ #: class.WpdiscuzCore.php:1029
53
  msgid "Tools"
54
  msgstr ""
55
 
56
+ #: class.WpdiscuzCore.php:1030 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:1042
62
  msgid "Do you really want to reset all options?"
63
  msgstr ""
64
 
65
+ #: class.WpdiscuzCore.php:1043
66
  msgid "Do you really want to remove voting data?"
67
  msgstr ""
68
 
69
+ #: class.WpdiscuzCore.php:1044
70
  msgid "Do you really want to reset phrases?"
71
  msgstr ""
72
 
73
+ #: class.WpdiscuzCore.php:1045
74
  msgid "Do you really want to delete gravatars cache?"
75
  msgstr ""
76
 
77
+ #: class.WpdiscuzCore.php:1046
78
  msgid "Do you really want to delete statistics cache?"
79
  msgstr ""
80
 
81
+ #: class.WpdiscuzCore.php:1083
82
  msgid "Please check one of reasons before sending feedback!"
83
  msgstr ""
84
 
85
+ #: class.WpdiscuzCore.php:1084 utils/deactivation-reason-modal.php:58
86
  msgid "Please provide more information"
87
  msgstr ""
88
 
89
+ #: class.WpdiscuzCore.php:1350 options/phrases-layouts/phrases-comment.php:56
90
  msgid "Admin"
91
  msgstr ""
92
 
93
+ #: class.WpdiscuzCore.php:1352 class.WpdiscuzCore.php:1361
94
  #: options/phrases-layouts/phrases-comment.php:58
95
  msgid "Author"
96
  msgstr ""
97
 
98
+ #: class.WpdiscuzCore.php:1356 options/phrases-layouts/phrases-comment.php:64
99
  msgid "Member"
100
  msgstr ""
101
 
102
+ #: class.WpdiscuzCore.php:1362 options/phrases-layouts/phrases-comment.php:62
103
  msgid "Guest"
104
  msgstr ""
105
 
296
 
297
  #: options/class.WpdiscuzOptions.php:379
298
  msgid ""
299
+ "All 16 addons in one bundle. Save 90% and get Unlimited Site License with "
300
+ "one year premium support."
301
+ msgstr ""
302
+
303
+ #: options/class.WpdiscuzOptions.php:380
304
+ msgid ""
305
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
306
  "package."
307
  msgstr ""
308
 
309
+ #: options/class.WpdiscuzOptions.php:381
310
  msgid ""
311
  "Extended information about comment author with Profile, Activity, Votes and "
312
  "Subscriptions Tabs on pop-up window."
313
  msgstr ""
314
 
315
+ #: options/class.WpdiscuzOptions.php:382
316
  msgid ""
317
  "Real-time online user checking, pop-up notification of new online users and "
318
  "online/offline badges."
319
  msgstr ""
320
 
321
+ #: options/class.WpdiscuzOptions.php:383
322
  msgid ""
323
  "Allows to create private comment threads. Rich management options in "
324
  "dashboard by user roles."
325
  msgstr ""
326
 
327
+ #: options/class.WpdiscuzOptions.php:384
328
  msgid ""
329
  "Total control over comment subscriptions. Full list, monitor, manage, filter,"
330
  " unsubscribe, confirm..."
331
  msgstr ""
332
 
333
+ #: options/class.WpdiscuzOptions.php:385
334
  msgid ""
335
  "A full-fledged tool-kit for advertising in comment section of your website. "
336
  "Separate banner and ad managment."
337
  msgstr ""
338
 
339
+ #: options/class.WpdiscuzOptions.php:386
340
  msgid ""
341
  "Allows to mention comments and users in comment text using #comment-id and "
342
  "@username tags."
343
  msgstr ""
344
 
345
+ #: options/class.WpdiscuzOptions.php:387
346
  msgid ""
347
  "See comment likers and voters of each comment. Adds user reputation and "
348
  "badges based on received likes."
349
  msgstr ""
350
 
351
+ #: options/class.WpdiscuzOptions.php:388
352
  msgid ""
353
  "Comment reporting tools. Auto-moderates comments based on number of flags "
354
  "and dislikes."
355
  msgstr ""
356
 
357
+ #: options/class.WpdiscuzOptions.php:389
358
  msgid ""
359
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
360
  "options. Uses free translation API."
361
  msgstr ""
362
 
363
+ #: options/class.WpdiscuzOptions.php:390
364
  msgid ""
365
  "AJAX powered front-end comment search. It starts searching while you type "
366
  "search words. "
367
  msgstr ""
368
 
369
+ #: options/class.WpdiscuzOptions.php:391
370
  msgid ""
371
  "Most voted comments, Active comment threads, Most commented posts, Active "
372
  "comment authors"
373
  msgstr ""
374
 
375
+ #: options/class.WpdiscuzOptions.php:392
376
  msgid ""
377
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
378
  "end."
379
  msgstr ""
380
 
381
+ #: options/class.WpdiscuzOptions.php:393
382
  msgid ""
383
  "Extended comment attachment system. Allows to upload images, videos, audios "
384
  "and other file types."
385
  msgstr ""
386
 
387
+ #: options/class.WpdiscuzOptions.php:394
388
  msgid ""
389
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
390
  "Google reCAPTCHA"
391
  msgstr ""
392
 
393
+ #: options/class.WpdiscuzOptions.php:395
394
  msgid ""
395
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
396
  "myCRED points. "
397
  msgstr ""
398
 
 
 
 
 
 
 
399
  #: options/class.WpdiscuzOptions.php:401
400
  msgid "Custom Comment Forms"
401
  msgstr ""
526
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
527
  msgstr ""
528
 
529
+ #: options/class.WpdiscuzOptions.php:467
530
+ msgid "Finally wpDiscuz Addons Bundle is ready for You!"
531
+ msgstr ""
532
+
533
+ #: options/class.WpdiscuzOptions.php:476
534
+ msgid "View Addons Bundle"
535
+ msgstr ""
536
+
537
+ #: options/class.WpdiscuzOptions.php:514
538
  msgid "Do you know?"
539
  msgstr ""
540
 
541
+ #: options/class.WpdiscuzOptions.php:527
542
  msgid "More info"
543
  msgstr ""
544
 
1287
  msgid " Thank you!<br/> Sincerely yours,<br/> gVectors Team&nbsp;"
1288
  msgstr ""
1289
 
1290
+ #: options/html-addons.php:41
1291
+ msgid "View wpDiscuz Addons Bundle"
1292
+ msgstr ""
1293
+
1294
+ #: options/html-addons.php:64
1295
+ msgid "More Info &raquo;"
1296
+ msgstr ""
1297
+
1298
+ #: options/html-addons.php:66
1299
  msgid "Live Preview | Buy"
1300
  msgstr ""
1301
 
1921
  msgstr ""
1922
 
1923
  #: options/options-layouts/settings-general.php:11
1924
+ msgid "Enable wpDiscuz on home page"
1925
  msgstr ""
1926
 
1927
  #: options/options-layouts/settings-general.php:19
1928
+ msgid "Use WordPress native AJAX functions"
1929
  msgstr ""
1930
 
1931
  #: options/options-layouts/settings-general.php:21
1932
+ msgid ""
1933
+ "By disabling this option you're automatically enabling wpDiscuz custom AJAX "
1934
+ "functions, which are many times faster that the default WordPress functions. "
1935
+ "Just make sure it doesn't conflict with your plugins."
1936
  msgstr ""
1937
 
1938
  #: options/options-layouts/settings-general.php:31
options/class.WpdiscuzOptions.php CHANGED
@@ -376,23 +376,23 @@ class WpdiscuzOptions implements WpDiscuzConstants {
376
 
377
  private function initAddons() {
378
  $this->addons = array(
379
- 'emoticons' => array('version' => '1.1.1', 'requires' => '4.0.0', 'class' => 'wpDiscuzSmile', 'title' => 'Emoticons', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'emoticons' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Brings an ocean of emotions to your comments. It comes with an awesome smile package.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-emoticons/'),
380
- 'author-info' => array('version' => '1.0.0', 'requires' => '4.0.6', 'class' => 'WpdiscuzCommentAuthorInfo', 'title' => 'Comment Author Info', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'author-info' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Extended information about comment author with Profile, Activity, Votes and Subscriptions Tabs on pop-up window.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-author-info/'),
381
- 'online-users' => array('version' => '1.0.0', 'requires' => '4.1.0', 'class' => 'WpdiscuzOnlineUsers', 'title' => 'Online Users', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'online-users' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Real-time online user checking, pop-up notification of new online users and online/offline badges.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-online-users/'),
382
- 'private' => array('version' => '1.0.0', 'requires' => '5.0.0', 'class' => 'wpDiscuzPrivateComment', 'title' => 'Private Comments', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'private' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Allows to create private comment threads. Rich management options in dashboard by user roles.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-private-comments/'),
383
- 'subscriptions' => array('version' => '1.0.0', 'requires' => '4.0.4', 'class' => 'wpdSubscribeManager', 'title' => 'Subscription Manager', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'subscriptions' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Total control over comment subscriptions. Full list, monitor, manage, filter, unsubscribe, confirm...', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-subscribe-manager/'),
384
- 'ads-manager' => array('version' => '1.0.0', 'requires' => '4.0.0', 'class' => 'WpdiscuzAdsManager', 'title' => 'Ads Manager', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'ads-manager' . WPDISCUZ_DS . 'header.png'), 'desc' => __('A full-fledged tool-kit for advertising in comment section of your website. Separate banner and ad managment.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-ads-manager/'),
385
- 'user-mention' => array('version' => '1.0.0', 'requires' => '4.0.0', 'class' => 'Wpdiscuz_UCM', 'title' => 'User &amp; Comment Mentioning', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'user-mention' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Allows to mention comments and users in comment text using #comment-id and @username tags.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-user-comment-mentioning/'),
386
- 'likers' => array('version' => '1.0.0', 'requires' => '4.0.0', 'class' => 'WpdiscuzVoters', 'title' => 'Advanced Likers', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'likers' . WPDISCUZ_DS . 'header.png'), 'desc' => __('See comment likers and voters of each comment. Adds user reputation and badges based on received likes.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-advanced-likers/'),
387
- 'report-flagging' => array('version' => '1.1.5', 'requires' => '4.0.0', 'class' => 'wpDiscuzFlagComment', 'title' => 'Report and Flagging', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'report' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Comment reporting tools. Auto-moderates comments based on number of flags and dislikes.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-report-flagging/'),
388
- 'translate' => array('version' => '1.0.3', 'requires' => '4.0.0', 'class' => 'WpDiscuzTranslate', 'title' => 'Comment Translate', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'translate' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Adds a smart and intuitive AJAX "Translate" button with 60 language options. Uses free translation API.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-translation/'),
389
- 'search' => array('version' => '1.1.0', 'requires' => '4.0.0', 'class' => 'wpDiscuzCommentSearch', 'title' => 'Comment Search', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'search' . WPDISCUZ_DS . 'header.png'), 'desc' => __('AJAX powered front-end comment search. It starts searching while you type search words. ', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-search/'),
390
- 'widgets' => array('version' => '1.0.7', 'requires' => '4.0.0', 'class' => 'wpDiscuzWidgets', 'title' => 'wpDiscuz Widgets', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'widgets' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Most voted comments, Active comment threads, Most commented posts, Active comment authors', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-widgets/'),
391
- 'frontend-moderation' => array('version' => '1.0.4', 'requires' => '4.0.0', 'class' => 'frontEndModeration', 'title' => 'Front-end Moderation', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'frontend-moderation' . WPDISCUZ_DS . 'header.png'), 'desc' => __('All in one powerful yet simple admin toolkit to moderate comments on front-end.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-frontend-moderation/'),
392
- 'uploader' => array('version' => '1.1.0', 'requires' => '4.0.0', 'class' => 'WpdiscuzMediaUploader', 'title' => 'Media Uploader', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'uploader' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Extended comment attachment system. Allows to upload images, videos, audios and other file types.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-media-uploader/'),
393
- 'recaptcha' => array('version' => '1.0.5', 'requires' => '4.0.0', 'class' => 'WpdiscuzRecaptcha', 'title' => 'Google ReCaptcha', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'recaptcha' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Adds No CAPTCHA on all comment forms. Stops spam and bot comments with Google reCAPTCHA', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-recaptcha/'),
394
- 'mycred' => array('version' => '1.0.5', 'requires' => '4.0.0', 'class' => 'myCRED_Hook_wpDiscuz_Vote', 'title' => 'myCRED Integration', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'mycred' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to myCRED points. ', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-mycred/'),
395
- 'censure' => array('version' => '1.0.2', 'requires' => '4.0.0', 'class' => 'CommentCensure', 'title' => 'Comment Censure', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'censure' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Allows censoring comment words. Filters comments and replaces those phrases with custom words.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/comments-censure-pro/'),
396
  );
397
  }
398
 
@@ -452,21 +452,28 @@ class WpdiscuzOptions implements WpDiscuzConstants {
452
  public function addonNote() {
453
 
454
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
455
- if (!$lastHash)
456
- return false;
457
  $lastHashArray = explode(',', $lastHash);
458
- $currentHash = $this->addonHash();
459
- if ($lastHash != $currentHash) {
 
 
 
 
460
  ?>
461
  <div class="updated notice wpdiscuz_addon_note is-dismissible" style="margin-top:10px;">
462
- <p style="font-weight:normal; font-size:15px; border-bottom:1px dotted #DCDCDC; padding-bottom:10px; width:95%;"><?php _e('New Addons are available for wpDiscuz Comments Plugin'); ?></p>
 
 
 
463
  <div style="font-size:14px;">
464
  <?php
465
  foreach ($this->addons as $key => $addon) {
 
466
  if (in_array($addon['title'], $lastHashArray))
467
  continue;
468
  ?>
469
- <div style="display:inline-block; min-width:27%; padding-right:10px; margin-bottom:10px;"><img src="<?php echo $addon['thumb'] ?>" style="height:40px; width:auto; vertical-align:middle; margin:0px 10px; text-decoration:none;" /> <a href="<?php echo admin_url('edit-comments.php?page=' . self::PAGE_ADDONS) ?>" style="color:#444; text-decoration:none;" title="<?php _e('Go to wpDiscuz Addons subMenu'); ?>"><?php echo $addon['title']; ?></a></div>
470
  <?php
471
  }
472
  ?>
376
 
377
  private function initAddons() {
378
  $this->addons = array(
379
+ 'bundle' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'Bundle', 'title' => 'Addons Bundle', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'bundle' . WPDISCUZ_DS . 'header.png'), 'desc' => __('All 16 addons in one bundle. Save 90% and get Unlimited Site License with one year premium support.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-addons-bundle/'),
380
+ 'emoticons' => array('version' => '1.1.1', 'requires' => '5.1.0', 'class' => 'wpDiscuzSmile', 'title' => 'Emoticons', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'emoticons' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Brings an ocean of emotions to your comments. It comes with an awesome smile package.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-emoticons/'),
381
+ 'author-info' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'WpdiscuzCommentAuthorInfo', 'title' => 'Comment Author Info', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'author-info' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Extended information about comment author with Profile, Activity, Votes and Subscriptions Tabs on pop-up window.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-author-info/'),
382
+ 'online-users' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'WpdiscuzOnlineUsers', 'title' => 'Online Users', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'online-users' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Real-time online user checking, pop-up notification of new online users and online/offline badges.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-online-users/'),
383
+ 'private' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'wpDiscuzPrivateComment', 'title' => 'Private Comments', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'private' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Allows to create private comment threads. Rich management options in dashboard by user roles.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-private-comments/'),
384
+ 'subscriptions' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'wpdSubscribeManager', 'title' => 'Subscription Manager', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'subscriptions' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Total control over comment subscriptions. Full list, monitor, manage, filter, unsubscribe, confirm...', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-subscribe-manager/'),
385
+ 'ads-manager' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'WpdiscuzAdsManager', 'title' => 'Ads Manager', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'ads-manager' . WPDISCUZ_DS . 'header.png'), 'desc' => __('A full-fledged tool-kit for advertising in comment section of your website. Separate banner and ad managment.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-ads-manager/'),
386
+ 'user-mention' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'Wpdiscuz_UCM', 'title' => 'User &amp; Comment Mentioning', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'user-mention' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Allows to mention comments and users in comment text using #comment-id and @username tags.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-user-comment-mentioning/'),
387
+ 'likers' => array('version' => '1.0.0', 'requires' => '5.1.0', 'class' => 'WpdiscuzVoters', 'title' => 'Advanced Likers', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'likers' . WPDISCUZ_DS . 'header.png'), 'desc' => __('See comment likers and voters of each comment. Adds user reputation and badges based on received likes.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-advanced-likers/'),
388
+ 'report-flagging' => array('version' => '1.1.5', 'requires' => '5.1.0', 'class' => 'wpDiscuzFlagComment', 'title' => 'Report and Flagging', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'report' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Comment reporting tools. Auto-moderates comments based on number of flags and dislikes.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-report-flagging/'),
389
+ 'translate' => array('version' => '1.0.3', 'requires' => '5.1.0', 'class' => 'WpDiscuzTranslate', 'title' => 'Comment Translate', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'translate' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Adds a smart and intuitive AJAX "Translate" button with 60 language options. Uses free translation API.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-translation/'),
390
+ 'search' => array('version' => '1.1.0', 'requires' => '5.1.0', 'class' => 'wpDiscuzCommentSearch', 'title' => 'Comment Search', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'search' . WPDISCUZ_DS . 'header.png'), 'desc' => __('AJAX powered front-end comment search. It starts searching while you type search words. ', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-comment-search/'),
391
+ 'widgets' => array('version' => '1.0.7', 'requires' => '5.1.0', 'class' => 'wpDiscuzWidgets', 'title' => 'wpDiscuz Widgets', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'widgets' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Most voted comments, Active comment threads, Most commented posts, Active comment authors', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-widgets/'),
392
+ 'frontend-moderation' => array('version' => '1.0.4', 'requires' => '5.1.0', 'class' => 'frontEndModeration', 'title' => 'Front-end Moderation', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'frontend-moderation' . WPDISCUZ_DS . 'header.png'), 'desc' => __('All in one powerful yet simple admin toolkit to moderate comments on front-end.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-frontend-moderation/'),
393
+ 'uploader' => array('version' => '1.1.0', 'requires' => '5.1.0', 'class' => 'WpdiscuzMediaUploader', 'title' => 'Media Uploader', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'uploader' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Extended comment attachment system. Allows to upload images, videos, audios and other file types.', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-media-uploader/'),
394
+ 'recaptcha' => array('version' => '1.0.5', 'requires' => '5.1.0', 'class' => 'WpdiscuzRecaptcha', 'title' => 'Google ReCaptcha', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'recaptcha' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Adds No CAPTCHA on all comment forms. Stops spam and bot comments with Google reCAPTCHA', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-recaptcha/'),
395
+ 'mycred' => array('version' => '1.0.5', 'requires' => '5.1.0', 'class' => 'myCRED_Hook_wpDiscuz_Vote', 'title' => 'myCRED Integration', 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'mycred' . WPDISCUZ_DS . 'header.png'), 'desc' => __('Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to myCRED points. ', 'wpdiscuz'), 'url' => 'https://gvectors.com/product/wpdiscuz-mycred/'),
396
  );
397
  }
398
 
452
  public function addonNote() {
453
 
454
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
455
+ //if (!$lastHash) return false;
 
456
  $lastHashArray = explode(',', $lastHash);
457
+ //$currentHash = $this->addonHash();
458
+ $currentHash = 'wpDiscuz Addon Bundle';
459
+ if (strpos($_SERVER['REQUEST_URI'], 'edit-comments.php?') === FALSE && strpos($_SERVER['REQUEST_URI'], 'edit.php?post_type=wpdiscuz_form') === FALSE) {
460
+ return false;
461
+ }
462
+ if ($lastHash != $currentHash && !in_array('Addons Bundle', $lastHashArray) ) {
463
  ?>
464
  <div class="updated notice wpdiscuz_addon_note is-dismissible" style="margin-top:10px;">
465
+ <p style="font-weight:normal; font-size:15px; border-bottom:1px dotted #DCDCDC; padding-bottom:10px; clear: both;">
466
+ <?php //_e('New Addons are available for wpDiscuz Comments Plugin'); ?>
467
+ <?php _e('Finally wpDiscuz Addons Bundle is ready for You!', 'wpdiscuz'); ?>
468
+ </p>
469
  <div style="font-size:14px;">
470
  <?php
471
  foreach ($this->addons as $key => $addon) {
472
+ if( $addon['class'] != 'Bundle' ) continue;
473
  if (in_array($addon['title'], $lastHashArray))
474
  continue;
475
  ?>
476
+ <div style="display:inline-block; min-width:27%; padding-right:10px; margin-bottom:10px;"><img src="<?php echo $addon['thumb'] ?>" style="height:40px; width:auto; vertical-align:middle; margin:0px 10px; text-decoration:none;" /> <a href="<?php echo esc_url( $addon['url'] ) ?>" target="_blank" style="color:#444; text-decoration:none;" title="<?php _e('View Addons Bundle', 'wpdiscuz'); ?>"><?php echo $addon['title']; ?></a></div>
477
  <?php
478
  }
479
  ?>
options/class.WpdiscuzOptionsSerialized.php CHANGED
@@ -1180,7 +1180,7 @@ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
1180
  'enableStickButton' => 1,
1181
  'enableCloseButton' => 1,
1182
  'enableDropAnimation' => 1,
1183
- 'isNativeAjaxEnabled' => 0,
1184
  );
1185
  add_option(self::OPTION_SLUG_OPTIONS, serialize($options));
1186
  }
1180
  'enableStickButton' => 1,
1181
  'enableCloseButton' => 1,
1182
  'enableDropAnimation' => 1,
1183
+ 'isNativeAjaxEnabled' => 1,
1184
  );
1185
  add_option(self::OPTION_SLUG_OPTIONS, serialize($options));
1186
  }
options/html-addons.php CHANGED
@@ -37,11 +37,14 @@ if (!defined('ABSPATH')) {
37
  </tr>
38
  </table>
39
  <br style="clear:both" />
40
-
 
 
41
  <div class="wpdiscuz-addons-wrapper">
42
  <?php
43
  foreach ($this->addons as $key => $addon) {
44
  $installed = (class_exists($addon['class'])) ? true : false;
 
45
  ?>
46
  <div class="wpdiscuz-addon-block">
47
  <div id="wpdiscuz-addon-<?php echo $key ?>" class="addon-thumb" style="background:url(<?php echo ($installed) ? str_replace('.png', '-off.png', $addon['thumb']) : $addon['thumb']; ?>) top center no-repeat;">
@@ -54,10 +57,15 @@ if (!defined('ABSPATH')) {
54
  <?php } else { ?>
55
  <h3 style="font-weight:normal; font-size:22px; line-height: 25px; margin-bottom:2px; text-shadow: 0 0 2px #999;"><?php echo $addon['title'] ?></h3>
56
  <ul>
57
- <li style="line-height:16px;"><?php _e('Version', 'default'); ?>: <?php echo $addon['version']; ?></li>
58
- <li style="line-height:16px;">wpDiscuz: <?php _e('at least', 'default'); ?> <?php echo $addon['requires']; ?></li>
59
  </ul>
60
- <a class="button button-primary addon-button" href="<?php echo $addon['url']; ?>" target="_blank" style="font-size:14px;"><?php echo __('Live Preview | Buy', 'wpdiscuz'); ?></a>
 
 
 
 
 
61
  <?php } ?>
62
  </div>
63
  </div>
37
  </tr>
38
  </table>
39
  <br style="clear:both" />
40
+ <div style="max-width: 83%; padding: 15px; background: #ffffff; margin-bottom: 15px; box-sizing: border-box;">
41
+ <a href="https://gvectors.com/product/wpdiscuz-addons-bundle/" target="_blank" title="<?php _e('View wpDiscuz Addons Bundle','wpdiscuz');?>"><img src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'bundle' . WPDISCUZ_DS . 'wpdiscuz-bundle.png') ?>" alt="<?php _e('wpDiscuz Addons Bundle', 'default'); ?>" style="width: 100%;"/></a>
42
+ </div>
43
  <div class="wpdiscuz-addons-wrapper">
44
  <?php
45
  foreach ($this->addons as $key => $addon) {
46
  $installed = (class_exists($addon['class'])) ? true : false;
47
+ if( $addon['class'] == 'Bundle' ) continue;
48
  ?>
49
  <div class="wpdiscuz-addon-block">
50
  <div id="wpdiscuz-addon-<?php echo $key ?>" class="addon-thumb" style="background:url(<?php echo ($installed) ? str_replace('.png', '-off.png', $addon['thumb']) : $addon['thumb']; ?>) top center no-repeat;">
57
  <?php } else { ?>
58
  <h3 style="font-weight:normal; font-size:22px; line-height: 25px; margin-bottom:2px; text-shadow: 0 0 2px #999;"><?php echo $addon['title'] ?></h3>
59
  <ul>
60
+ <!--<li style="line-height:16px;"><?php //_e('Version', 'default'); ?>: <?php //echo $addon['version']; ?></li>-->
61
+ <li style="line-height:16px;">wpDiscuz: <?php _e('at least', 'default'); ?> <?php echo $addon['requires']; ?></li>
62
  </ul>
63
+ <?php if( $addon['class'] == 'Bundle' ): ?>
64
+ <a class="button button-primary addon-button" href="<?php echo $addon['url']; ?>" target="_blank" style="font-size:14px;"><?php echo __('More Info &raquo;', 'wpdiscuz'); ?></a>
65
+ <?php else: ?>
66
+ <a class="button button-primary addon-button" href="<?php echo $addon['url']; ?>" target="_blank" style="font-size:14px;"><?php echo __('Live Preview | Buy', 'wpdiscuz'); ?></a>
67
+ <?php endif; ?>
68
+
69
  <?php } ?>
70
  </div>
71
  </div>
options/options-layouts/settings-general.php CHANGED
@@ -8,7 +8,7 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins wpdxb" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row" style="width:50%;"><label for="isEnableOnHome"><?php _e('Enable wpdiscuz on home page', 'wpdiscuz'); ?> </label></th>
12
  <td>
13
  <input type="checkbox" <?php checked($this->optionsSerialized->isEnableOnHome == 1) ?> value="1" name="isEnableOnHome" id="isEnableOnHome" /><label for="isEnableOnHome"></label>
14
  <a href="https://wpdiscuz.com/docs/wpdiscuz-documentation/settings/general-settings/#wpdiscuz_on_home_page" title="<?php _e('Read the documentation', 'wpdiscuz') ?>" target="_blank"><i class="far fa-question-circle"></i></a>
@@ -16,9 +16,9 @@ if (!defined('ABSPATH')) {
16
  </tr>
17
  <tr valign="top">
18
  <th scope="row">
19
- <label for="isNativeAjaxEnabled"><?php _e('Enable WordPress native ajax', 'wpdiscuz'); ?> </label>
20
  <p class="wpd-desc">
21
- <?php _e('Enable Wordpress native ajax', 'wpdiscuz'); ?>
22
  </p>
23
  </th>
24
  <td>
8
  <table class="wp-list-table widefat plugins wpdxb" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row" style="width:50%;"><label for="isEnableOnHome"><?php _e('Enable wpDiscuz on home page', 'wpdiscuz'); ?> </label></th>
12
  <td>
13
  <input type="checkbox" <?php checked($this->optionsSerialized->isEnableOnHome == 1) ?> value="1" name="isEnableOnHome" id="isEnableOnHome" /><label for="isEnableOnHome"></label>
14
  <a href="https://wpdiscuz.com/docs/wpdiscuz-documentation/settings/general-settings/#wpdiscuz_on_home_page" title="<?php _e('Read the documentation', 'wpdiscuz') ?>" target="_blank"><i class="far fa-question-circle"></i></a>
16
  </tr>
17
  <tr valign="top">
18
  <th scope="row">
19
+ <label for="isNativeAjaxEnabled"><?php _e('Use WordPress native AJAX functions', 'wpdiscuz'); ?> </label>
20
  <p class="wpd-desc">
21
+ <?php _e('By disabling this option you\'re automatically enabling wpDiscuz custom AJAX functions, which are many times faster that the default WordPress functions. Just make sure it doesn\'t conflict with your plugins.', 'wpdiscuz'); ?>
22
  </p>
23
  </th>
24
  <td>
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.1.7
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -19,6 +19,7 @@ Comments - wpDiscuz is Multisite and RTL ready!
19
  * wpDiscuz Demo: [https://wpdiscuz.com/demo/](https://wpdiscuz.com/demo/)
20
  * wpDiscuz GDPR: [https://wpdiscuz.com/gdpr/](https://wpdiscuz.com/gdpr/)
21
  * wpDiscuz Addons: [https://wpdiscuz.com/addons/](https://wpdiscuz.com/addons)
 
22
  * wpDiscuz Documentation: [https://wpdiscuz.com/documentation/](https://wpdiscuz.com/documentation/)
23
 
24
  Integration with User Profile Plugins - Please read the [Integrations] Tab in wpDiscuz Settings admin page
@@ -36,6 +37,7 @@ Integration with AntiSpam plugins
36
 
37
  = Comments - wpDiscuz Features: =
38
 
 
39
  * Adds interactive comment box on posts and other content types
40
  * Commenting can be allowed/disallowed on posts and other content types
41
  * Responsive comments form and comment threads design
@@ -82,6 +84,7 @@ Integration with AntiSpam plugins
82
 
83
  = Add-ons =
84
 
 
85
  * | [wpDiscuz - Emoticons](https://gvectors.com/product/wpdiscuz-emoticons/)
86
  * | [wpDiscuz - Media Uploader](https://gvectors.com/product/wpdiscuz-media-uploader/)
87
  * | [wpDiscuz - Comment Author Info](https://gvectors.com/product/wpdiscuz-comment-author-info/)
@@ -171,11 +174,29 @@ Nothing will be lost! **Comments - wpDiscuz** will show all old comments.
171
 
172
  == Changelog ==
173
 
 
174
 
175
- = Comments - wpDiscuz v5.1.6 / v5.1.7 =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
 
177
- * Fixed Bug : Guests commenting issue
178
- * Fixed Bug : Avatar displaying issue
179
 
180
  * Added: More speed based on custom AJAX processor (30% faster).
181
  * Added: Option to enable/disable WP native ajax processor (admin-ajax.php)
@@ -192,18 +213,8 @@ Nothing will be lost! **Comments - wpDiscuz** will show all old comments.
192
  * Fixed Bug: Hide comment subscription bar if commenting is closed.
193
  * Fixed Bug: Facebook login issues
194
  * Fixed Bug: Problem with Hide Header Text option
195
-
196
-
197
- IMPORTANT!
198
-
199
- - Please delete all caches and press CTRL+F5 on website front-end after updating wpDiscuz
200
- - wpDiscuz uses FontAwesome version 5. If you have created custom comment fields with custom icons, please edit and update with new version icons.
201
- - Please update all addons once the wpDiscuz is updated to 5 version. Old addons are not compatible with wpDiscuz 5.
202
- - 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.
203
- - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
204
- - If you have a Cache Plugin, please delete all caches after wpDiscuz update.
205
- - If you use CDN and found some issue please purge it.
206
- - 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/)
207
 
208
 
209
  = Comments - wpDiscuz v5.1.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.2.0
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
19
  * wpDiscuz Demo: [https://wpdiscuz.com/demo/](https://wpdiscuz.com/demo/)
20
  * wpDiscuz GDPR: [https://wpdiscuz.com/gdpr/](https://wpdiscuz.com/gdpr/)
21
  * wpDiscuz Addons: [https://wpdiscuz.com/addons/](https://wpdiscuz.com/addons)
22
+ * wpDiscuz Addons Bundle: [https://gvectors.com/product/wpdiscuz-addons-bundle/)
23
  * wpDiscuz Documentation: [https://wpdiscuz.com/documentation/](https://wpdiscuz.com/documentation/)
24
 
25
  Integration with User Profile Plugins - Please read the [Integrations] Tab in wpDiscuz Settings admin page
37
 
38
  = Comments - wpDiscuz Features: =
39
 
40
+ * Brings fastest commenting experience (boosted core).
41
  * Adds interactive comment box on posts and other content types
42
  * Commenting can be allowed/disallowed on posts and other content types
43
  * Responsive comments form and comment threads design
84
 
85
  = Add-ons =
86
 
87
+ * | [wpDiscuz - Bundle](https://gvectors.com/product/wpdiscuz-addons-bundle/)
88
  * | [wpDiscuz - Emoticons](https://gvectors.com/product/wpdiscuz-emoticons/)
89
  * | [wpDiscuz - Media Uploader](https://gvectors.com/product/wpdiscuz-media-uploader/)
90
  * | [wpDiscuz - Comment Author Info](https://gvectors.com/product/wpdiscuz-comment-author-info/)
174
 
175
  == Changelog ==
176
 
177
+ = Comments - wpDiscuz v5.2.0 =
178
 
179
+ * Boosted: Revolutionary changes in core made for rocket speed.
180
+ * Boosted: Database queries with custom AJAX processor (disabled by default)
181
+ * Fixed Bug: Guests commenting issue
182
+ * Fixed Bug: Avatar displaying issue
183
+ * Fixed Bug: Comment editing issue for high level of users
184
+ * Fixed Bug: Issue with Rating custom comment field
185
+
186
+
187
+ IMPORTANT!
188
+
189
+ - Please delete all caches and press CTRL+F5 on website front-end after updating wpDiscuz
190
+ - wpDiscuz uses FontAwesome version 5. If you have created custom comment fields with custom icons, please edit and update with new version icons.
191
+ - Please update all addons once the wpDiscuz is updated to 5 version. Old addons are not compatible with wpDiscuz 5.
192
+ - 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.
193
+ - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
194
+ - If you have a Cache Plugin, please delete all caches after wpDiscuz update.
195
+ - If you use CDN and found some issue please purge it.
196
+ - 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/)
197
 
198
+
199
+ = Comments - wpDiscuz v5.1.6 / v5.1.7 =
200
 
201
  * Added: More speed based on custom AJAX processor (30% faster).
202
  * Added: Option to enable/disable WP native ajax processor (admin-ajax.php)
213
  * Fixed Bug: Hide comment subscription bar if commenting is closed.
214
  * Fixed Bug: Facebook login issues
215
  * Fixed Bug: Problem with Hide Header Text option
216
+ * Fixed Bug: Guests commenting issue
217
+ * Fixed Bug: Avatar displaying issue
 
 
 
 
 
 
 
 
 
 
218
 
219
 
220
  = Comments - wpDiscuz v5.1.5 =
templates/comment/class.WpdiscuzWalker.php CHANGED
@@ -155,7 +155,8 @@ class WpdiscuzWalker extends Walker_Comment implements WpDiscuzConstants {
155
  'wpdiscuz_gravatar_size' => $gravatarSize,
156
  'wpdiscuz_gravatar_user_id' => $gravatarUserId,
157
  'wpdiscuz_gravatar_user_email' => $gravatarUserEmail,
158
- );
 
159
 
160
  $trackOrPingback = $comment->comment_type == 'pingback' || $comment->comment_type == 'trackback';
161
  if ($this->optionsSerialized->wordpressShowAvatars) {
@@ -221,10 +222,6 @@ class WpdiscuzWalker extends Walker_Comment implements WpDiscuzConstants {
221
  $voteDown = $this->optionsSerialized->phrases['wc_vote_down'];
222
  }
223
 
224
- $hasChildren = isset($args['wpdiscuz_root_comment_' . $comment->comment_ID]) ? $args['wpdiscuz_root_comment_' . $comment->comment_ID] : '';
225
- if ($hasChildren) {
226
- $commentWrapperClass[] = $hasChildren;
227
- }
228
  $commentWrapperClass[] = $authorClass;
229
  $commentWrapperClass[] = 'wc_comment_level-' . $depth;
230
  $commentWrapperClass = apply_filters('wpdiscuz_comment_wrap_classes', $commentWrapperClass, $comment);
@@ -313,7 +310,6 @@ class WpdiscuzWalker extends Walker_Comment implements WpDiscuzConstants {
313
 
314
  $output .= apply_filters('wpdiscuz_comment_text', '<div class="wc-comment-text">' . $commentContent . '</div>', $comment, $args);
315
  $output = apply_filters('wpdiscuz_after_comment_text', $output, $comment);
316
- // if (isset($args['comment_status']) && is_array($args['comment_status']) && in_array($comment->comment_approved, $args['comment_status'])) {
317
  $output .= '<div class="wc-comment-footer">';
318
  $output .= '<div class="wc-footer-left">';
319
  if (!$this->optionsSerialized->votingButtonsShowHide) {
@@ -388,30 +384,23 @@ class WpdiscuzWalker extends Walker_Comment implements WpDiscuzConstants {
388
  $output .= '<div class="wc-comment-date"><i class="far fa-clock" aria-hidden="true"></i>' . $postedDate . '</div>';
389
  }
390
  if ($depth < $this->optionsSerialized->wordpressThreadCommentsDepth && $this->optionsSerialized->wordpressThreadComments) {
391
- $chevron = '';
392
  $output .= '<div class="wc-toggle">';
393
- if ($hasChildren) {
394
- $countChildren = isset($args['wpdiscuz_child_count_' . $comment->comment_ID]) ? $args['wpdiscuz_child_count_' . $comment->comment_ID] : 0;
395
- $hideChildCountClass = isset($args['wpdiscuz_hide_child_count_' . $comment->comment_ID]) ? $args['wpdiscuz_hide_child_count_' . $comment->comment_ID] : '';
396
- if ($countChildren) {
397
- $chevron = '<a href="#" title="' . $this->optionsSerialized->phrases['wc_show_replies_text'] . '">';
398
- $chevron .= '<span class="wcsep">|</span> <span class="wpdiscuz-children ' . $hideChildCountClass . '"><span class="wpdiscuz-children-button-text">' . $this->optionsSerialized->phrases['wc_show_replies_text'] . '</span> (<span class="wpdiscuz-children-count">' . $countChildren . '</span>)</span> ';
399
- $chevron .= '<i class="fas fa-chevron-down wpdiscuz-show-replies"></i>';
400
- $chevron .= '</a>';
401
- } else {
402
- $chevron = '<i class="fas fa-chevron-up" title="' . $this->optionsSerialized->phrases['wc_hide_replies_text'] . '"></i>';
403
- }
404
  } else {
405
- $commentChildren = $comment->get_children();
406
- $chevron = $commentChildren ? '<i class="fas fa-chevron-up" title="' . $this->optionsSerialized->phrases['wc_hide_replies_text'] . '"></i>' : '';
407
  }
 
408
  $output .= $chevron;
409
  $output .= '</div>';
410
  }
411
  $output .= '</div>';
412
  $output .= '<div class="wpdiscuz_clear"></div>';
413
  $output .= '</div>';
414
- // }
415
  $output .= '</div>';
416
  $output .= '<div class="wpdiscuz-comment-message"></div>';
417
  $output .= '<div id="wpdiscuz_form_anchor-' . $uniqueId . '" style="clear:both"></div>';
155
  'wpdiscuz_gravatar_size' => $gravatarSize,
156
  'wpdiscuz_gravatar_user_id' => $gravatarUserId,
157
  'wpdiscuz_gravatar_user_email' => $gravatarUserEmail,
158
+ 'wpdiscuz_current_user' => $user,
159
+ );
160
 
161
  $trackOrPingback = $comment->comment_type == 'pingback' || $comment->comment_type == 'trackback';
162
  if ($this->optionsSerialized->wordpressShowAvatars) {
222
  $voteDown = $this->optionsSerialized->phrases['wc_vote_down'];
223
  }
224
 
 
 
 
 
225
  $commentWrapperClass[] = $authorClass;
226
  $commentWrapperClass[] = 'wc_comment_level-' . $depth;
227
  $commentWrapperClass = apply_filters('wpdiscuz_comment_wrap_classes', $commentWrapperClass, $comment);
310
 
311
  $output .= apply_filters('wpdiscuz_comment_text', '<div class="wc-comment-text">' . $commentContent . '</div>', $comment, $args);
312
  $output = apply_filters('wpdiscuz_after_comment_text', $output, $comment);
 
313
  $output .= '<div class="wc-comment-footer">';
314
  $output .= '<div class="wc-footer-left">';
315
  if (!$this->optionsSerialized->votingButtonsShowHide) {
384
  $output .= '<div class="wc-comment-date"><i class="far fa-clock" aria-hidden="true"></i>' . $postedDate . '</div>';
385
  }
386
  if ($depth < $this->optionsSerialized->wordpressThreadCommentsDepth && $this->optionsSerialized->wordpressThreadComments) {
 
387
  $output .= '<div class="wc-toggle">';
388
+ $countChildren = isset($args['wpdiscuz_child_count_' . $comment->comment_ID]) ? $args['wpdiscuz_child_count_' . $comment->comment_ID] : 0;
389
+ if ($countChildren) {
390
+ $chevron = '<a href="#" title="' . $this->optionsSerialized->phrases['wc_show_replies_text'] . '">';
391
+ $chevron .= '<span class="wcsep">|</span> <span class="wpdiscuz-children"><span class="wpdiscuz-children-button-text">' . $this->optionsSerialized->phrases['wc_show_replies_text'] . '</span> (<span class="wpdiscuz-children-count">' . $countChildren . '</span>)</span> ';
392
+ $chevron .= '<i class="fas fa-chevron-down wpdiscuz-show-replies"></i>';
393
+ $chevron .= '</a>';
 
 
 
 
 
394
  } else {
395
+ $chevron = $comment->get_children() ? '<i class="fas fa-chevron-up" title="' . $this->optionsSerialized->phrases['wc_hide_replies_text'] . '"></i>' : '';
 
396
  }
397
+
398
  $output .= $chevron;
399
  $output .= '</div>';
400
  }
401
  $output .= '</div>';
402
  $output .= '<div class="wpdiscuz_clear"></div>';
403
  $output .= '</div>';
 
404
  $output .= '</div>';
405
  $output .= '<div class="wpdiscuz-comment-message"></div>';
406
  $output .= '<div id="wpdiscuz_form_anchor-' . $uniqueId . '" style="clear:both"></div>';
utils/form-bottom-statistics.php CHANGED
@@ -73,7 +73,6 @@ if ($isMain && $commentsCount && $postId) {
73
  $authorsCount = $this->dbManager->getAuthorsCount($postId);
74
  }
75
  ?>
76
- <?php ?>
77
  <div class="wpdiscuz-stat wpd-stat-users wpd-tooltip">
78
  <i class="fas fa-user-circle"></i> <span class="wpd-stat-authors-count"><?php echo $authorsCount; ?></span>
79
  <wpdtip><?php echo $form->wpdOptions->phrases['wc_comment_authors']; ?></wpdtip>
73
  $authorsCount = $this->dbManager->getAuthorsCount($postId);
74
  }
75
  ?>
 
76
  <div class="wpdiscuz-stat wpd-stat-users wpd-tooltip">
77
  <i class="fas fa-user-circle"></i> <span class="wpd-stat-authors-count"><?php echo $authorsCount; ?></span>
78
  <wpdtip><?php echo $form->wpdOptions->phrases['wc_comment_authors']; ?></wpdtip>