Comments – wpDiscuz - Version 3.2.7

Version Description

  • Added: Basic Comment Quicktags (using WordPress quicktags plugin)
  • Added: Option to change Anonymous commenter name
  • Added: Option to turn on/off image URL to image HTML conversion
  • Added: Changed image icons to Font-Awesome versions
  • Fixed Bug: Specific avatar and no-label for Trackbacks and Pingbacks
  • Fixed Bug: Alt attribute for all icons, images and avatars
  • Fixed Bug: No more vulnerability: #1961704.
  • Fixed Bug: JavaScript error "undefined index isShowSubscribeWrapper"
  • Fixed Bug: Super Socializer setting page error (You do not have sufficient permissions to access this page).
  • Fixed Bug: Single comment tree by anchor issue
  • New Addons: Widgets, Search, Front-end Moderation.

IMPORTANT:

  • If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
  • If you have a Cache Plugin and CDN, please delete all caches and purge CDN after wpDiscuz update.
Download this release

Release Info

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

Code changes from version 3.2.6 to 3.2.7

assets/addons/frontend-moderation/header-off.png ADDED
Binary file
assets/addons/frontend-moderation/header.png ADDED
Binary file
assets/addons/search/header-off.png ADDED
Binary file
assets/addons/search/header.png ADDED
Binary file
assets/addons/widgets/header-off.png ADDED
Binary file
assets/addons/widgets/header.png ADDED
Binary file
assets/css/wpdiscuz.min.css CHANGED
@@ -13,12 +13,13 @@
13
  #wpcomm .wc_new_comment_and_replies .wc_new_reply {float: right;display: none;padding: 3px 10px;font-size: 12px;margin: 1px 0 1px 1px;cursor: pointer;color: #fff;line-height: 15px}
14
  #wpcomm .wc-comment-bar {width: 100%;padding: 0;display: block}
15
  #wpcomm .wc-comment-title {margin: 0;line-height: 18px;font-weight: bold;padding: 10px;margin-bottom: 10px;font-size: 13px;text-align: right;border-bottom: #ccc dotted 1px;padding-bottom: 10px}
16
- #wpcomm .wc-form-wrapper {padding: 10px;margin-top: 0px;border: 1px solid #f1f1f1;clear: both;}
17
  #wpcomm .wc-field-comment {margin: 5px auto 1px auto}
18
  #wpcomm .wc-field-comment .wc-field-avatararea {width: 60px;float: left}
19
  #wpcomm .wc-field-comment .wc-field-textarea {margin-left: 65px; position:relative;}
20
  #wpcomm .wc-field-comment .wc-field-textarea textarea { border:none!important; resize: none; padding:10px; }
21
- #wpcomm .wc-field-comment .wc-field-textarea .commentTextMaxLength{ display:none; font-size:11px; color:#aaa; position:absolute; top:3px; right:5px; }
 
22
  #wpcomm .wc-field-comment .wc-field-textarea .commentTextMaxLength.left10{color:#f00};
23
 
24
  #wpcomm .wpdiscuz-textarea-wrap{ padding:0px; margin:0px; background:transparent; }
@@ -47,8 +48,8 @@
47
  #wpcomm .wc-comment {margin-bottom: 13px}
48
  #wpcomm .wc-comment .wc-form-wrapper {padding: 10px 10px 7px 10px}
49
  #wpcomm .wc-comment .wc-comment-left {width: 62px;float: left;text-align: center;font-family: Lato, sans-serif;line-height: 16px}
50
- #wpcomm .wc-comment .wc-comment-right {margin-left: 70px;border: #f5f5f5 1px solid;padding: 10px 10px 3px 10px;display: block;}
51
- #wpcomm .wc-reply .wc-comment-right {margin-left: 70px;border: #f5f5f5 1px solid;padding: 10px 10px 3px 10px}
52
  #wpcomm .wc-reply {margin-top: 10px;margin-bottom: 0;margin-left: 40px}
53
  #wpcomm .wc-must-login {margin: 0;font-size: 14px;line-height: 16px;padding: 10px;text-align: center}
54
  #wpcomm hr {background-color: rgba(0,0,0,0.1);border: 0 none;height: 1px;margin: 10px auto;}
@@ -65,9 +66,11 @@
65
  #wpcomm .wc-comment-footer a, #wpcomm .wc-comment-footer span.wc_editable_comment, #wpcomm .wc-comment-footer span.wc_save_edited_comment, #wpcomm span.wc_cancel_edit {text-decoration: none;font-size: 13px;font-weight: bold;cursor: pointer}
66
  #wpcomm .wc-comment-footer .share_buttons_box img {vertical-align: middle}
67
  #wpcomm .wc-comment-footer .wc-voted {color: #666;cursor: default}
68
- #wpcomm .wc-comment-footer .wc-vote-img-up {padding: 0;margin: 0 0 -2px 0;vertical-align: baseline;display: inline;float: none;clear: both;border: 0;background: transparent;width: 16px;height: 16px;border-radius: 0;box-shadow: none;box-sizing: border-box}
69
- #wpcomm .wc-comment-footer .wc-vote-img-down {padding: 0;margin: 0 0 -6px 0;vertical-align: baseline;display: inline;float: none;clear: both;border: 0;background: transparent;width: 16px;height: 16px;border-radius: 0;box-shadow: none;box-sizing: border-box}
70
- #wpcomm .wc-comment-footer .wc-vote-result {padding: 2px 6px 2px 5px;color: #fff;font-size: 12px;font-weight: bold;display: inline;margin-right: 5px}
 
 
71
  #wpcomm .wc-toggle {float: right;text-align: right;padding-right: 0;margin-right: 0;color: #999;cursor: pointer;font-size: 12px;white-space: nowrap;line-height: 24px;}
72
  #wpcomm .wpdiscuz-item {background: 0;border-radius: 0;box-shadow: none}
73
  #wc_response_info img {margin: 0 auto 0 auto;box-shadow: none}
@@ -160,6 +163,14 @@
160
  #wpcomm .wc-field-captcha .wc-captcha-label .wc_captcha_refresh_img img { max-width: 16px!important; max-height: 16px!important; box-sizing:content-box; margin: 0px; display: inline!important; background-color:#E6E6E6; padding:5px; border:1px solid #E4E4E4; border-left:1px solid #d9d9d9; vertical-align:top; }
161
  #wpcomm .wc-label a:focus { outline: none;}
162
  #wpcomm .wc-field-submit { padding:5px 0px 0px 5px; clear:left; }
 
 
 
 
 
 
 
 
163
  @media screen and (max-width:650px) {
164
  #wpcomm .wpdiscuz-subscribe-form-option {width: 100%!important;padding: 0px!important;}
165
  #wpcomm .wpdiscuz-subscribe-form-email {width: 100%!important;padding: 0px!important;margin-top: 5px;}
@@ -210,9 +221,6 @@
210
  #wpcomm .wc-field-submit input[type="button"] {width: 99%;font-size: 10px;padding: 5px 2px;}
211
  .wpdiscuz_auth .wc-field-submit {width: 100%!important;}
212
  .wpdiscuz_auth .wc_notification_checkboxes {text-align: left!important;}
 
 
213
  }
214
- #wpcomm .wpdiscuz-hidden {display: none;}
215
- .wpdiscuz_top_clearing{clear:both;}
216
- .wpdiscuz_clear{clear:both;}
217
- .wpdiscuz_clear_right{clear:right;}
218
- .wpdiscuz_clear_left{clear:left;}
13
  #wpcomm .wc_new_comment_and_replies .wc_new_reply {float: right;display: none;padding: 3px 10px;font-size: 12px;margin: 1px 0 1px 1px;cursor: pointer;color: #fff;line-height: 15px}
14
  #wpcomm .wc-comment-bar {width: 100%;padding: 0;display: block}
15
  #wpcomm .wc-comment-title {margin: 0;line-height: 18px;font-weight: bold;padding: 10px;margin-bottom: 10px;font-size: 13px;text-align: right;border-bottom: #ccc dotted 1px;padding-bottom: 10px}
16
+ #wpcomm .wc-form-wrapper {padding: 10px;margin-top: 0px;border: 1px solid #f1f1f1;clear: both; overflow:visible!important;}
17
  #wpcomm .wc-field-comment {margin: 5px auto 1px auto}
18
  #wpcomm .wc-field-comment .wc-field-avatararea {width: 60px;float: left}
19
  #wpcomm .wc-field-comment .wc-field-textarea {margin-left: 65px; position:relative;}
20
  #wpcomm .wc-field-comment .wc-field-textarea textarea { border:none!important; resize: none; padding:10px; }
21
+ #wpcomm .wc-field-comment .wc-field-textarea .commentTextMaxLength{display:none; font-size:11px; color:#aaa; position:absolute; top:3px; right:5px;}
22
+ #wpcomm .wc-field-comment .wc-field-textarea .wpdiscuz-quicktags-enabled .commentTextMaxLength{top:39px;}
23
  #wpcomm .wc-field-comment .wc-field-textarea .commentTextMaxLength.left10{color:#f00};
24
 
25
  #wpcomm .wpdiscuz-textarea-wrap{ padding:0px; margin:0px; background:transparent; }
48
  #wpcomm .wc-comment {margin-bottom: 13px}
49
  #wpcomm .wc-comment .wc-form-wrapper {padding: 10px 10px 7px 10px}
50
  #wpcomm .wc-comment .wc-comment-left {width: 62px;float: left;text-align: center;font-family: Lato, sans-serif;line-height: 16px}
51
+ #wpcomm .wc-comment .wc-comment-right {margin-left: 70px;border: #E9E9E9 1px solid;padding: 10px 10px 3px 10px;display: block;}
52
+ #wpcomm .wc-reply .wc-comment-right {margin-left: 70px;border: #E9E9E9 1px solid;padding: 10px 10px 3px 10px}
53
  #wpcomm .wc-reply {margin-top: 10px;margin-bottom: 0;margin-left: 40px}
54
  #wpcomm .wc-must-login {margin: 0;font-size: 14px;line-height: 16px;padding: 10px;text-align: center}
55
  #wpcomm hr {background-color: rgba(0,0,0,0.1);border: 0 none;height: 1px;margin: 10px auto;}
66
  #wpcomm .wc-comment-footer a, #wpcomm .wc-comment-footer span.wc_editable_comment, #wpcomm .wc-comment-footer span.wc_save_edited_comment, #wpcomm span.wc_cancel_edit {text-decoration: none;font-size: 13px;font-weight: bold;cursor: pointer}
67
  #wpcomm .wc-comment-footer .share_buttons_box img {vertical-align: middle}
68
  #wpcomm .wc-comment-footer .wc-voted {color: #666;cursor: default}
69
+ #wpcomm .wc-comment-footer .wc-vote-link{display:inline-block; line-height:13px;}
70
+ #wpcomm .wc-comment-footer .wc-vote-link i{font-size:18px; line-height:13px;}
71
+ #wpcomm .wc-comment-footer .wc-vote-img-up {padding:0px;margin:0;vertical-align: baseline!important; display:inline-block; float: none; border:none; }
72
+ #wpcomm .wc-comment-footer .wc-vote-img-down {padding:0px; margin: 0;vertical-align: top!important;; display:inline-block; float: none; border:none; }
73
+ #wpcomm .wc-comment-footer .wc-vote-result {padding: 2px 6px 2px 5px;color: #fff;font-size: 12px;font-weight: bold;display: inline;margin-right: 7px}
74
  #wpcomm .wc-toggle {float: right;text-align: right;padding-right: 0;margin-right: 0;color: #999;cursor: pointer;font-size: 12px;white-space: nowrap;line-height: 24px;}
75
  #wpcomm .wpdiscuz-item {background: 0;border-radius: 0;box-shadow: none}
76
  #wc_response_info img {margin: 0 auto 0 auto;box-shadow: none}
163
  #wpcomm .wc-field-captcha .wc-captcha-label .wc_captcha_refresh_img img { max-width: 16px!important; max-height: 16px!important; box-sizing:content-box; margin: 0px; display: inline!important; background-color:#E6E6E6; padding:5px; border:1px solid #E4E4E4; border-left:1px solid #d9d9d9; vertical-align:top; }
164
  #wpcomm .wc-label a:focus { outline: none;}
165
  #wpcomm .wc-field-submit { padding:5px 0px 0px 5px; clear:left; }
166
+ #wpcomm .wpdiscuz-hidden {display: none;}
167
+ .wpdiscuz_top_clearing{clear:both;}
168
+ .wpdiscuz_clear{clear:both;}
169
+ .wpdiscuz_clear_right{clear:right;}
170
+ .wpdiscuz_clear_left{clear:left;}
171
+ #wpcomm .wc-form-wrapper .quicktags-toolbar { padding:0px 3px 0px 3px; text-align:left; min-height:30px;}
172
+ #wpcomm .wc-form-wrapper .ed_button { width: auto; padding: 3px; border:none; margin: 5px 2px 8px 2px; background: #f7f7f7 none repeat scroll 0 0; box-shadow: 0 1px 1px #cdcdcd;min-width:5%; color: #555;font-size:13px; line-height:16px; font-weight:normal; text-transform:lowercase; vertical-align: top;display:inline-block;font-family:"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", sans-serif; }
173
+ #wpcomm .wc-form-wrapper input[type="button"].ed_button:focus, #wpcomm .wc-form-wrapper input[type="button"].ed_button:hover{ background:#ededed!important; }
174
  @media screen and (max-width:650px) {
175
  #wpcomm .wpdiscuz-subscribe-form-option {width: 100%!important;padding: 0px!important;}
176
  #wpcomm .wpdiscuz-subscribe-form-email {width: 100%!important;padding: 0px!important;margin-top: 5px;}
221
  #wpcomm .wc-field-submit input[type="button"] {width: 99%;font-size: 10px;padding: 5px 2px;}
222
  .wpdiscuz_auth .wc-field-submit {width: 100%!important;}
223
  .wpdiscuz_auth .wc_notification_checkboxes {text-align: left!important;}
224
+ #wpcomm .wc-form-wrapper .ed_button{ width:18%; padding:0px; margin:3px 2px 3px 2px;}
225
+ #wpcomm .wc-field-comment .wc-field-textarea .wpdiscuz-quicktags-enabled .commentTextMaxLength{top:49px;}
226
  }
 
 
 
 
 
assets/img/trackback.png ADDED
Binary file
assets/js/wpdiscuz.js CHANGED
@@ -277,9 +277,6 @@ jQuery(document).ready(function ($) {
277
  currTArea.css('height', '45.6px');
278
  setTextareaCharCount(currTArea, commentTextMaxLength);
279
  $('.wmu-preview-wrap', wcForm).remove();
280
- if (wpdiscuzUploader == 1) {
281
- $(wcForm).wmuHideAll();
282
- }
283
  } else {
284
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
285
  if (obj.typeError != 'undefined' && obj.typeError != null) {
@@ -287,6 +284,15 @@ jQuery(document).ready(function ($) {
287
  }
288
  wpdiscuzAjaxObj.setCommentMessage(wcForm, messageKey, message, true);
289
  }
 
 
 
 
 
 
 
 
 
290
  } catch (e) {
291
  if (response.indexOf('<') >= 0 && response.indexOf('>') >= 0) {
292
  message = e;
@@ -431,6 +437,15 @@ jQuery(document).ready(function ($) {
431
  } else {
432
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
433
  wpdiscuzAjaxObj.setCommentMessage(saveButton, messageKey, message, false);
 
 
 
 
 
 
 
 
 
434
  }
435
  editableTextarea = '';
436
  commentContent = '';
@@ -559,6 +574,15 @@ jQuery(document).ready(function ($) {
559
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
560
  wpdiscuzAjaxObj.setCommentMessage(currentVoteBtn, messageKey, message, false);
561
  }
 
 
 
 
 
 
 
 
 
562
  } catch (e) {
563
  console.log(e);
564
  }
277
  currTArea.css('height', '45.6px');
278
  setTextareaCharCount(currTArea, commentTextMaxLength);
279
  $('.wmu-preview-wrap', wcForm).remove();
 
 
 
280
  } else {
281
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
282
  if (obj.typeError != 'undefined' && obj.typeError != null) {
284
  }
285
  wpdiscuzAjaxObj.setCommentMessage(wcForm, messageKey, message, true);
286
  }
287
+ if (obj.callbackFunctions != null && obj.callbackFunctions != 'undefined' && obj.callbackFunctions.length) {
288
+ $.each(obj.callbackFunctions, function (i) {
289
+ if (typeof wpdiscuzAjaxObj[obj.callbackFunctions[i]] === "function") {
290
+ wpdiscuzAjaxObj[obj.callbackFunctions[i]](messageKey, wcForm);
291
+ } else {
292
+ console.log(obj.callbackFunctions[i] + " is not a function");
293
+ }
294
+ });
295
+ }
296
  } catch (e) {
297
  if (response.indexOf('<') >= 0 && response.indexOf('>') >= 0) {
298
  message = e;
437
  } else {
438
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
439
  wpdiscuzAjaxObj.setCommentMessage(saveButton, messageKey, message, false);
440
+ }
441
+ if (obj.callbackFunctions != null && obj.callbackFunctions != 'undefined' && obj.callbackFunctions.length) {
442
+ $.each(obj.callbackFunctions, function (i) {
443
+ if (typeof wpdiscuzAjaxObj[obj.callbackFunctions[i]] === "function") {
444
+ wpdiscuzAjaxObj[obj.callbackFunctions[i]](messageKey, commentID, commentContent);
445
+ } else {
446
+ console.log(obj.callbackFunctions[i] + " is not a function");
447
+ }
448
+ });
449
  }
450
  editableTextarea = '';
451
  commentContent = '';
574
  message = wpdiscuzAjaxObj.wpdiscuz_options[messageKey];
575
  wpdiscuzAjaxObj.setCommentMessage(currentVoteBtn, messageKey, message, false);
576
  }
577
+ if (obj.callbackFunctions != null && obj.callbackFunctions != 'undefined' && obj.callbackFunctions.length) {
578
+ $.each(obj.callbackFunctions, function (i) {
579
+ if (typeof wpdiscuzAjaxObj[obj.callbackFunctions[i]] === "function") {
580
+ wpdiscuzAjaxObj[obj.callbackFunctions[i]](messageKey, commentID, voteType);
581
+ } else {
582
+ console.log(obj.callbackFunctions[i] + " is not a function");
583
+ }
584
+ });
585
+ }
586
  } catch (e) {
587
  console.log(e);
588
  }
assets/js/wpdiscuz.min.js CHANGED
@@ -1,2 +1,2 @@
1
-
2
- jQuery(document).ready(function(H){H("body").addClass("wpdiscuz_"+wpdiscuzAjaxObj.wpdiscuz_options.version);wpdiscuzValidator.message.invalid=wpdiscuzAjaxObj.wpdiscuz_options.wc_invalid_field;wpdiscuzValidator.message.empty=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_empty_text;wpdiscuzValidator.message.email=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_email_text;wpdiscuzValidator.message.url=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_url_text;wpdiscuzValidator.message.min=wpdiscuzAjaxObj.wpdiscuz_options.wc_msg_input_min_length;wpdiscuzValidator.message.max=wpdiscuzAjaxObj.wpdiscuz_options.wc_msg_input_max_length;var W=wpdiscuzAjaxObj.wpdiscuz_options.is_user_logged_in;var t=wpdiscuzAjaxObj.wpdiscuz_options.wc_captcha_show_hide==0&&!W;var V=wpdiscuzAjaxObj.wpdiscuz_options.wc_captcha_show_hide_for_members>0&&W;var A=wpdiscuzAjaxObj.wpdiscuz_options.isCaptchaInSession;var F=wpdiscuzAjaxObj.wpdiscuz_options.commentListLoadType;var aa=wpdiscuzAjaxObj.wpdiscuz_options.wordpressIsPaginate;var q=wpdiscuzAjaxObj.wpdiscuz_options.wc_post_id;var l=wpdiscuzAjaxObj.wpdiscuz_options.commentListUpdateType;var j=wpdiscuzAjaxObj.wpdiscuz_options.commentListUpdateTimer;var z=wpdiscuzAjaxObj.wpdiscuz_options.liveUpdateGuests;var X=wpdiscuzAjaxObj.wpdiscuz_options.loadLastCommentId;var a=wpdiscuzAjaxObj.wpdiscuz_options.wordpress_comment_order;var L=wpdiscuzAjaxObj.wpdiscuz_options.commentsVoteOrder;var C=wpdiscuzAjaxObj.wpdiscuz_options.storeCommenterData;var b=1;var o="comment_date_gmt";var Q=[];var w=[];var n=wpdiscuzAjaxObj.wpdiscuz_options.wpDiscuzReCaptcha;var k=wpdiscuzAjaxObj.wpdiscuz_options.uploader;var ab=wpdiscuzAjaxObj.wpdiscuz_options.commentTextMaxLength;I();g();e();if(L){H(".wpdiscuz-vote-sort-up").addClass("wpdiscuz-sort-button-active");o="by_vote"}else{H(".wpdiscuz-date-sort-"+a).addClass("wpdiscuz-sort-button-active")}H("#wc_unsubscribe_message").delay(4000).fadeOut(1500,function(){H(this).remove();location.href=location.href.substring(0,location.href.indexOf("subscribeAnchor")-1)});if(H(".wc_main_comm_form").length){d()}H(document).delegate(".wc-reply-link","click",function(){if(H(this).hasClass("wpdiscuz-clonned")){H("#wc-secondary-form-wrapper-"+p(H(this),0)).slideToggle(700)}else{h(H(this))}d()});H(document).delegate("textarea.wc_comment","focus",function(){if(!(H(this).next(".autogrow-textarea-mirror").length)){H(this).autoGrow()}var ae=H(this).parents(".wc-form-wrapper");H(".commentTextMaxLength",ae).show();H(".wc-form-footer",ae).slideDown(700)});H(document).delegate("textarea.wc_comment","blur",function(){var ae=H(this).parents(".wc-form-wrapper");H(".commentTextMaxLength",ae).hide()});H(document).delegate("textarea.wc_comment","keyup",function(){D(H(this),ab)});H.each(H("textarea.wc_comment"),function(){D(H(this),ab)});H(document).delegate(".wc-share-link","click",function(){var ae=H(this).parents(".wc-comment-right");H(".share_buttons_box",ae).slideToggle(1000)});H(document).delegate(".wpdiscuz-nofollow,.wc_captcha_refresh_img,.wc-toggle,.wc-load-more-link","click",function(ae){ae.preventDefault()});H(document).delegate(".wc-toggle","click",function(){var af=p(H(this),0);var ae=H(this);H("#wc-comm-"+af+"> .wc-reply").slideToggle(700,function(){if(H(this).is(":hidden")){ae.html(wpdiscuzAjaxObj.wpdiscuz_options.wc_show_replies_text+" &or;")}else{ae.html(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text+" &and;")}})});H(document).delegate(".wc-new-loaded-comment","mouseenter",function(){if(H(this).hasClass("wc-reply")){H(">.wc-comment-right",this).css("backgroundColor",wpdiscuzAjaxObj.wpdiscuz_options.wc_reply_bg_color)}else{H(">.wc-comment-right",this).css("backgroundColor",wpdiscuzAjaxObj.wpdiscuz_options.wc_comment_bg_color)}});H(document).delegate(".wc_captcha_refresh_img","click",function(){T(H(this))});function T(an){if(!n&&(t||V)){var af=an.parents(".wc-form-wrapper");var ah=H(".wpdiscuz-cnonce",af);if(A){var ag=f();var ao=H(an).prev().children(".wc_captcha_img");var ae=ao.attr("src");var al=ae.substring(0,ae.indexOf("=")+1);ao.attr("src",al+ag+"&r="+Math.random());ah.attr("id",ag);ah.attr("value",ag)}else{var ai=new FormData();ai.append("action","generateCaptcha");var ak=af.hasClass("wc-secondary-form-wrapper")?0:1;var aj=p(an,ak);ai.append("wpdiscuz_unique_id",aj);var am=U(ai);am.done(function(aq){try{var av=H.parseJSON(aq);if(av.code==1){var at=H(an).prev().children(".wc_captcha_img");var aw=at.attr("src");var ap=aw.lastIndexOf("/")+1;var ar=aw.substring(0,ap)+av.message;at.attr("src",ar);ah.attr("id",av.key);ah.attr("value",av.key)}}catch(au){console.log(au)}H(".wpdiscuz-loading-bar").hide()})}}}function f(){var ae="123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var af="c";for(i=0;i<13;i++){af+=ae[Math.floor(Math.random()*(ae.length-1)+1)]}return af}H(document).delegate(".wc_comm_submit","click",function(){var ak=1;var ai=H(this).parents("form");if(!ai.hasClass("wc_main_comm_form")){ak=G(H(this).parents(".wc-comment"))}if(!wpdiscuzAjaxObj.wpdiscuz_options.is_email_field_required&&H(".wc_email",ai).val()){H(".wc_email",ai).attr("required","required")}if(!wpdiscuzAjaxObj.wpdiscuz_options.is_email_field_required&&!(H(".wc_email",ai).val())){H(".wc_email",ai).removeAttr("required");H(".wc_email",ai).next(".alert").html("")}if(wpdiscuzValidator.checkAll(ai)){var al=new FormData();al.append("action","addComment");var an=H(":input",ai);an.each(function(){if(this.name!=""&&this.type!="checkbox"&&this.type!="radio"){al.append(this.name+"",H(this).val())}if(this.type=="checkbox"||this.type=="radio"){if(H(this).is(":checked")){al.append(this.name+"",H(this).val())}}});al.append("wc_comment_depth",ak);if(k==1){var ao=H(ai).find("input.wmu-image");var ah=H(ai).find("input.wmu-video");var af=H(ai).find("input.wmu-file");if(ao.length>0){H.each(H(ao),function(ap,aq){if(aq.files.length>0){H.each(aq.files,function(ar,at){al.append("wmu_images["+ap+"]",at)})}})}if(ah.length>0){H.each(H(ah),function(aq,ap){if(ap.files.length>0){H.each(ap.files,function(at,ar){al.append("wmu_videos["+aq+"]",ar)})}})}if(af.length>0){H.each(H(af),function(aq,ap){if(ap.files.length>0){H.each(ap.files,function(ar,at){al.append("wmu_files["+aq+"]",at)})}})}}if(!n&&(t||V)&&!A){var ag=H(".wc_captcha_img",ai);var ae=ag.attr("src");var am=ae.lastIndexOf("/")+1;var aj=ae.substring(am);al.append("fileName",aj)}if(H.cookie("wc_author_name")&&!H(".wc_name",ai).val()){al.append("wc_name",H.cookie("wc_author_name"))}if(H.cookie("wc_author_email")&&!H(".wc_email",ai).val()){al.append("wc_email",H.cookie("wc_author_email"))}if(wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs){al.append("wpdiscuz_zs",wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs)}U(al).done(function(ar){var at="";var au="";try{var aw=H.parseJSON(ar);at=aw.code;if(parseInt(at)>=0){var aq=aw.is_main;au=aw.message;H(".wc_header_text_count").html(aw.wc_all_comments_count_new);if(aq){H(".wc-thread-wrapper").prepend(au)}else{H("#wc-secondary-form-wrapper-"+at).slideToggle(700);if(aw.is_in_same_container==1){H("#wc-secondary-form-wrapper-"+at).after(au)}else{H("#wc-secondary-form-wrapper-"+at).after(au.replace("wc-reply","wc-reply wc-no-left-margin"))}}r(aw);Z(aw);v(ai,aw);ai.get(0).reset();d();e();var ap=H(".wc_comment",ai);ap.css("height","45.6px");D(ap,ab);H(".wmu-preview-wrap",ai).remove();if(k==1){H(ai).wmuHideAll()}}else{au=wpdiscuzAjaxObj.wpdiscuz_options[at];if(aw.typeError!="undefined"&&aw.typeError!=null){au+=" "+aw.typeError}wpdiscuzAjaxObj.setCommentMessage(ai,at,au,true)}}catch(av){if(ar.indexOf("<")>=0&&ar.indexOf(">")>=0){au=av}else{au=ar}wpdiscuzAjaxObj.setCommentMessage(ai,"wc_invalid_field",au,true)}I();H(".wpdiscuz-loading-bar").hide()})}T(H(".wc_captcha_refresh_img",ai));P()});function r(ag){if(!ag.held_moderate){var af=new FormData();af.append("action","checkNotificationType");af.append("comment_id",ag.new_comment_id);af.append("email",ag.user_email);af.append("isParent",ag.is_main);var ae=U(af);ae.done(function(ah){try{ag=H.parseJSON(ah)}catch(ai){console.log(ai)}})}}function Z(ag){if(ag.redirect>0&&ag.new_comment_id){var af=new FormData();af.append("action","redirect");af.append("commentId",ag.new_comment_id);var ae=U(af);ae.done(function(ah){ag=H.parseJSON(ah);if(ag.code==1){setTimeout(function(){window.location.href=ag.redirect_to},5000)}})}}function d(){if(H.cookie("wc_author_name")&&H.cookie("wc_author_name").indexOf("Anonymous")<0){H(".wc_comm_form .wc_name").val(H.cookie("wc_author_name"))}if(H.cookie("wc_author_email")&&H.cookie("wc_author_email").indexOf("@example.com")<0){H(".wc_comm_form .wc_email").val(H.cookie("wc_author_email"))}if(H.cookie("wc_author_website")){H(".wc_comm_form .wc_website").val(H.cookie("wc_author_website"))}}function v(ag,ah){var af="";var ae="";if(H(".wc_email",ag).val()){af=H(".wc_email",ag).val()}else{af=ah.user_email}if(H(".wc_name",ag).val()){ae=H(".wc_name",ag).val()}else{ae=ah.user_name}if(C==null){H.cookie("wc_author_email",af);H.cookie("wc_author_name",ae);H.cookie("wc_author_website",H(".wc_website",ag).val())}else{C=parseInt(C);H.cookie("wc_author_email",af,{expires:C,path:"/"});H.cookie("wc_author_name",ae,{expires:C,path:"/"});H.cookie("wc_author_website",H(".wc_website",ag).val(),{expires:C,path:"/"})}}var Y;H(document).delegate(".wc_editable_comment","click",function(){var ah=p(H(this),0);var ae=ac(ah);var ag=H(this);var af=new FormData();af.append("action","editComment");af.append("commentId",ae);Y=H("#wc-comm-"+ah+" .wc-comment-text").html();U(af).done(function(aj){try{var an=H.parseJSON(aj);var al="";var ak=an.code;if(parseInt(ak)>=0){var ai='<textarea required="required" name="wc_comment" class="wc_comment wc_field_input wc_edit_comment" id="wc_edit_comment-'+ah+'" style="min-height: 2em;">'+an.message+"</textarea>";H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-text").replaceWith(ai);document.getElementById("wc_edit_comment-"+ah).focus();H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_save_edited_comment").show();ai="";H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_editable_comment").hide();H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_cancel_edit").show()}else{al=wpdiscuzAjaxObj.wpdiscuz_options[ak];wpdiscuzAjaxObj.setCommentMessage(ag,ak,al,false)}}catch(am){console.log(am)}H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wc_save_edited_comment","click",function(){var aj=p(H(this));var af=ac(aj);var ae=H("#wc-comm-"+aj+" textarea#wc_edit_comment-"+aj);var ag=ae.val();var ai=H(this);if(H.trim(ag).length>0){var ah=new FormData();ah.append("action","saveEditedComment");ah.append("commentId",af);ah.append("commentContent",ag);U(ah).done(function(ak){try{var ao=H.parseJSON(ak);var al=ao.code;var am="";if(parseInt(al)>=0){M(aj,ao.message)}else{am=wpdiscuzAjaxObj.wpdiscuz_options[al];wpdiscuzAjaxObj.setCommentMessage(ai,al,am,false)}ae="";ag=""}catch(an){console.log(an)}H(".wpdiscuz-loading-bar").hide()})}});H(document).delegate(".wc_cancel_edit","click",function(){var ae=p(H(this));M(ae,Y)});function M(ag,af){H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_editable_comment").show();H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_cancel_edit").hide();H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_save_edited_comment").hide();var ae='<div class="wc-comment-text">'+m(af)+"</div>";H("#wc-comm-"+ag+" #wc_edit_comment-"+ag).replaceWith(ae)}function m(ah,ag){var af=(ag||typeof ag==="undefined")?"<br/>":"<br>";var ae=(ah+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+af+"$2");return ae.replace("<br><br>","<br/>")}H(document).delegate(".wc-load-more-submit","click",function(){var af=H(this);var ae="wc-loaded";var ag="wc-loading";if(af.hasClass(ae)){K(af,ae,ag)}});var s=H("#wpdiscuzHasMoreComments").val();var J=false;if(F==2&&!aa){H(".wc-load-more-submit").parents(".wpdiscuz-comment-pagination").hide();H(window).scroll(function(){var ae=document.getElementById("wcThreadWrapper").scrollHeight;if(H(window).scrollTop()>=ae&&J===false&&s==1){J=true;K(H(".wc-load-more-submit"))}})}function K(ag,ae,ah){ag.toggleClass(ae);ag.toggleClass(ah);var af=new FormData();af.append("action","loadMoreComments");af.append("offset",b);af.append("orderBy",o);af.append("order",a);af.append("lastParentId",x());b++;U(af).done(function(ai){try{var ak=H.parseJSON(ai);H(".wpdiscuz-comment-pagination").before(ak.comment_list);u(ak);H(".wpdiscuz_single").remove();J=false;e()}catch(aj){console.log(aj)}I();H(".wpdiscuz-loading-bar").hide();H(".wc-load-more-submit").blur();ag.toggleClass(ae);ag.toggleClass(ah)})}function u(af){var ae=0;if(af.is_show_load_more==false){ae=0;s=0;H(".wc-load-more-submit").parents(".wpdiscuz-comment-pagination").hide()}else{S(af.last_parent_id);s=1;ae=1}H("#wpdiscuzHasMoreComments").val(ae)}H(document).delegate(".wc_vote.wc_not_clicked","click",function(){var ae=H(this);H(ae).removeClass("wc_not_clicked");var ah="";var ai="";var af=H(this).parents(".wc-comment-right").attr("id");af=af.substring(af.lastIndexOf("-")+1);var ag;if(H(this).hasClass("wc-up")){ag=1}else{ag=-1}var aj=new FormData();aj.append("action","voteOnComment");aj.append("commentId",af);aj.append("voteType",ag);U(aj).done(function(ak){H(ae).addClass("wc_not_clicked");try{var am=H.parseJSON(ak);ah=am.code;if(parseInt(ah)>=0){var an=H(".wc-comment-footer .wc-vote-result",H("#comment-"+af));H(an).text(parseInt(H(an).text())+ag)}else{ai=wpdiscuzAjaxObj.wpdiscuz_options[ah];wpdiscuzAjaxObj.setCommentMessage(ae,ah,ai,false)}}catch(al){console.log(al)}H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wpdiscuz-sort-button","click",function(){s=H("#wpdiscuzHasMoreComments").val();if(!(H(this).hasClass("wpdiscuz-sort-button-active"))){var ah=H(this);if(H(this).hasClass("wpdiscuz-vote-sort-up")){o="by_vote";a="desc"}else{o="comment_date_gmt";a=H(this).hasClass("wpdiscuz-date-sort-desc")?"desc":"asc"}var ag=new FormData();ag.append("action","wpdiscuzSorting");ag.append("orderBy",o);ag.append("order",a);var ae="";var af="";U(ag).done(function(ai){try{var ak=H.parseJSON(ai);ae=ak.code;af=ak.message;if(parseInt(ae)>0){H("#wpcomm .wc-thread-wrapper .wc-comment").each(function(){H(this).remove()});H("#wpcomm .wc-thread-wrapper").prepend(af);b=parseInt(ak.loadCount)}else{}O(ah);u(ak)}catch(aj){console.log(aj)}e();I();H(".wpdiscuz-loading-bar").hide()})}});function O(ae){H(".wpdiscuz-sort-buttons .wpdiscuz-sort-button").each(function(){H(this).removeClass("wpdiscuz-sort-button-active")});ae.addClass("wpdiscuz-sort-button-active")}function ad(){var ai=location.href;var ah=ai.match(/#comment\-(\d+)/);if(ah!==null){var af=ah[1];if(!H("#comment-"+af).length){var ag=new FormData();ag.append("action","getSingleComment");ag.append("commentId",af);var ae=U(ag);ae.done(function(aj){try{var al=H.parseJSON(aj);H(".wc-thread-wrapper").prepend(al.message);H("html, body").animate({scrollTop:H(".wc-thread-wrapper").offset().top},1000)}catch(ak){console.log(ak)}I();H(".wpdiscuz-loading-bar").hide()})}}}ad();if(l>0&&X&&(W||(!W&&!z))){setInterval(R,parseInt(j)*1000)}function R(){var ah=E();var af=(H.cookie("wc_author_email")!=undefined&&H.cookie("wc_author_email")!="")?H.cookie("wc_author_email"):"";var ag=new FormData();ag.append("action","updateAutomatically");ag.append("loadLastCommentId",X);ag.append("visibleCommentIds",ah);ag.append("email",af);var ae=U(ag);ae.done(function(aj){try{var ao=H.parseJSON(aj);if(ao.code==1){if(l==1){B(ao)}else{w=w.concat(ao.message.comments);Q=Q.concat(ao.message.author_replies);var ak=w.length;var ai=Q.length;if(ak>0){var am=ak+" ";am+=ak>1?wpdiscuzAjaxObj.wpdiscuz_options.wc_new_comments_button_text:wpdiscuzAjaxObj.wpdiscuz_options.wc_new_comment_button_text;H(".wc_new_comment").html(am).show()}else{H(".wc_new_comment").hide()}if(ai>0){var al=ai+" ";al+=ai>1?wpdiscuzAjaxObj.wpdiscuz_options.wc_new_replies_button_text:wpdiscuzAjaxObj.wpdiscuz_options.wc_new_reply_button_text;H(".wc_new_reply").html(al).show()}else{H(".wc_new_reply").hide()}}H(".wc_header_text_count").html(ao.wc_all_comments_count_new);X=ao.loadLastCommentId}}catch(an){console.log(an)}I();H(".wpdiscuz-loading-bar").hide()})}function B(ah){if(ah.message!==undefined){var ae;var ag=ah.message;for(var af=0;af<ag.length;af++){ae=ag[af];y(ae.comment_parent,ae.comment_html)}e()}}H(document).delegate(".wc-update-on-click","click",function(){var ae=new FormData();ae.append("action","updateOnClick");var af=H(this);if(af.hasClass("wc_new_comment")){ae.append("newCommentIds",w.join())}else{ae.append("newCommentIds",Q.join())}U(ae).done(function(ag){try{var ai=H.parseJSON(ag);B(ai);if(af.hasClass("wc_new_comment")){w=[];H(".wc_new_comment").hide()}else{Q=[];H(".wc_new_reply").hide()}}catch(ah){console.log(ah)}I();H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wpdiscuz-readmore","click",function(){var ag=p(H(this));var ae=ac(ag);var af=new FormData();af.append("action","readMore");af.append("commentId",ae);U(af).done(function(ah){try{var aj=H.parseJSON(ah);if(aj.code){H("#comment-"+ae+" > .wc-comment-text").html(" "+aj.message);H("#wpdiscuz-readmore-"+ag).remove()}}catch(ai){console.log(ai)}H(".wpdiscuz-loading-bar").hide()})});wpdiscuzAjaxObj.setCommentMessage=function(ai,af,ah,ag){var ae;var aj;if(ag){aj=ai.parents(".wc-form-wrapper")}else{aj=ai.closest(".wc-comment")}ae=aj.children(".wpdiscuz-comment-message");ae.removeClass();ae.addClass("wpdiscuz-comment-message");ae.addClass(af);ae.html(ah);ae.show().delay(4000).fadeOut(1000,function(){ae.removeClass();ae.addClass("wpdiscuz-comment-message");ae.html("")})};function h(af){var ag=p(af,0);H("#wpdiscuz_form_anchor-"+ag).before(N(ag));var ae=H("#wc-secondary-form-wrapper-"+ag);ae.slideToggle(700,function(){af.addClass("wpdiscuz-clonned")});T(H(".wc_captcha_refresh_img",ae))}function N(af){var ae=H("#wpdiscuz_hidden_secondary_form").html();return ae.replace(/wpdiscuzuniqueid/g,af)}function p(ag,af){var ae="";if(af){ae=ag.parents(".wc-main-form-wrapper").attr("id")}else{ae=ag.parents(".wc-comment").attr("id")}var ah=ae.substring(ae.lastIndexOf("-")+1);return ah}function ac(ae){return ae.substring(0,ae.indexOf("_"))}function x(){var ae=H(".wc-load-more-link").attr("href");return ae.substring(ae.lastIndexOf("=")+1)}function S(ae){var af=H(".wc-load-more-link").attr("href");H(".wc-load-more-link").attr("href",af.replace(/[\d]+$/m,ae));if(F!=2){H(".wpdiscuz-comment-pagination").show()}}function G(ag){var af=ag.attr("class");var ae=af.split(" ");var ah="";H.each(ae,function(ai,aj){if("wc_comment_level"===c(aj,false)){ah=c(aj,true)}});return parseInt(ah)+1}function c(ae,af){var ag="";if(af){ag=ae.substring(ae.indexOf("-")+1)}else{ag=ae.substring(0,ae.indexOf("-"))}return ag}function y(ag,af){if(ag==0){H(".wc-thread-wrapper").prepend(af)}else{var ae=p(H("#comment-"+ag),0);H("#wpdiscuz_form_anchor-"+ae).after(af)}}function E(){var ag;var ae;var af="";H(".wc-comment-right").each(function(){ag=p(H(this),0);ae=ac(ag);af+=ae+","});return af}function I(){H(".wc-comment-img-link").tooltipster({trigger:"click",contentAsHTML:true,interactive:true,multiple:true});H(".wc_tooltipster").tooltipster({offsetY:2,multiple:true})}function g(){if(H(".wc_social_plugin_wrapper .wp-social-login-provider-list").length){H(".wc_social_plugin_wrapper .wp-social-login-provider-list").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .the_champ_login_container").length){H(".wc_social_plugin_wrapper .the_champ_login_container").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .social_connect_form").length){H(".wc_social_plugin_wrapper .social_connect_form").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .oneall_social_login_providers").length){H(".wc_social_plugin_wrapper .oneall_social_login .oneall_social_login_providers").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}}}}}function e(){H("#wcThreadWrapper .wc-comment").each(function(ae){if(H("> .wc-reply",this).length){H("> .wc-comment-right .wc-comment-footer .wc-toggle",this).removeClass("wpdiscuz-hidden")}})}function U(ae){if(ae.action!=="liveUpdate"){H(".wpdiscuz-loading-bar").show()}ae.append("postId",q);return H.ajax({type:"POST",url:wpdiscuzAjaxObj.url,data:ae,contentType:false,processData:false,})}function P(){H(".wpdiscuz_reset").val("")}function D(ag,af){if(ab!=null){var aj=ag.val().length;var ai=ag.parents(".wc_comm_form");var ae=H(".commentTextMaxLength",ai);var ah=ab-aj;if(ah<=10){ae.addClass("left10")}else{ae.removeClass("left10")}ae.html(ah)}}});
1
+
2
+ jQuery(document).ready(function(H){H("body").addClass("wpdiscuz_"+wpdiscuzAjaxObj.wpdiscuz_options.version);wpdiscuzValidator.message.invalid=wpdiscuzAjaxObj.wpdiscuz_options.wc_invalid_field;wpdiscuzValidator.message.empty=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_empty_text;wpdiscuzValidator.message.email=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_email_text;wpdiscuzValidator.message.url=wpdiscuzAjaxObj.wpdiscuz_options.wc_error_url_text;wpdiscuzValidator.message.min=wpdiscuzAjaxObj.wpdiscuz_options.wc_msg_input_min_length;wpdiscuzValidator.message.max=wpdiscuzAjaxObj.wpdiscuz_options.wc_msg_input_max_length;var W=wpdiscuzAjaxObj.wpdiscuz_options.is_user_logged_in;var t=wpdiscuzAjaxObj.wpdiscuz_options.wc_captcha_show_hide==0&&!W;var V=wpdiscuzAjaxObj.wpdiscuz_options.wc_captcha_show_hide_for_members>0&&W;var A=wpdiscuzAjaxObj.wpdiscuz_options.isCaptchaInSession;var F=wpdiscuzAjaxObj.wpdiscuz_options.commentListLoadType;var aa=wpdiscuzAjaxObj.wpdiscuz_options.wordpressIsPaginate;var q=wpdiscuzAjaxObj.wpdiscuz_options.wc_post_id;var l=wpdiscuzAjaxObj.wpdiscuz_options.commentListUpdateType;var j=wpdiscuzAjaxObj.wpdiscuz_options.commentListUpdateTimer;var z=wpdiscuzAjaxObj.wpdiscuz_options.liveUpdateGuests;var X=wpdiscuzAjaxObj.wpdiscuz_options.loadLastCommentId;var a=wpdiscuzAjaxObj.wpdiscuz_options.wordpress_comment_order;var L=wpdiscuzAjaxObj.wpdiscuz_options.commentsVoteOrder;var C=wpdiscuzAjaxObj.wpdiscuz_options.storeCommenterData;var b=1;var o="comment_date_gmt";var Q=[];var w=[];var n=wpdiscuzAjaxObj.wpdiscuz_options.wpDiscuzReCaptcha;var k=wpdiscuzAjaxObj.wpdiscuz_options.uploader;var ab=wpdiscuzAjaxObj.wpdiscuz_options.commentTextMaxLength;I();g();e();if(L){H(".wpdiscuz-vote-sort-up").addClass("wpdiscuz-sort-button-active");o="by_vote"}else{H(".wpdiscuz-date-sort-"+a).addClass("wpdiscuz-sort-button-active")}H("#wc_unsubscribe_message").delay(4000).fadeOut(1500,function(){H(this).remove();location.href=location.href.substring(0,location.href.indexOf("subscribeAnchor")-1)});if(H(".wc_main_comm_form").length){d()}H(document).delegate(".wc-reply-link","click",function(){if(H(this).hasClass("wpdiscuz-clonned")){H("#wc-secondary-form-wrapper-"+p(H(this),0)).slideToggle(700)}else{h(H(this))}d()});H(document).delegate("textarea.wc_comment","focus",function(){if(!(H(this).next(".autogrow-textarea-mirror").length)){H(this).autoGrow()}var ae=H(this).parents(".wc-form-wrapper");H(".commentTextMaxLength",ae).show();H(".wc-form-footer",ae).slideDown(700)});H(document).delegate("textarea.wc_comment","blur",function(){var ae=H(this).parents(".wc-form-wrapper");H(".commentTextMaxLength",ae).hide()});H(document).delegate("textarea.wc_comment","keyup",function(){D(H(this),ab)});H.each(H("textarea.wc_comment"),function(){D(H(this),ab)});H(document).delegate(".wc-share-link","click",function(){var ae=H(this).parents(".wc-comment-right");H(".share_buttons_box",ae).slideToggle(1000)});H(document).delegate(".wpdiscuz-nofollow,.wc_captcha_refresh_img,.wc-toggle,.wc-load-more-link","click",function(ae){ae.preventDefault()});H(document).delegate(".wc-toggle","click",function(){var af=p(H(this),0);var ae=H(this);H("#wc-comm-"+af+"> .wc-reply").slideToggle(700,function(){if(H(this).is(":hidden")){ae.html(wpdiscuzAjaxObj.wpdiscuz_options.wc_show_replies_text+" &or;")}else{ae.html(wpdiscuzAjaxObj.wpdiscuz_options.wc_hide_replies_text+" &and;")}})});H(document).delegate(".wc-new-loaded-comment","mouseenter",function(){if(H(this).hasClass("wc-reply")){H(">.wc-comment-right",this).css("backgroundColor",wpdiscuzAjaxObj.wpdiscuz_options.wc_reply_bg_color)}else{H(">.wc-comment-right",this).css("backgroundColor",wpdiscuzAjaxObj.wpdiscuz_options.wc_comment_bg_color)}});H(document).delegate(".wc_captcha_refresh_img","click",function(){T(H(this))});function T(an){if(!n&&(t||V)){var af=an.parents(".wc-form-wrapper");var ah=H(".wpdiscuz-cnonce",af);if(A){var ag=f();var ao=H(an).prev().children(".wc_captcha_img");var ae=ao.attr("src");var al=ae.substring(0,ae.indexOf("=")+1);ao.attr("src",al+ag+"&r="+Math.random());ah.attr("id",ag);ah.attr("value",ag)}else{var ai=new FormData();ai.append("action","generateCaptcha");var ak=af.hasClass("wc-secondary-form-wrapper")?0:1;var aj=p(an,ak);ai.append("wpdiscuz_unique_id",aj);var am=U(ai);am.done(function(aq){try{var av=H.parseJSON(aq);if(av.code==1){var at=H(an).prev().children(".wc_captcha_img");var aw=at.attr("src");var ap=aw.lastIndexOf("/")+1;var ar=aw.substring(0,ap)+av.message;at.attr("src",ar);ah.attr("id",av.key);ah.attr("value",av.key)}}catch(au){console.log(au)}H(".wpdiscuz-loading-bar").hide()})}}}function f(){var ae="123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var af="c";for(i=0;i<13;i++){af+=ae[Math.floor(Math.random()*(ae.length-1)+1)]}return af}H(document).delegate(".wc_comm_submit","click",function(){var ak=1;var ai=H(this).parents("form");if(!ai.hasClass("wc_main_comm_form")){ak=G(H(this).parents(".wc-comment"))}if(!wpdiscuzAjaxObj.wpdiscuz_options.is_email_field_required&&H(".wc_email",ai).val()){H(".wc_email",ai).attr("required","required")}if(!wpdiscuzAjaxObj.wpdiscuz_options.is_email_field_required&&!(H(".wc_email",ai).val())){H(".wc_email",ai).removeAttr("required");H(".wc_email",ai).next(".alert").html("")}if(wpdiscuzValidator.checkAll(ai)){var al=new FormData();al.append("action","addComment");var an=H(":input",ai);an.each(function(){if(this.name!=""&&this.type!="checkbox"&&this.type!="radio"){al.append(this.name+"",H(this).val())}if(this.type=="checkbox"||this.type=="radio"){if(H(this).is(":checked")){al.append(this.name+"",H(this).val())}}});al.append("wc_comment_depth",ak);if(k==1){var ao=H(ai).find("input.wmu-image");var ah=H(ai).find("input.wmu-video");var af=H(ai).find("input.wmu-file");if(ao.length>0){H.each(H(ao),function(ap,aq){if(aq.files.length>0){H.each(aq.files,function(ar,at){al.append("wmu_images["+ap+"]",at)})}})}if(ah.length>0){H.each(H(ah),function(aq,ap){if(ap.files.length>0){H.each(ap.files,function(at,ar){al.append("wmu_videos["+aq+"]",ar)})}})}if(af.length>0){H.each(H(af),function(aq,ap){if(ap.files.length>0){H.each(ap.files,function(ar,at){al.append("wmu_files["+aq+"]",at)})}})}}if(!n&&(t||V)&&!A){var ag=H(".wc_captcha_img",ai);var ae=ag.attr("src");var am=ae.lastIndexOf("/")+1;var aj=ae.substring(am);al.append("fileName",aj)}if(H.cookie("wc_author_name")&&!H(".wc_name",ai).val()){al.append("wc_name",H.cookie("wc_author_name"))}if(H.cookie("wc_author_email")&&!H(".wc_email",ai).val()){al.append("wc_email",H.cookie("wc_author_email"))}if(wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs){al.append("wpdiscuz_zs",wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs)}U(al).done(function(ar){var at="";var au="";try{var aw=H.parseJSON(ar);at=aw.code;if(parseInt(at)>=0){var aq=aw.is_main;au=aw.message;H(".wc_header_text_count").html(aw.wc_all_comments_count_new);if(aq){H(".wc-thread-wrapper").prepend(au)}else{H("#wc-secondary-form-wrapper-"+at).slideToggle(700);if(aw.is_in_same_container==1){H("#wc-secondary-form-wrapper-"+at).after(au)}else{H("#wc-secondary-form-wrapper-"+at).after(au.replace("wc-reply","wc-reply wc-no-left-margin"))}}r(aw);Z(aw);v(ai,aw);ai.get(0).reset();d();e();var ap=H(".wc_comment",ai);ap.css("height","45.6px");D(ap,ab);H(".wmu-preview-wrap",ai).remove()}else{au=wpdiscuzAjaxObj.wpdiscuz_options[at];if(aw.typeError!="undefined"&&aw.typeError!=null){au+=" "+aw.typeError}wpdiscuzAjaxObj.setCommentMessage(ai,at,au,true)}if(aw.callbackFunctions!=null&&aw.callbackFunctions!="undefined"&&aw.callbackFunctions.length){H.each(aw.callbackFunctions,function(ax){if(typeof wpdiscuzAjaxObj[aw.callbackFunctions[ax]]==="function"){wpdiscuzAjaxObj[aw.callbackFunctions[ax]](at,ai)}else{console.log(aw.callbackFunctions[ax]+" is not a function")}})}}catch(av){if(ar.indexOf("<")>=0&&ar.indexOf(">")>=0){au=av}else{au=ar}wpdiscuzAjaxObj.setCommentMessage(ai,"wc_invalid_field",au,true)}I();H(".wpdiscuz-loading-bar").hide()})}T(H(".wc_captcha_refresh_img",ai));P()});function r(ag){if(!ag.held_moderate){var af=new FormData();af.append("action","checkNotificationType");af.append("comment_id",ag.new_comment_id);af.append("email",ag.user_email);af.append("isParent",ag.is_main);var ae=U(af);ae.done(function(ah){try{ag=H.parseJSON(ah)}catch(ai){console.log(ai)}})}}function Z(ag){if(ag.redirect>0&&ag.new_comment_id){var af=new FormData();af.append("action","redirect");af.append("commentId",ag.new_comment_id);var ae=U(af);ae.done(function(ah){ag=H.parseJSON(ah);if(ag.code==1){setTimeout(function(){window.location.href=ag.redirect_to},5000)}})}}function d(){if(H.cookie("wc_author_name")&&H.cookie("wc_author_name").indexOf("Anonymous")<0){H(".wc_comm_form .wc_name").val(H.cookie("wc_author_name"))}if(H.cookie("wc_author_email")&&H.cookie("wc_author_email").indexOf("@example.com")<0){H(".wc_comm_form .wc_email").val(H.cookie("wc_author_email"))}if(H.cookie("wc_author_website")){H(".wc_comm_form .wc_website").val(H.cookie("wc_author_website"))}}function v(ag,ah){var af="";var ae="";if(H(".wc_email",ag).val()){af=H(".wc_email",ag).val()}else{af=ah.user_email}if(H(".wc_name",ag).val()){ae=H(".wc_name",ag).val()}else{ae=ah.user_name}if(C==null){H.cookie("wc_author_email",af);H.cookie("wc_author_name",ae);H.cookie("wc_author_website",H(".wc_website",ag).val())}else{C=parseInt(C);H.cookie("wc_author_email",af,{expires:C,path:"/"});H.cookie("wc_author_name",ae,{expires:C,path:"/"});H.cookie("wc_author_website",H(".wc_website",ag).val(),{expires:C,path:"/"})}}var Y;H(document).delegate(".wc_editable_comment","click",function(){var ah=p(H(this),0);var ae=ac(ah);var ag=H(this);var af=new FormData();af.append("action","editComment");af.append("commentId",ae);Y=H("#wc-comm-"+ah+" .wc-comment-text").html();U(af).done(function(aj){try{var an=H.parseJSON(aj);var al="";var ak=an.code;if(parseInt(ak)>=0){var ai='<textarea required="required" name="wc_comment" class="wc_comment wc_field_input wc_edit_comment" id="wc_edit_comment-'+ah+'" style="min-height: 2em;">'+an.message+"</textarea>";H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-text").replaceWith(ai);document.getElementById("wc_edit_comment-"+ah).focus();H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_save_edited_comment").show();ai="";H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_editable_comment").hide();H("#wc-comm-"+ah+" > .wc-comment-right .wc-comment-footer .wc_cancel_edit").show()}else{al=wpdiscuzAjaxObj.wpdiscuz_options[ak];wpdiscuzAjaxObj.setCommentMessage(ag,ak,al,false)}}catch(am){console.log(am)}H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wc_save_edited_comment","click",function(){var aj=p(H(this));var af=ac(aj);var ae=H("#wc-comm-"+aj+" textarea#wc_edit_comment-"+aj);var ag=ae.val();var ai=H(this);if(H.trim(ag).length>0){var ah=new FormData();ah.append("action","saveEditedComment");ah.append("commentId",af);ah.append("commentContent",ag);U(ah).done(function(ak){try{var ao=H.parseJSON(ak);var al=ao.code;var am="";if(parseInt(al)>=0){M(aj,ao.message)}else{am=wpdiscuzAjaxObj.wpdiscuz_options[al];wpdiscuzAjaxObj.setCommentMessage(ai,al,am,false)}if(ao.callbackFunctions!=null&&ao.callbackFunctions!="undefined"&&ao.callbackFunctions.length){H.each(ao.callbackFunctions,function(ap){if(typeof wpdiscuzAjaxObj[ao.callbackFunctions[ap]]==="function"){wpdiscuzAjaxObj[ao.callbackFunctions[ap]](al,af,ag)}else{console.log(ao.callbackFunctions[ap]+" is not a function")}})}ae="";ag=""}catch(an){console.log(an)}H(".wpdiscuz-loading-bar").hide()})}});H(document).delegate(".wc_cancel_edit","click",function(){var ae=p(H(this));M(ae,Y)});function M(ag,af){H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_editable_comment").show();H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_cancel_edit").hide();H("#wc-comm-"+ag+" > .wc-comment-right .wc-comment-footer .wc_save_edited_comment").hide();var ae='<div class="wc-comment-text">'+m(af)+"</div>";H("#wc-comm-"+ag+" #wc_edit_comment-"+ag).replaceWith(ae)}function m(ah,ag){var af=(ag||typeof ag==="undefined")?"<br/>":"<br>";var ae=(ah+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+af+"$2");return ae.replace("<br><br>","<br/>")}H(document).delegate(".wc-load-more-submit","click",function(){var af=H(this);var ae="wc-loaded";var ag="wc-loading";if(af.hasClass(ae)){K(af,ae,ag)}});var s=H("#wpdiscuzHasMoreComments").val();var J=false;if(F==2&&!aa){H(".wc-load-more-submit").parents(".wpdiscuz-comment-pagination").hide();H(window).scroll(function(){var ae=document.getElementById("wcThreadWrapper").scrollHeight;if(H(window).scrollTop()>=ae&&J===false&&s==1){J=true;K(H(".wc-load-more-submit"))}})}function K(ag,ae,ah){ag.toggleClass(ae);ag.toggleClass(ah);var af=new FormData();af.append("action","loadMoreComments");af.append("offset",b);af.append("orderBy",o);af.append("order",a);af.append("lastParentId",x());b++;U(af).done(function(ai){try{var ak=H.parseJSON(ai);H(".wpdiscuz-comment-pagination").before(ak.comment_list);u(ak);H(".wpdiscuz_single").remove();J=false;e()}catch(aj){console.log(aj)}I();H(".wpdiscuz-loading-bar").hide();H(".wc-load-more-submit").blur();ag.toggleClass(ae);ag.toggleClass(ah)})}function u(af){var ae=0;if(af.is_show_load_more==false){ae=0;s=0;H(".wc-load-more-submit").parents(".wpdiscuz-comment-pagination").hide()}else{S(af.last_parent_id);s=1;ae=1}H("#wpdiscuzHasMoreComments").val(ae)}H(document).delegate(".wc_vote.wc_not_clicked","click",function(){var ae=H(this);H(ae).removeClass("wc_not_clicked");var ah="";var ai="";var af=H(this).parents(".wc-comment-right").attr("id");af=af.substring(af.lastIndexOf("-")+1);var ag;if(H(this).hasClass("wc-up")){ag=1}else{ag=-1}var aj=new FormData();aj.append("action","voteOnComment");aj.append("commentId",af);aj.append("voteType",ag);U(aj).done(function(ak){H(ae).addClass("wc_not_clicked");try{var am=H.parseJSON(ak);ah=am.code;if(parseInt(ah)>=0){var an=H(".wc-comment-footer .wc-vote-result",H("#comment-"+af));H(an).text(parseInt(H(an).text())+ag)}else{ai=wpdiscuzAjaxObj.wpdiscuz_options[ah];wpdiscuzAjaxObj.setCommentMessage(ae,ah,ai,false)}if(am.callbackFunctions!=null&&am.callbackFunctions!="undefined"&&am.callbackFunctions.length){H.each(am.callbackFunctions,function(ao){if(typeof wpdiscuzAjaxObj[am.callbackFunctions[ao]]==="function"){wpdiscuzAjaxObj[am.callbackFunctions[ao]](ah,af,ag)}else{console.log(am.callbackFunctions[ao]+" is not a function")}})}}catch(al){console.log(al)}H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wpdiscuz-sort-button","click",function(){s=H("#wpdiscuzHasMoreComments").val();if(!(H(this).hasClass("wpdiscuz-sort-button-active"))){var ah=H(this);if(H(this).hasClass("wpdiscuz-vote-sort-up")){o="by_vote";a="desc"}else{o="comment_date_gmt";a=H(this).hasClass("wpdiscuz-date-sort-desc")?"desc":"asc"}var ag=new FormData();ag.append("action","wpdiscuzSorting");ag.append("orderBy",o);ag.append("order",a);var ae="";var af="";U(ag).done(function(ai){try{var ak=H.parseJSON(ai);ae=ak.code;af=ak.message;if(parseInt(ae)>0){H("#wpcomm .wc-thread-wrapper .wc-comment").each(function(){H(this).remove()});H("#wpcomm .wc-thread-wrapper").prepend(af);b=parseInt(ak.loadCount)}else{}O(ah);u(ak)}catch(aj){console.log(aj)}e();I();H(".wpdiscuz-loading-bar").hide()})}});function O(ae){H(".wpdiscuz-sort-buttons .wpdiscuz-sort-button").each(function(){H(this).removeClass("wpdiscuz-sort-button-active")});ae.addClass("wpdiscuz-sort-button-active")}function ad(){var ai=location.href;var ah=ai.match(/#comment\-(\d+)/);if(ah!==null){var af=ah[1];if(!H("#comment-"+af).length){var ag=new FormData();ag.append("action","getSingleComment");ag.append("commentId",af);var ae=U(ag);ae.done(function(aj){try{var al=H.parseJSON(aj);H(".wc-thread-wrapper").prepend(al.message);H("html, body").animate({scrollTop:H(".wc-thread-wrapper").offset().top},1000)}catch(ak){console.log(ak)}I();H(".wpdiscuz-loading-bar").hide()})}}}ad();if(l>0&&X&&(W||(!W&&!z))){setInterval(R,parseInt(j)*1000)}function R(){var ah=E();var af=(H.cookie("wc_author_email")!=undefined&&H.cookie("wc_author_email")!="")?H.cookie("wc_author_email"):"";var ag=new FormData();ag.append("action","updateAutomatically");ag.append("loadLastCommentId",X);ag.append("visibleCommentIds",ah);ag.append("email",af);var ae=U(ag);ae.done(function(aj){try{var ao=H.parseJSON(aj);if(ao.code==1){if(l==1){B(ao)}else{w=w.concat(ao.message.comments);Q=Q.concat(ao.message.author_replies);var ak=w.length;var ai=Q.length;if(ak>0){var am=ak+" ";am+=ak>1?wpdiscuzAjaxObj.wpdiscuz_options.wc_new_comments_button_text:wpdiscuzAjaxObj.wpdiscuz_options.wc_new_comment_button_text;H(".wc_new_comment").html(am).show()}else{H(".wc_new_comment").hide()}if(ai>0){var al=ai+" ";al+=ai>1?wpdiscuzAjaxObj.wpdiscuz_options.wc_new_replies_button_text:wpdiscuzAjaxObj.wpdiscuz_options.wc_new_reply_button_text;H(".wc_new_reply").html(al).show()}else{H(".wc_new_reply").hide()}}H(".wc_header_text_count").html(ao.wc_all_comments_count_new);X=ao.loadLastCommentId}}catch(an){console.log(an)}I();H(".wpdiscuz-loading-bar").hide()})}function B(ah){if(ah.message!==undefined){var ae;var ag=ah.message;for(var af=0;af<ag.length;af++){ae=ag[af];y(ae.comment_parent,ae.comment_html)}e()}}H(document).delegate(".wc-update-on-click","click",function(){var ae=new FormData();ae.append("action","updateOnClick");var af=H(this);if(af.hasClass("wc_new_comment")){ae.append("newCommentIds",w.join())}else{ae.append("newCommentIds",Q.join())}U(ae).done(function(ag){try{var ai=H.parseJSON(ag);B(ai);if(af.hasClass("wc_new_comment")){w=[];H(".wc_new_comment").hide()}else{Q=[];H(".wc_new_reply").hide()}}catch(ah){console.log(ah)}I();H(".wpdiscuz-loading-bar").hide()})});H(document).delegate(".wpdiscuz-readmore","click",function(){var ag=p(H(this));var ae=ac(ag);var af=new FormData();af.append("action","readMore");af.append("commentId",ae);U(af).done(function(ah){try{var aj=H.parseJSON(ah);if(aj.code){H("#comment-"+ae+" > .wc-comment-text").html(" "+aj.message);H("#wpdiscuz-readmore-"+ag).remove()}}catch(ai){console.log(ai)}H(".wpdiscuz-loading-bar").hide()})});wpdiscuzAjaxObj.setCommentMessage=function(ai,af,ah,ag){var ae;var aj;if(ag){aj=ai.parents(".wc-form-wrapper")}else{aj=ai.closest(".wc-comment")}ae=aj.children(".wpdiscuz-comment-message");ae.removeClass();ae.addClass("wpdiscuz-comment-message");ae.addClass(af);ae.html(ah);ae.show().delay(4000).fadeOut(1000,function(){ae.removeClass();ae.addClass("wpdiscuz-comment-message");ae.html("")})};function h(af){var ag=p(af,0);H("#wpdiscuz_form_anchor-"+ag).before(N(ag));var ae=H("#wc-secondary-form-wrapper-"+ag);ae.slideToggle(700,function(){af.addClass("wpdiscuz-clonned")});T(H(".wc_captcha_refresh_img",ae))}function N(af){var ae=H("#wpdiscuz_hidden_secondary_form").html();return ae.replace(/wpdiscuzuniqueid/g,af)}function p(ag,af){var ae="";if(af){ae=ag.parents(".wc-main-form-wrapper").attr("id")}else{ae=ag.parents(".wc-comment").attr("id")}var ah=ae.substring(ae.lastIndexOf("-")+1);return ah}function ac(ae){return ae.substring(0,ae.indexOf("_"))}function x(){var ae=H(".wc-load-more-link").attr("href");return ae.substring(ae.lastIndexOf("=")+1)}function S(ae){var af=H(".wc-load-more-link").attr("href");H(".wc-load-more-link").attr("href",af.replace(/[\d]+$/m,ae));if(F!=2){H(".wpdiscuz-comment-pagination").show()}}function G(ag){var af=ag.attr("class");var ae=af.split(" ");var ah="";H.each(ae,function(ai,aj){if("wc_comment_level"===c(aj,false)){ah=c(aj,true)}});return parseInt(ah)+1}function c(ae,af){var ag="";if(af){ag=ae.substring(ae.indexOf("-")+1)}else{ag=ae.substring(0,ae.indexOf("-"))}return ag}function y(ag,af){if(ag==0){H(".wc-thread-wrapper").prepend(af)}else{var ae=p(H("#comment-"+ag),0);H("#wpdiscuz_form_anchor-"+ae).after(af)}}function E(){var ag;var ae;var af="";H(".wc-comment-right").each(function(){ag=p(H(this),0);ae=ac(ag);af+=ae+","});return af}function I(){H(".wc-comment-img-link").tooltipster({trigger:"click",contentAsHTML:true,interactive:true,multiple:true});H(".wc_tooltipster").tooltipster({offsetY:2,multiple:true})}function g(){if(H(".wc_social_plugin_wrapper .wp-social-login-provider-list").length){H(".wc_social_plugin_wrapper .wp-social-login-provider-list").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .the_champ_login_container").length){H(".wc_social_plugin_wrapper .the_champ_login_container").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .social_connect_form").length){H(".wc_social_plugin_wrapper .social_connect_form").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}else{if(H(".wc_social_plugin_wrapper .oneall_social_login_providers").length){H(".wc_social_plugin_wrapper .oneall_social_login .oneall_social_login_providers").clone().prependTo("#wpdiscuz_hidden_secondary_form > .wc-form-wrapper > .wc-secondary-forms-social-content")}}}}}function e(){H("#wcThreadWrapper .wc-comment").each(function(ae){if(H("> .wc-reply",this).length){H("> .wc-comment-right .wc-comment-footer .wc-toggle",this).removeClass("wpdiscuz-hidden")}})}function U(ae){if(ae.action!=="liveUpdate"){H(".wpdiscuz-loading-bar").show()}ae.append("postId",q);return H.ajax({type:"POST",url:wpdiscuzAjaxObj.url,data:ae,contentType:false,processData:false,})}function P(){H(".wpdiscuz_reset").val("")}function D(ag,af){if(ab!=null){var aj=ag.val().length;var ai=ag.parents(".wc_comm_form");var ae=H(".commentTextMaxLength",ai);var ah=ab-aj;if(ah<=10){ae.addClass("left10")}else{ae.removeClass("left10")}ae.html(ah)}}});
assets/third-party/quicktags/wpdiscuz-quictags.js ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function ($) {
2
+ var id = 'wc-textarea-0_0';
3
+ settings = {
4
+ id: id,
5
+ buttons: 'strong,em,link,img,ul,ol,li'
6
+ }
7
+ QTags.addButton('wpdiscuz_blockquot', 'b-quote', '<blockquote>', '</blockquote>', '', 'Blockquote', 40);
8
+ QTags.addButton('wpdiscuz_underline', 'U', '<u>', '</u>', '', 'Underline', 50);
9
+ QTags.addButton('wpdiscuz_code', 'code', '`', '`', '', 'Code', 110);
10
+ quicktags(settings);
11
+
12
+ $(document).delegate('.wc-reply-link', 'click', function () {
13
+ var uniqueId = 'wc-textarea-' + wpdiscuzGetUniqueId($(this));
14
+ if (uniqueId) {
15
+ var settings = {
16
+ id: uniqueId,
17
+ buttons: 'strong,em,link,img,ul,ol,li'
18
+ }
19
+ quicktags(settings);
20
+ QTags._buttonsInit();
21
+ }
22
+ });
23
+ function wpdiscuzGetUniqueId(field) {
24
+ var uniqueId = 0;
25
+ if (field.parents('.wc-comment').attr('id')) {
26
+ uniqueId = field.parents('.wc-comment').attr('id');
27
+ }
28
+ if (uniqueId !== 0 && uniqueId.length) {
29
+ uniqueId = uniqueId.substring(uniqueId.lastIndexOf('-') + 1);
30
+ }
31
+ return uniqueId;
32
+ }
33
+ });
34
+
class.WpdiscuzCore.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
  /*
4
- * Plugin Name: wpDiscuz - Supercharged native comments
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
- * Version: 3.2.6
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: http://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
@@ -127,25 +127,26 @@ class WpdiscuzCore implements WpDiscuzConstants {
127
  }
128
 
129
  public function updateAutomatically() {
130
- global $currentUser;
131
  get_currentuserinfo();
132
  $messageArray = array('code' => 0);
133
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : 0;
134
  $loadLastCommentId = isset($_POST['loadLastCommentId']) ? intval($_POST['loadLastCommentId']) : 0;
135
- $visibleCommentIds = isset($_POST['visibleCommentIds']) ? trim($_POST['visibleCommentIds'], ',') : '';
136
  $sentEmail = isset($_POST['email']) ? trim($_POST['email']) : '';
137
- $email = $currentUser && $currentUser->ID ? $currentUser->user_email : $sentEmail;
138
  if ($visibleCommentIds && $postId && $loadLastCommentId) {
139
- $lastCommentId = $this->dbManager->getLastCommentId($postId);
 
140
  if ($lastCommentId > $loadLastCommentId) {
 
141
  $messageArray['code'] = 1;
142
  $messageArray['loadLastCommentId'] = $lastCommentId;
143
  $commentListArgs = $this->getCommentListArgs($postId);
144
  $commentListArgs['new_loaded_class'] = 'wc-new-loaded-comment';
145
- $commentListArgs['current_user'] = $currentUser;
 
146
  if ($this->optionsSerialized->commentListUpdateType == 1) {
147
- $visibleCommentIds = explode(',', $visibleCommentIds);
148
- $newCommentIds = $this->dbManager->getNewCommentIds($postId, $loadLastCommentId, $email);
149
  $messageArray['message'] = array();
150
  foreach ($newCommentIds as $newCommentId) {
151
  $comment = get_comment($newCommentId);
@@ -160,8 +161,12 @@ class WpdiscuzCore implements WpDiscuzConstants {
160
  }
161
  }
162
  } else {
163
- $authorComments = $this->dbManager->getAuthorVisibleComments($visibleCommentIds, $email);
164
- $newCommentIds = $this->dbManager->getNewCommentIds($postId, $loadLastCommentId, $email);
 
 
 
 
165
  $messageArray['message']['author_replies'] = array();
166
  $messageArray['message']['comments'] = array();
167
  foreach ($newCommentIds as $newCommentId) {
@@ -190,14 +195,14 @@ class WpdiscuzCore implements WpDiscuzConstants {
190
  $newCommentIds = isset($_POST['newCommentIds']) ? trim($_POST['newCommentIds']) : '';
191
 
192
  if ($postId && $newCommentIds) {
193
- global $currentUser;
194
  get_currentuserinfo();
195
  $messageArray['code'] = 1;
196
  $newCommentIds = explode(',', trim($newCommentIds, ','));
197
  $postId = trim(intval($postId));
198
  $commentListArgs = $this->getCommentListArgs($postId);
199
  $commentListArgs['new_loaded_class'] = 'wc-new-loaded-comment';
200
- $commentListArgs['current_user'] = $currentUser;
201
  $messageArray['message'] = array();
202
  foreach ($newCommentIds as $newCommentId) {
203
  $comment = get_comment($newCommentId);
@@ -268,7 +273,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
268
  $website_url = 'http://' . $website_url;
269
  }
270
  if (!$this->optionsSerialized->isNameFieldRequired) {
271
- $name = !($name) ? __('Anonymous', 'wpdiscuz') : $name;
272
  }
273
  if (!$this->optionsSerialized->isEmailFieldRequired) {
274
  if (!$email) {
@@ -287,8 +292,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
287
  $messageArray['code'] = 'wc_error_email_text';
288
  wp_die(json_encode($messageArray));
289
  }
290
-
291
- $comment_content = wp_kses(stripslashes(trim($_POST['wc_comment'])), $this->helper->wc_allowed_tags);
292
  $commentMinLength = intval($this->optionsSerialized->commentTextMinLength);
293
  $commentMaxLength = intval($this->optionsSerialized->commentTextMaxLength);
294
  $contentLength = function_exists('mb_strlen') ? mb_strlen($comment_content) : strlen($comment_content);
@@ -356,6 +361,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
356
  } else {
357
  $messageArray['code'] = 'wc_msg_required_fields';
358
  }
 
 
359
  wp_die(json_encode($messageArray));
360
  }
361
 
@@ -369,14 +376,14 @@ class WpdiscuzCore implements WpDiscuzConstants {
369
  $comment = get_comment($commentId);
370
  if (current_user_can('edit_comment', $comment->comment_ID)) {
371
  $messageArray['code'] = 1;
372
- $messageArray['message'] = $comment->comment_content;
373
  } else {
374
  $current_user = wp_get_current_user();
375
  $isInRange = $this->helper->isContentInRange($comment->comment_content);
376
  $isEditable = $this->optionsSerialized->commentEditableTime == 'unlimit' ? true && $isInRange : $this->helper->isCommentEditable($comment) && $isInRange;
377
  if ($current_user && $comment->user_id == $current_user->ID && $isEditable) {
378
  $messageArray['code'] = 1;
379
- $messageArray['message'] = $comment->comment_content;
380
  } else {
381
  $messageArray['code'] = 'wc_comment_edit_not_possible';
382
  }
@@ -401,6 +408,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
401
  $isCurrentUserCanEdit = $current_user && ($comment->user_id == $current_user->ID || current_user_can('edit_comment', $comment->comment_ID));
402
  if ($this->helper->isContentInRange($trimmedContent) && $isCurrentUserCanEdit) {
403
  if ($trimmedContent != $comment->comment_content) {
 
404
  $commentContent = wp_kses($trimmedContent, $this->helper->wc_allowed_tags);
405
  $author_ip = $this->helper->getRealIPAddr();
406
  $userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
@@ -415,7 +423,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
415
  $uniqueId = $comment->comment_ID . '_' . $comment->comment_parent;
416
  $messageArray['code'] = 1;
417
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
418
- $commentContent = $this->helper->makeClickable($commentContent);
 
 
419
  $commentContent = apply_filters('comment_text', $commentContent, $comment);
420
  if ($this->optionsSerialized->commentReadMoreLimit && count(explode(' ', strip_tags($commentContent))) > $this->optionsSerialized->commentReadMoreLimit) {
421
  $commentContent = $this->helper->getCommentExcerpt($commentContent, $uniqueId);
@@ -431,6 +441,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
431
  $messageArray['code'] = 'wc_comment_edit_not_possible';
432
  }
433
  }
 
 
434
  wp_die(json_encode($messageArray));
435
  }
436
 
@@ -439,8 +451,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
439
  get_currentuserinfo();
440
  $messageArray = array('code' => 0);
441
  $commentId = isset($_POST['commentId']) ? intval($_POST['commentId']) : 0;
 
442
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : 0;
443
- if ($commentId && $postId) {
444
  $parentComment = $this->optimizationHelper->getCommentRoot($commentId);
445
  $tree = array();
446
  $tree = $this->optimizationHelper->getTreeByParentId($parentComment->comment_ID, $tree);
@@ -545,6 +558,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
545
  } else {
546
  $messageArray['code'] = 'wc_voting_error';
547
  }
 
 
548
  wp_die(json_encode($messageArray));
549
  }
550
 
@@ -581,7 +596,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
581
  $comment = get_comment($commentId);
582
  $commentContent = wp_kses($comment->comment_content, $this->helper->wc_allowed_tags);
583
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
584
- $commentContent = $this->helper->makeClickable($commentContent);
 
 
585
  $commentContent = apply_filters('comment_text', $commentContent, $comment);
586
  $messageArray['code'] = 1;
587
  $messageArray['message'] = $commentContent;
@@ -654,7 +671,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
654
  private function getDefaultCommentsArgs($postId = 0) {
655
  $args = array(
656
  'caller' => 'wpdiscuz',
657
- 'post_id' => $postId,
658
  'offset' => 0,
659
  'last_parent_id' => 0,
660
  'orderby' => 'comment_date_gmt',
@@ -665,7 +682,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
665
  'status' => 'approve',
666
  'wc_comments' => ''
667
  );
668
- return $args;
669
  }
670
 
671
  /**
@@ -684,6 +701,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
684
  * Scripts and styles registration on administration pages
685
  */
686
  public function adminPageStylesScripts() {
 
 
687
  wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'));
688
  wp_enqueue_style('wpdiscuz-cp-index-css');
689
  wp_register_style('wpdiscuz-cp-compatibility-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/compatibility.css'));
@@ -700,9 +719,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
700
  wp_enqueue_script('wpdiscuz-easy-responsive-tabs-js');
701
  wp_register_style('wpdiscuz-options-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/options-css.min.css'));
702
  wp_enqueue_style('wpdiscuz-options-css');
703
- $realLastCommentId = $this->dbManager->getLastCommentId();
704
  wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.min.js'), array('jquery'));
705
- wp_localize_script('wpdiscuz-options-js', 'admin_options_obj', array('lastCommentId' => $realLastCommentId));
706
  wp_enqueue_script('wpdiscuz-options-js');
707
  wp_enqueue_script('thickbox');
708
  wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/cookie/jquery.cookie.min.js'), array('jquery'), '1.0.0', true);
@@ -721,7 +738,10 @@ class WpdiscuzCore implements WpDiscuzConstants {
721
  */
722
  public function frontEndStylesScripts() {
723
  global $post;
 
724
  if ($this->helper->isLoadWpdiscuz($post)) {
 
 
725
  $u_agent = $_SERVER['HTTP_USER_AGENT'];
726
  wp_register_style('wpdiscuz-frontend-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz.min.css'), null, $this->version);
727
  wp_enqueue_style('wpdiscuz-frontend-css');
@@ -747,15 +767,22 @@ class WpdiscuzCore implements WpDiscuzConstants {
747
  wp_enqueue_script('wpdiscuz-tooltipster-js');
748
  wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
749
  wp_enqueue_script('autogrowtextarea-js');
 
750
  $this->wpdiscuzOptionsJs = $this->optionsSerialized->getOptionsForJs();
751
  $this->wpdiscuzOptionsJs['version'] = $this->version;
752
  $this->wpdiscuzOptionsJs['wc_post_id'] = $post->ID;
753
- $this->wpdiscuzOptionsJs['loadLastCommentId'] = $this->dbManager->getLastCommentId($post->ID);
754
  $this->wpdiscuzOptionsJs = apply_filters('wpdiscuz_js_options', $this->wpdiscuzOptionsJs);
755
  wp_enqueue_script('jquery-form');
756
  wp_register_script('wpdiscuz-ajax-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz.min.js'), array('jquery'), $this->version);
757
  wp_enqueue_script('wpdiscuz-ajax-js');
758
  wp_localize_script('wpdiscuz-ajax-js', 'wpdiscuzAjaxObj', array('url' => admin_url('admin-ajax.php'), 'wpdiscuz_options' => $this->wpdiscuzOptionsJs));
 
 
 
 
 
 
759
  do_action('wpdiscuz_front_scripts');
760
  }
761
  }
@@ -854,7 +881,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
854
  return $file;
855
  }
856
 
857
- private function getCommentListArgs($postId) {
858
  $postsAuthors = $this->dbManager->getPostsAuthors();
859
  $post = get_post($postId);
860
  $args = array(
@@ -865,8 +892,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
865
  'post_author' => $post->post_author,
866
  'posts_authors' => $postsAuthors,
867
  'walker' => $this->wpdiscuzWalker,
 
868
  );
869
- return $args;
870
  }
871
 
872
  public function addNewRoles() {
1
  <?php
2
 
3
  /*
4
+ * Plugin Name: wpDiscuz - supercharged native comments
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
+ * Version: 3.2.7
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: http://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
127
  }
128
 
129
  public function updateAutomatically() {
130
+ global $current_user;
131
  get_currentuserinfo();
132
  $messageArray = array('code' => 0);
133
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : 0;
134
  $loadLastCommentId = isset($_POST['loadLastCommentId']) ? intval($_POST['loadLastCommentId']) : 0;
135
+ $visibleCommentIds = isset($_POST['visibleCommentIds']) ? $_POST['visibleCommentIds'] : '';
136
  $sentEmail = isset($_POST['email']) ? trim($_POST['email']) : '';
137
+ $email = $current_user && $current_user->ID ? $current_user->user_email : $sentEmail;
138
  if ($visibleCommentIds && $postId && $loadLastCommentId) {
139
+ $cArgs = $this->getDefaultCommentsArgs($postId);
140
+ $lastCommentId = $this->dbManager->getLastCommentId($cArgs);
141
  if ($lastCommentId > $loadLastCommentId) {
142
+ $visibleCommentIds = array_filter(explode(',', $visibleCommentIds));
143
  $messageArray['code'] = 1;
144
  $messageArray['loadLastCommentId'] = $lastCommentId;
145
  $commentListArgs = $this->getCommentListArgs($postId);
146
  $commentListArgs['new_loaded_class'] = 'wc-new-loaded-comment';
147
+ $commentListArgs['current_user'] = $current_user;
148
+ $newCommentIds = $this->dbManager->getNewCommentIds($cArgs, $loadLastCommentId, $email);
149
  if ($this->optionsSerialized->commentListUpdateType == 1) {
 
 
150
  $messageArray['message'] = array();
151
  foreach ($newCommentIds as $newCommentId) {
152
  $comment = get_comment($newCommentId);
161
  }
162
  }
163
  } else {
164
+ $commentIds = '';
165
+ foreach ($visibleCommentIds as $cId) {
166
+ $commentIds .= intval($cId) . ',';
167
+ }
168
+ $commentIds = trim($commentIds, ',');
169
+ $authorComments = $this->dbManager->getAuthorVisibleComments($cArgs, $commentIds, $email);
170
  $messageArray['message']['author_replies'] = array();
171
  $messageArray['message']['comments'] = array();
172
  foreach ($newCommentIds as $newCommentId) {
195
  $newCommentIds = isset($_POST['newCommentIds']) ? trim($_POST['newCommentIds']) : '';
196
 
197
  if ($postId && $newCommentIds) {
198
+ global $current_user;
199
  get_currentuserinfo();
200
  $messageArray['code'] = 1;
201
  $newCommentIds = explode(',', trim($newCommentIds, ','));
202
  $postId = trim(intval($postId));
203
  $commentListArgs = $this->getCommentListArgs($postId);
204
  $commentListArgs['new_loaded_class'] = 'wc-new-loaded-comment';
205
+ $commentListArgs['current_user'] = $current_user;
206
  $messageArray['message'] = array();
207
  foreach ($newCommentIds as $newCommentId) {
208
  $comment = get_comment($newCommentId);
273
  $website_url = 'http://' . $website_url;
274
  }
275
  if (!$this->optionsSerialized->isNameFieldRequired) {
276
+ $name = !($name) ? $this->optionsSerialized->phrases['wc_anonymous'] : $name;
277
  }
278
  if (!$this->optionsSerialized->isEmailFieldRequired) {
279
  if (!$email) {
292
  $messageArray['code'] = 'wc_error_email_text';
293
  wp_die(json_encode($messageArray));
294
  }
295
+ $comment_content = $this->helper->replaceCommentContentCode(stripslashes(trim($_POST['wc_comment'])));
296
+ $comment_content = wp_kses($comment_content, $this->helper->wc_allowed_tags);
297
  $commentMinLength = intval($this->optionsSerialized->commentTextMinLength);
298
  $commentMaxLength = intval($this->optionsSerialized->commentTextMaxLength);
299
  $contentLength = function_exists('mb_strlen') ? mb_strlen($comment_content) : strlen($comment_content);
361
  } else {
362
  $messageArray['code'] = 'wc_msg_required_fields';
363
  }
364
+ $messageArray['callbackFunctions'] = array();
365
+ $messageArray = apply_filters('wpdiscuz_comment_post', $messageArray);
366
  wp_die(json_encode($messageArray));
367
  }
368
 
376
  $comment = get_comment($commentId);
377
  if (current_user_can('edit_comment', $comment->comment_ID)) {
378
  $messageArray['code'] = 1;
379
+ $messageArray['message'] = str_replace(array('<code>', '</code>'), array('`', '`'), $comment->comment_content);
380
  } else {
381
  $current_user = wp_get_current_user();
382
  $isInRange = $this->helper->isContentInRange($comment->comment_content);
383
  $isEditable = $this->optionsSerialized->commentEditableTime == 'unlimit' ? true && $isInRange : $this->helper->isCommentEditable($comment) && $isInRange;
384
  if ($current_user && $comment->user_id == $current_user->ID && $isEditable) {
385
  $messageArray['code'] = 1;
386
+ $messageArray['message'] = str_replace(array('<code>', '</code>'), array('`', '`'), $comment->comment_content);
387
  } else {
388
  $messageArray['code'] = 'wc_comment_edit_not_possible';
389
  }
408
  $isCurrentUserCanEdit = $current_user && ($comment->user_id == $current_user->ID || current_user_can('edit_comment', $comment->comment_ID));
409
  if ($this->helper->isContentInRange($trimmedContent) && $isCurrentUserCanEdit) {
410
  if ($trimmedContent != $comment->comment_content) {
411
+ $trimmedContent = $this->helper->replaceCommentContentCode($trimmedContent);
412
  $commentContent = wp_kses($trimmedContent, $this->helper->wc_allowed_tags);
413
  $author_ip = $this->helper->getRealIPAddr();
414
  $userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
423
  $uniqueId = $comment->comment_ID . '_' . $comment->comment_parent;
424
  $messageArray['code'] = 1;
425
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
426
+ if ($this->optionsSerialized->enableImageConversion) {
427
+ $commentContent = $this->helper->makeClickable($commentContent);
428
+ }
429
  $commentContent = apply_filters('comment_text', $commentContent, $comment);
430
  if ($this->optionsSerialized->commentReadMoreLimit && count(explode(' ', strip_tags($commentContent))) > $this->optionsSerialized->commentReadMoreLimit) {
431
  $commentContent = $this->helper->getCommentExcerpt($commentContent, $uniqueId);
441
  $messageArray['code'] = 'wc_comment_edit_not_possible';
442
  }
443
  }
444
+ $messageArray['callbackFunctions'] = array();
445
+ $messageArray = apply_filters('wpdiscuz_comment_edit_save', $messageArray);
446
  wp_die(json_encode($messageArray));
447
  }
448
 
451
  get_currentuserinfo();
452
  $messageArray = array('code' => 0);
453
  $commentId = isset($_POST['commentId']) ? intval($_POST['commentId']) : 0;
454
+ $comment = get_comment($commentId);
455
  $postId = isset($_POST['postId']) ? intval($_POST['postId']) : 0;
456
+ if ($commentId && $postId && $comment && $comment->comment_post_ID == $postId) {
457
  $parentComment = $this->optimizationHelper->getCommentRoot($commentId);
458
  $tree = array();
459
  $tree = $this->optimizationHelper->getTreeByParentId($parentComment->comment_ID, $tree);
558
  } else {
559
  $messageArray['code'] = 'wc_voting_error';
560
  }
561
+ $messageArray['callbackFunctions'] = array();
562
+ $messageArray = apply_filters('wpdiscuz_comment_vote', $messageArray);
563
  wp_die(json_encode($messageArray));
564
  }
565
 
596
  $comment = get_comment($commentId);
597
  $commentContent = wp_kses($comment->comment_content, $this->helper->wc_allowed_tags);
598
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
599
+ if ($this->optionsSerialized->enableImageConversion) {
600
+ $commentContent = $this->helper->makeClickable($commentContent);
601
+ }
602
  $commentContent = apply_filters('comment_text', $commentContent, $comment);
603
  $messageArray['code'] = 1;
604
  $messageArray['message'] = $commentContent;
671
  private function getDefaultCommentsArgs($postId = 0) {
672
  $args = array(
673
  'caller' => 'wpdiscuz',
674
+ 'post_id' => intval($postId),
675
  'offset' => 0,
676
  'last_parent_id' => 0,
677
  'orderby' => 'comment_date_gmt',
682
  'status' => 'approve',
683
  'wc_comments' => ''
684
  );
685
+ return apply_filters('wpdiscuz_comments_args', $args);
686
  }
687
 
688
  /**
701
  * Scripts and styles registration on administration pages
702
  */
703
  public function adminPageStylesScripts() {
704
+ wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css', null, $this->version);
705
+ wp_enqueue_style('font-awesome');
706
  wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'));
707
  wp_enqueue_style('wpdiscuz-cp-index-css');
708
  wp_register_style('wpdiscuz-cp-compatibility-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/compatibility.css'));
719
  wp_enqueue_script('wpdiscuz-easy-responsive-tabs-js');
720
  wp_register_style('wpdiscuz-options-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/options-css.min.css'));
721
  wp_enqueue_style('wpdiscuz-options-css');
 
722
  wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.min.js'), array('jquery'));
 
723
  wp_enqueue_script('wpdiscuz-options-js');
724
  wp_enqueue_script('thickbox');
725
  wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/cookie/jquery.cookie.min.js'), array('jquery'), '1.0.0', true);
738
  */
739
  public function frontEndStylesScripts() {
740
  global $post;
741
+ wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css', null, $this->version);
742
  if ($this->helper->isLoadWpdiscuz($post)) {
743
+ wp_enqueue_style('font-awesome');
744
+
745
  $u_agent = $_SERVER['HTTP_USER_AGENT'];
746
  wp_register_style('wpdiscuz-frontend-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz.min.css'), null, $this->version);
747
  wp_enqueue_style('wpdiscuz-frontend-css');
767
  wp_enqueue_script('wpdiscuz-tooltipster-js');
768
  wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
769
  wp_enqueue_script('autogrowtextarea-js');
770
+ $cArgs = $this->getDefaultCommentsArgs($post->ID);
771
  $this->wpdiscuzOptionsJs = $this->optionsSerialized->getOptionsForJs();
772
  $this->wpdiscuzOptionsJs['version'] = $this->version;
773
  $this->wpdiscuzOptionsJs['wc_post_id'] = $post->ID;
774
+ $this->wpdiscuzOptionsJs['loadLastCommentId'] = $this->dbManager->getLastCommentId($cArgs);
775
  $this->wpdiscuzOptionsJs = apply_filters('wpdiscuz_js_options', $this->wpdiscuzOptionsJs);
776
  wp_enqueue_script('jquery-form');
777
  wp_register_script('wpdiscuz-ajax-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz.min.js'), array('jquery'), $this->version);
778
  wp_enqueue_script('wpdiscuz-ajax-js');
779
  wp_localize_script('wpdiscuz-ajax-js', 'wpdiscuzAjaxObj', array('url' => admin_url('admin-ajax.php'), 'wpdiscuz_options' => $this->wpdiscuzOptionsJs));
780
+
781
+ if ($this->optionsSerialized->isQuickTagsEnabled) {
782
+ wp_enqueue_script('quicktags');
783
+ wp_register_script('wpdiscuz-quicktags', plugins_url('/assets/third-party/quicktags/wpdiscuz-quictags.js', __FILE__), null, $this->version, true);
784
+ wp_enqueue_script('wpdiscuz-quicktags');
785
+ }
786
  do_action('wpdiscuz_front_scripts');
787
  }
788
  }
881
  return $file;
882
  }
883
 
884
+ public function getCommentListArgs($postId) {
885
  $postsAuthors = $this->dbManager->getPostsAuthors();
886
  $post = get_post($postId);
887
  $args = array(
892
  'post_author' => $post->post_author,
893
  'posts_authors' => $postsAuthors,
894
  'walker' => $this->wpdiscuzWalker,
895
+ 'comment_status' => array(1),
896
  );
897
+ return apply_filters('wpdiscuz_comment_list_args', $args);
898
  }
899
 
900
  public function addNewRoles() {
languages/wpdiscuz.pot CHANGED
@@ -1,1277 +1,1501 @@
1
- # Copyright (C) 2015 wpDiscuz - Supercharged native comments
2
- # This file is distributed under the same license as the wpDiscuz - Supercharged native comments package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: wpDiscuz - Supercharged native comments 3.0.5\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpdiscuz\n"
7
- "POT-Creation-Date: 2015-11-13 20:25:18+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
14
-
15
- #: class.WpdiscuzCore.php:226
16
- #: templates/comment/class.WpdiscuzTemplateBuilder.php:245
17
- msgid "Anonymous"
18
- msgstr ""
19
-
20
- #: class.WpdiscuzCore.php:800 options/options-layouts/settings-social.php:12
21
- #: options/options-layouts/settings-social.php:14
22
- #: options/options-layouts/settings-social.php:16
23
- #: options/options-layouts/settings-social.php:18
24
- msgid "Settings"
25
- msgstr ""
26
-
27
- #: class.WpdiscuzCore.php:802
28
- msgid "Phrases"
29
- msgstr ""
30
-
31
- #: options/class.WpdiscuzOptions.php:37 options/class.WpdiscuzOptions.php:273
32
- msgid "Hacker?"
33
- msgstr ""
34
-
35
- #: options/class.WpdiscuzOptions.php:95
36
- msgid "wpDiscuz General Settings"
37
- msgstr ""
38
-
39
- #: options/class.WpdiscuzOptions.php:186
40
- msgid "General settings"
41
- msgstr ""
42
-
43
- #: options/class.WpdiscuzOptions.php:187
44
- #: options/options-layouts/settings-live-update.php:7
45
- msgid "Live Update"
46
- msgstr ""
47
-
48
- #: options/class.WpdiscuzOptions.php:188
49
- #: options/options-layouts/settings-show-hide.php:7
50
- msgid "Show/Hide Components"
51
- msgstr ""
52
-
53
- #: options/class.WpdiscuzOptions.php:189
54
- msgid "Email Subscription"
55
- msgstr ""
56
-
57
- #: options/class.WpdiscuzOptions.php:189
58
- msgid "and Postmatic"
59
- msgstr ""
60
-
61
- #: options/class.WpdiscuzOptions.php:190
62
- #: options/options-layouts/settings-style.php:7
63
- msgid "Background and Colors"
64
- msgstr ""
65
-
66
- #: options/class.WpdiscuzOptions.php:191
67
- #: options/options-layouts/settings-social.php:91
68
- msgid "Social Login"
69
- msgstr ""
70
-
71
- #: options/class.WpdiscuzOptions.php:255
72
- msgid "Reset Options"
73
- msgstr ""
74
-
75
- #: options/class.WpdiscuzOptions.php:257
76
- msgid "Refresh comment optimization"
77
- msgstr ""
78
-
79
- #: options/class.WpdiscuzOptions.php:258 options/class.WpdiscuzOptions.php:447
80
- msgid "Save Changes"
81
- msgstr ""
82
-
83
- #: options/class.WpdiscuzOptions.php:386
84
- msgid "WpDiscuz Front-end Phrases"
85
- msgstr ""
86
-
87
- #: options/class.WpdiscuzOptions.php:396
88
- msgid "General"
89
- msgstr ""
90
-
91
- #: options/class.WpdiscuzOptions.php:397
92
- msgid "Form"
93
- msgstr ""
94
-
95
- #: options/class.WpdiscuzOptions.php:398
96
- #: options/class.WpdiscuzOptionsSerialized.php:444
97
- #: options/phrases-layouts/phrases-general.php:32
98
- msgid "Comment"
99
- msgstr ""
100
-
101
- #: options/class.WpdiscuzOptions.php:399
102
- msgid "Date/Time"
103
- msgstr ""
104
-
105
- #: options/class.WpdiscuzOptions.php:400
106
- #: options/class.WpdiscuzOptionsSerialized.php:449
107
- msgid "Email"
108
- msgstr ""
109
-
110
- #: options/class.WpdiscuzOptions.php:401
111
- msgid "Notification"
112
- msgstr ""
113
-
114
- #: options/class.WpdiscuzOptionsSerialized.php:442
115
- #: options/phrases-layouts/phrases-general.php:12
116
- msgid "Leave a Reply"
117
- msgstr ""
118
-
119
- #: options/class.WpdiscuzOptionsSerialized.php:443
120
- msgid "Be the First to Comment!"
121
- msgstr ""
122
-
123
- #: options/class.WpdiscuzOptionsSerialized.php:445
124
- msgid "Comments"
125
- msgstr ""
126
-
127
- #: options/class.WpdiscuzOptionsSerialized.php:446
128
- msgid "on"
129
- msgstr ""
130
-
131
- #: options/class.WpdiscuzOptionsSerialized.php:447
132
- msgid "Start the discussion"
133
- msgstr ""
134
-
135
- #: options/class.WpdiscuzOptionsSerialized.php:448
136
- msgid "Join the discussion"
137
- msgstr ""
138
-
139
- #: options/class.WpdiscuzOptionsSerialized.php:450
140
- msgid "Name"
141
- msgstr ""
142
-
143
- #: options/class.WpdiscuzOptionsSerialized.php:451
144
- msgid "WebSite URL"
145
- msgstr ""
146
-
147
- #: options/class.WpdiscuzOptionsSerialized.php:452
148
- msgid "Please insert the code above to comment"
149
- msgstr ""
150
-
151
- #: options/class.WpdiscuzOptionsSerialized.php:453
152
- msgid "Post Comment"
153
- msgstr ""
154
-
155
- #: options/class.WpdiscuzOptionsSerialized.php:454
156
- #: options/phrases-layouts/phrases-form.php:82
157
- #: options/phrases-layouts/phrases-form.php:86
158
- msgid "Notify of"
159
- msgstr ""
160
-
161
- #: options/class.WpdiscuzOptionsSerialized.php:455
162
- #: options/phrases-layouts/phrases-form.php:96
163
- msgid "new follow-up comments"
164
- msgstr ""
165
-
166
- #: options/class.WpdiscuzOptionsSerialized.php:456
167
- msgid "new replies to my comments"
168
- msgstr ""
169
-
170
- #: options/class.WpdiscuzOptionsSerialized.php:457
171
- #: options/phrases-layouts/phrases-form.php:116
172
- msgid "Notify of new replies to this comment"
173
- msgstr ""
174
-
175
- #: options/class.WpdiscuzOptionsSerialized.php:458
176
- #: options/phrases-layouts/phrases-form.php:122
177
- #: options/phrases-layouts/phrases-form.php:126
178
- msgid "Sort by"
179
- msgstr ""
180
-
181
- #: options/class.WpdiscuzOptionsSerialized.php:459
182
- #: options/phrases-layouts/phrases-form.php:132
183
- #: options/phrases-layouts/phrases-form.php:136
184
- msgid "newest"
185
- msgstr ""
186
-
187
- #: options/class.WpdiscuzOptionsSerialized.php:460
188
- #: options/phrases-layouts/phrases-form.php:142
189
- #: options/phrases-layouts/phrases-form.php:146
190
- msgid "oldest"
191
- msgstr ""
192
-
193
- #: options/class.WpdiscuzOptionsSerialized.php:461
194
- #: options/phrases-layouts/phrases-form.php:152
195
- #: options/phrases-layouts/phrases-form.php:156
196
- msgid "most voted"
197
- msgstr ""
198
-
199
- #: options/class.WpdiscuzOptionsSerialized.php:462
200
- msgid "Load More Comments"
201
- msgstr ""
202
-
203
- #: options/class.WpdiscuzOptionsSerialized.php:463
204
- #: options/phrases-layouts/phrases-general.php:72
205
- msgid "Load Rest of Comments"
206
- msgstr ""
207
-
208
- #: options/class.WpdiscuzOptionsSerialized.php:464
209
- #: options/phrases-layouts/phrases-comment.php:12
210
- msgid "Reply"
211
- msgstr ""
212
-
213
- #: options/class.WpdiscuzOptionsSerialized.php:465
214
- #: options/phrases-layouts/phrases-comment.php:22
215
- msgid "Share"
216
- msgstr ""
217
-
218
- #: options/class.WpdiscuzOptionsSerialized.php:466
219
- #: options/phrases-layouts/phrases-comment.php:32
220
- #: templates/comment/class.WpdiscuzTemplateBuilder.php:182
221
- msgid "Edit"
222
- msgstr ""
223
-
224
- #: options/class.WpdiscuzOptionsSerialized.php:467
225
- #: options/phrases-layouts/phrases-comment.php:42
226
- msgid "Share On Facebook"
227
- msgstr ""
228
-
229
- #: options/class.WpdiscuzOptionsSerialized.php:468
230
- #: options/phrases-layouts/phrases-comment.php:52
231
- msgid "Share On Twitter"
232
- msgstr ""
233
-
234
- #: options/class.WpdiscuzOptionsSerialized.php:469
235
- #: options/phrases-layouts/phrases-comment.php:62
236
- msgid "Share On Google"
237
- msgstr ""
238
-
239
- #: options/class.WpdiscuzOptionsSerialized.php:470
240
- #: options/phrases-layouts/phrases-comment.php:72
241
- msgid "Share On VKontakte"
242
- msgstr ""
243
-
244
- #: options/class.WpdiscuzOptionsSerialized.php:471
245
- #: options/phrases-layouts/phrases-comment.php:82
246
- msgid "Share On Odnoklassniki"
247
- msgstr ""
248
-
249
- #: options/class.WpdiscuzOptionsSerialized.php:472
250
- #: options/phrases-layouts/phrases-comment.php:92
251
- msgid "Hide Replies"
252
- msgstr ""
253
-
254
- #: options/class.WpdiscuzOptionsSerialized.php:473
255
- #: options/phrases-layouts/phrases-comment.php:102
256
- msgid "Show Replies"
257
- msgstr ""
258
-
259
- #: options/class.WpdiscuzOptionsSerialized.php:474
260
- msgid "Guest"
261
- msgstr ""
262
-
263
- #: options/class.WpdiscuzOptionsSerialized.php:475
264
- msgid "Member"
265
- msgstr ""
266
-
267
- #: options/class.WpdiscuzOptionsSerialized.php:476
268
- msgid "Author"
269
- msgstr ""
270
-
271
- #: options/class.WpdiscuzOptionsSerialized.php:477
272
- msgid "Admin"
273
- msgstr ""
274
-
275
- #: options/class.WpdiscuzOptionsSerialized.php:478
276
- #: options/phrases-layouts/phrases-general.php:86
277
- msgid "New Comment"
278
- msgstr ""
279
-
280
- #: options/class.WpdiscuzOptionsSerialized.php:479
281
- msgid "New comment on the discussion section you've been interested in"
282
- msgstr ""
283
-
284
- #: options/class.WpdiscuzOptionsSerialized.php:480
285
- #: options/phrases-layouts/phrases-email.php:36
286
- #: options/phrases-layouts/phrases-general.php:106
287
- #: utils/class.WpdiscuzEmailHelper.php:155
288
- msgid "New Reply"
289
- msgstr ""
290
-
291
- #: options/class.WpdiscuzOptionsSerialized.php:481
292
- #: utils/class.WpdiscuzEmailHelper.php:156
293
- msgid "New reply on the discussion section you've been interested in"
294
- msgstr ""
295
-
296
- #: options/class.WpdiscuzOptionsSerialized.php:482
297
- msgid "You're subscribed for new replies on this comment"
298
- msgstr ""
299
-
300
- #: options/class.WpdiscuzOptionsSerialized.php:483
301
- msgid "You're subscribed for new replies on all your comments"
302
- msgstr ""
303
-
304
- #: options/class.WpdiscuzOptionsSerialized.php:484
305
- msgid "You're subscribed for new follow-up comments on this post"
306
- msgstr ""
307
-
308
- #: options/class.WpdiscuzOptionsSerialized.php:485
309
- #: options/phrases-layouts/phrases-email.php:52
310
- #: options/phrases-layouts/phrases-email.php:56
311
- msgid "Unsubscribe"
312
- msgstr ""
313
-
314
- #: options/class.WpdiscuzOptionsSerialized.php:486
315
- #: options/phrases-layouts/phrases-email.php:66
316
- msgid "Cancel subscription"
317
- msgstr ""
318
-
319
- #: options/class.WpdiscuzOptionsSerialized.php:487
320
- #: options/phrases-layouts/phrases-notification.php:32
321
- msgid "You've successfully unsubscribed."
322
- msgstr ""
323
-
324
- #: options/class.WpdiscuzOptionsSerialized.php:488
325
- #: options/phrases-layouts/phrases-notification.php:22
326
- msgid "You've successfully subscribed."
327
- msgstr ""
328
-
329
- #: options/class.WpdiscuzOptionsSerialized.php:489
330
- #: options/phrases-layouts/phrases-email.php:72
331
- #: options/phrases-layouts/phrases-email.php:76
332
- msgid "Confirm your subscription"
333
- msgstr ""
334
-
335
- #: options/class.WpdiscuzOptionsSerialized.php:490
336
- #: options/phrases-layouts/phrases-email.php:82
337
- #: options/phrases-layouts/phrases-email.php:86
338
- msgid "You've successfully confirmed your subscription."
339
- msgstr ""
340
-
341
- #: options/class.WpdiscuzOptionsSerialized.php:491
342
- #: options/phrases-layouts/phrases-email.php:96
343
- #: utils/class.WpdiscuzEmailHelper.php:45
344
- msgid "Subscribe Confirmation"
345
- msgstr ""
346
-
347
- #: options/class.WpdiscuzOptionsSerialized.php:492
348
- #: options/phrases-layouts/phrases-email.php:106
349
- #: utils/class.WpdiscuzEmailHelper.php:46
350
- msgid ""
351
- "Hi, <br/> You just subscribed for new comments on our website. This means "
352
- "you will receive an email when new comments are posted according to "
353
- "subscription option you've chosen. <br/> To activate, click confirm below. "
354
- "If you believe this is an error, ignore this message and we'll never bother "
355
- "you again."
356
- msgstr ""
357
-
358
- #: options/class.WpdiscuzOptionsSerialized.php:493
359
- msgid "please fill out this field to comment"
360
- msgstr ""
361
-
362
- #: options/class.WpdiscuzOptionsSerialized.php:494
363
- msgid "email address is invalid"
364
- msgstr ""
365
-
366
- #: options/class.WpdiscuzOptionsSerialized.php:495
367
- msgid "url is invalid"
368
- msgstr ""
369
-
370
- #: options/class.WpdiscuzOptionsSerialized.php:496
371
- msgid "year"
372
- msgstr ""
373
-
374
- #: options/class.WpdiscuzOptionsSerialized.php:497
375
- msgid "years"
376
- msgstr ""
377
-
378
- #: options/class.WpdiscuzOptionsSerialized.php:498
379
- msgid "month"
380
- msgstr ""
381
-
382
- #: options/class.WpdiscuzOptionsSerialized.php:499
383
- msgid "months"
384
- msgstr ""
385
-
386
- #: options/class.WpdiscuzOptionsSerialized.php:500
387
- msgid "day"
388
- msgstr ""
389
-
390
- #: options/class.WpdiscuzOptionsSerialized.php:501
391
- msgid "days"
392
- msgstr ""
393
-
394
- #: options/class.WpdiscuzOptionsSerialized.php:502
395
- msgid "hour"
396
- msgstr ""
397
-
398
- #: options/class.WpdiscuzOptionsSerialized.php:503
399
- msgid "hours"
400
- msgstr ""
401
-
402
- #: options/class.WpdiscuzOptionsSerialized.php:504
403
- msgid "minute"
404
- msgstr ""
405
-
406
- #: options/class.WpdiscuzOptionsSerialized.php:505
407
- msgid "minutes"
408
- msgstr ""
409
-
410
- #: options/class.WpdiscuzOptionsSerialized.php:506
411
- msgid "second"
412
- msgstr ""
413
-
414
- #: options/class.WpdiscuzOptionsSerialized.php:507
415
- msgid "seconds"
416
- msgstr ""
417
-
418
- #: options/class.WpdiscuzOptionsSerialized.php:508
419
- msgid "right now"
420
- msgstr ""
421
-
422
- #: options/class.WpdiscuzOptionsSerialized.php:509
423
- msgid "ago"
424
- msgstr ""
425
-
426
- #: options/class.WpdiscuzOptionsSerialized.php:510
427
- #: options/phrases-layouts/phrases-datetime.php:156
428
- msgid "Today"
429
- msgstr ""
430
-
431
- #: options/class.WpdiscuzOptionsSerialized.php:511
432
- #: options/phrases-layouts/phrases-notification.php:72
433
- msgid "You must be"
434
- msgstr ""
435
-
436
- #: options/class.WpdiscuzOptionsSerialized.php:512
437
- msgid "You are logged in as"
438
- msgstr ""
439
-
440
- #: options/class.WpdiscuzOptionsSerialized.php:513
441
- #: options/phrases-layouts/phrases-notification.php:92
442
- msgid "Log out"
443
- msgstr ""
444
-
445
- #: options/class.WpdiscuzOptionsSerialized.php:514
446
- msgid "logged in"
447
- msgstr ""
448
-
449
- #: options/class.WpdiscuzOptionsSerialized.php:515
450
- msgid "to post a comment."
451
- msgstr ""
452
-
453
- #: options/class.WpdiscuzOptionsSerialized.php:516
454
- #: options/phrases-layouts/phrases-comment.php:152
455
- msgid "Vote Up"
456
- msgstr ""
457
-
458
- #: options/class.WpdiscuzOptionsSerialized.php:517
459
- #: options/phrases-layouts/phrases-comment.php:162
460
- msgid "Vote Down"
461
- msgstr ""
462
-
463
- #: options/class.WpdiscuzOptionsSerialized.php:518
464
- #: options/phrases-layouts/phrases-notification.php:122
465
- msgid "Vote Counted"
466
- msgstr ""
467
-
468
- #: options/class.WpdiscuzOptionsSerialized.php:519
469
- msgid "You've already voted for this comment"
470
- msgstr ""
471
-
472
- #: options/class.WpdiscuzOptionsSerialized.php:520
473
- #: options/phrases-layouts/phrases-notification.php:142
474
- msgid "Voting Error"
475
- msgstr ""
476
-
477
- #: options/class.WpdiscuzOptionsSerialized.php:521
478
- msgid "You Must Be Logged In To Vote"
479
- msgstr ""
480
-
481
- #: options/class.WpdiscuzOptionsSerialized.php:522
482
- msgid "You cannot vote for your comment"
483
- msgstr ""
484
-
485
- #: options/class.WpdiscuzOptionsSerialized.php:523
486
- msgid "You are not allowed to vote for this comment"
487
- msgstr ""
488
-
489
- #: options/class.WpdiscuzOptionsSerialized.php:524
490
- #: options/phrases-layouts/phrases-notification.php:182
491
- msgid "Invalid Captcha Code"
492
- msgstr ""
493
-
494
- #: options/class.WpdiscuzOptionsSerialized.php:525
495
- #: options/phrases-layouts/phrases-notification.php:192
496
- msgid "Some of field value is invalid"
497
- msgstr ""
498
-
499
- #: options/class.WpdiscuzOptionsSerialized.php:526
500
- msgid "new comment"
501
- msgstr ""
502
-
503
- #: options/class.WpdiscuzOptionsSerialized.php:527
504
- msgid "new comments"
505
- msgstr ""
506
-
507
- #: options/class.WpdiscuzOptionsSerialized.php:528
508
- msgid "Comment awaiting moderation"
509
- msgstr ""
510
-
511
- #: options/class.WpdiscuzOptionsSerialized.php:529
512
- msgid "new reply on your comment"
513
- msgstr ""
514
-
515
- #: options/class.WpdiscuzOptionsSerialized.php:530
516
- msgid "new replies on your comments"
517
- msgstr ""
518
-
519
- #: options/class.WpdiscuzOptionsSerialized.php:531
520
- #: options/phrases-layouts/phrases-general.php:126
521
- msgid "New"
522
- msgstr ""
523
-
524
- #: options/class.WpdiscuzOptionsSerialized.php:532
525
- #: options/phrases-layouts/phrases-notification.php:236
526
- msgid "Sorry, the comment was not updated"
527
- msgstr ""
528
-
529
- #: options/class.WpdiscuzOptionsSerialized.php:533
530
- #: options/phrases-layouts/phrases-notification.php:246
531
- msgid "Sorry, this comment no longer possible to edit"
532
- msgstr ""
533
-
534
- #: options/class.WpdiscuzOptionsSerialized.php:534
535
- msgid "You've not made any changes"
536
- msgstr ""
537
-
538
- #: options/class.WpdiscuzOptionsSerialized.php:535
539
- #: options/phrases-layouts/phrases-comment.php:176
540
- msgid "Save"
541
- msgstr ""
542
-
543
- #: options/class.WpdiscuzOptionsSerialized.php:536
544
- #: options/phrases-layouts/phrases-comment.php:186
545
- msgid "Cancel"
546
- msgstr ""
547
-
548
- #: options/class.WpdiscuzOptionsSerialized.php:537
549
- msgid "Comment text is too short (minimum %d% characters)"
550
- msgstr ""
551
-
552
- #: options/class.WpdiscuzOptionsSerialized.php:538
553
- msgid "Comment text is too long (maximum %d% characters allowed)"
554
- msgstr ""
555
-
556
- #: options/class.WpdiscuzOptionsSerialized.php:539
557
- #: options/phrases-layouts/phrases-notification.php:262
558
- #: options/phrases-layouts/phrases-notification.php:266
559
- msgid "Please fill out required fields"
560
- msgstr ""
561
-
562
- #: options/class.WpdiscuzOptionsSerialized.php:540
563
- #: options/phrases-layouts/phrases-form.php:192
564
- #: options/phrases-layouts/phrases-form.php:196
565
- msgid "Connect with"
566
- msgstr ""
567
-
568
- #: options/class.WpdiscuzOptionsSerialized.php:541
569
- msgid "You're subscribed to"
570
- msgstr ""
571
-
572
- #: options/options-layouts/settings-general.php:7
573
- msgid "General Settings"
574
- msgstr ""
575
-
576
- #: options/options-layouts/settings-general.php:12
577
- msgid "Display comment form for post types:"
578
- msgstr ""
579
-
580
- #: options/options-layouts/settings-general.php:32
581
- msgid "Comment author must fill out name"
582
- msgstr ""
583
-
584
- #: options/options-layouts/settings-general.php:42
585
- msgid "Comment author must fill out email"
586
- msgstr ""
587
-
588
- #: options/options-layouts/settings-general.php:52
589
- msgid "Comment text min length"
590
- msgstr ""
591
-
592
- #: options/options-layouts/settings-general.php:62
593
- msgid "Comment text max length"
594
- msgstr ""
595
-
596
- #: options/options-layouts/settings-general.php:72
597
- msgid "Comment text size in pixels"
598
- msgstr ""
599
-
600
- #: options/options-layouts/settings-general.php:87
601
- msgid "Allow comment editing for"
602
- msgstr ""
603
-
604
- #: options/options-layouts/settings-general.php:92
605
- msgid "Not Allow"
606
- msgstr ""
607
-
608
- #: options/options-layouts/settings-general.php:93
609
- #: options/options-layouts/settings-general.php:94
610
- #: options/options-layouts/settings-live-update.php:52
611
- #: options/options-layouts/settings-live-update.php:53
612
- #: options/options-layouts/settings-live-update.php:54
613
- msgid "Minutes"
614
- msgstr ""
615
-
616
- #: options/options-layouts/settings-general.php:95
617
- #: options/phrases-layouts/phrases-datetime.php:72
618
- msgid "Hour"
619
- msgstr ""
620
-
621
- #: options/options-layouts/settings-general.php:96
622
- #: options/options-layouts/settings-general.php:97
623
- msgid "Hours"
624
- msgstr ""
625
-
626
- #: options/options-layouts/settings-general.php:98
627
- msgid "Unlimit"
628
- msgstr ""
629
-
630
- #: options/options-layouts/settings-general.php:104
631
- msgid "Redirect first commenter to"
632
- msgstr ""
633
-
634
- #: options/options-layouts/settings-general.php:111
635
- msgid "Do not redirect"
636
- msgstr ""
637
-
638
- #: options/options-layouts/settings-general.php:119
639
- msgid "Allow guests to vote on comments"
640
- msgstr ""
641
-
642
- #: options/options-layouts/settings-general.php:129
643
- msgid "Comments loading/pagination type"
644
- msgstr ""
645
-
646
- #: options/options-layouts/settings-general.php:138
647
- #: options/options-layouts/settings-general.php:140
648
- msgid "[Load more] Button"
649
- msgstr ""
650
-
651
- #: options/options-layouts/settings-general.php:142
652
- #: options/options-layouts/settings-general.php:144
653
- msgid "[Load rest of all comments] Button"
654
- msgstr ""
655
-
656
- #: options/options-layouts/settings-general.php:146
657
- #: options/options-layouts/settings-general.php:148
658
- msgid "Lazy load comments on scrolling"
659
- msgstr ""
660
-
661
- #: options/options-layouts/settings-general.php:155
662
- msgid "Use WordPress Date/Time format"
663
- msgstr ""
664
-
665
- #: options/options-layouts/settings-general.php:156
666
- msgid ""
667
- "wpDiscuz shows Human Readable date format. If you check this option it'll "
668
- "show the date/time format set in WordPress General Settings."
669
- msgstr ""
670
-
671
- #: options/options-layouts/settings-general.php:163
672
- msgid "Current Wordpress date/time format"
673
- msgstr ""
674
-
675
- #: options/options-layouts/settings-general.php:169
676
- msgid "Use Plugin .PO/.MO files"
677
- msgstr ""
678
-
679
- #: options/options-layouts/settings-general.php:170
680
- msgid ""
681
- "wpDiscuz phrase system allows you to translate all front-end phrases. "
682
- "However if you have a multi-language website it'll not allow you to add more "
683
- "than one language translation. The only way to get it is the plugin "
684
- "translation files (.PO / .MO). If wpDiscuz has the languages you need you "
685
- "should check this option to disable phrase system and it'll automatically "
686
- "translate all phrases based on language files according to current language."
687
- msgstr ""
688
-
689
- #: options/options-layouts/settings-general.php:181
690
- msgid ""
691
- "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
692
- "use"
693
- msgstr ""
694
-
695
- #: options/options-layouts/settings-general.php:183
696
- msgid ""
697
- "Please check this option on to help wpDiscuz get more popularity as your "
698
- "thank to the hard work we do for you totally free. This option adds a very "
699
- "small (16x16px) icon under the comment section which will allow your site "
700
- "visitors recognize the name of comment solution you use."
701
- msgstr ""
702
-
703
- #: options/options-layouts/settings-general.php:188
704
- msgid "Thank you!"
705
- msgstr ""
706
-
707
- #: options/options-layouts/settings-live-update.php:12
708
- msgid "Live update options"
709
- msgstr ""
710
-
711
- #: options/options-layouts/settings-live-update.php:13
712
- msgid ""
713
- "wpDiscuz 3 live update is very smart and doesn't overload your server even "
714
- "if you're on Shared hosting plan and even your website is very active. "
715
- "However we recommend to monitor your server resources if you're on a Shared "
716
- "hosting plan. There are some very weak hosting plans which may not be able "
717
- "to perform very frequently live update requests. If you found some issue you "
718
- "can set the option below 30 seconds or more."
719
- msgstr ""
720
-
721
- #: options/options-layouts/settings-live-update.php:18
722
- msgid "Never update"
723
- msgstr ""
724
-
725
- #: options/options-layouts/settings-live-update.php:20
726
- msgid "Turn off \"Live Update\" function"
727
- msgstr ""
728
-
729
- #: options/options-layouts/settings-live-update.php:22
730
- msgid "Show new comment/reply buttons to update manualy"
731
- msgstr ""
732
-
733
- #: options/options-layouts/settings-live-update.php:24
734
- msgid "Always check for new comments and show update buttons"
735
- msgstr ""
736
-
737
- #: options/options-layouts/settings-live-update.php:26
738
- msgid "Always update"
739
- msgstr ""
740
-
741
- #: options/options-layouts/settings-live-update.php:28
742
- msgid "Always check for new comments and update automatically"
743
- msgstr ""
744
-
745
- #: options/options-layouts/settings-live-update.php:35
746
- msgid "Disable live update for guests"
747
- msgstr ""
748
-
749
- #: options/options-layouts/settings-live-update.php:43
750
- msgid "Update comment list every"
751
- msgstr ""
752
-
753
- #: options/options-layouts/settings-live-update.php:48
754
- #: options/options-layouts/settings-live-update.php:49
755
- #: options/options-layouts/settings-live-update.php:50
756
- msgid "Seconds"
757
- msgstr ""
758
-
759
- #: options/options-layouts/settings-live-update.php:51
760
- #: options/phrases-layouts/phrases-datetime.php:92
761
- msgid "Minute"
762
- msgstr ""
763
-
764
- #: options/options-layouts/settings-show-hide.php:12
765
- msgid "Show logged-in user name and logout link on top of main form"
766
- msgstr ""
767
-
768
- #: options/options-layouts/settings-show-hide.php:22
769
- msgid "Hide Reply button for Guests"
770
- msgstr ""
771
-
772
- #: options/options-layouts/settings-show-hide.php:32
773
- msgid "Hide Reply button for Members"
774
- msgstr ""
775
-
776
- #: options/options-layouts/settings-show-hide.php:42
777
- msgid "Hide Commenter Labels"
778
- msgstr ""
779
-
780
- #: options/options-layouts/settings-show-hide.php:52
781
- msgid "Hide Voting buttons"
782
- msgstr ""
783
-
784
- #: options/options-layouts/settings-show-hide.php:62
785
- msgid "Show Share Buttons"
786
- msgstr ""
787
-
788
- #: options/options-layouts/settings-show-hide.php:86
789
- msgid ""
790
- "The plugin directory is not writable! Please set writable permissions to "
791
- "plugin directory in order to use the captcha feature"
792
- msgstr ""
793
-
794
- #: options/options-layouts/settings-show-hide.php:91
795
- msgid "Hide the CAPTCHA field for guests"
796
- msgstr ""
797
-
798
- #: options/options-layouts/settings-show-hide.php:102
799
- msgid "Show the CAPTCHA field for logged in users"
800
- msgstr ""
801
-
802
- #: options/options-layouts/settings-show-hide.php:113
803
- msgid "Show the Website URL field"
804
- msgstr ""
805
-
806
- #: options/options-layouts/settings-show-hide.php:123
807
- msgid "Hide header text"
808
- msgstr ""
809
-
810
- #: options/options-layouts/settings-show-hide.php:133
811
- msgid "Show sorting buttons"
812
- msgstr ""
813
-
814
- #: options/options-layouts/settings-show-hide.php:143
815
- msgid "Set comments ordering to \"Most voted\" by default "
816
- msgstr ""
817
-
818
- #: options/options-layouts/settings-show-hide.php:153
819
- msgid "Hide comment link"
820
- msgstr ""
821
-
822
- #: options/options-layouts/settings-social.php:23
823
- #: options/options-layouts/settings-social.php:33
824
- #: options/options-layouts/settings-social.php:43
825
- #: options/options-layouts/settings-social.php:54
826
- msgid "Activate"
827
- msgstr ""
828
-
829
- #: options/options-layouts/settings-social.php:27
830
- #: options/options-layouts/settings-social.php:37
831
- #: options/options-layouts/settings-social.php:47
832
- #: options/options-layouts/settings-social.php:58
833
- msgid "View details/Install"
834
- msgstr ""
835
-
836
- #: options/options-layouts/settings-social.php:92
837
- msgid ""
838
- "You can use one of these most popular Social Login Plugins to allow your "
839
- "visitors login and comment with Facebook, Twitter, Google+, Wordpress, VK, "
840
- "OK and lots of other social network service accounts. All social login "
841
- "buttons will be fully integrated with wpDiscuz comment forms."
842
- msgstr ""
843
-
844
- #: options/options-layouts/settings-style.php:12
845
- msgid "Comment Form Background Color"
846
- msgstr ""
847
-
848
- #: options/options-layouts/settings-style.php:16
849
- #: options/options-layouts/settings-style.php:25
850
- #: options/options-layouts/settings-style.php:34
851
- #: options/options-layouts/settings-style.php:43
852
- #: options/options-layouts/settings-style.php:52
853
- #: options/options-layouts/settings-style.php:61
854
- #: options/options-layouts/settings-style.php:70
855
- #: options/options-layouts/settings-style.php:79
856
- #: options/options-layouts/settings-style.php:92
857
- msgid "Example: #00FF00"
858
- msgstr ""
859
-
860
- #: options/options-layouts/settings-style.php:21
861
- msgid "Comment Background Color"
862
- msgstr ""
863
-
864
- #: options/options-layouts/settings-style.php:30
865
- msgid "Reply Background Color"
866
- msgstr ""
867
-
868
- #: options/options-layouts/settings-style.php:39
869
- msgid "Comment Text Color"
870
- msgstr ""
871
-
872
- #: options/options-layouts/settings-style.php:48
873
- msgid "Vote, Reply, Share, Edit links text colors"
874
- msgstr ""
875
-
876
- #: options/options-layouts/settings-style.php:57
877
- msgid "Comment form fields border color"
878
- msgstr ""
879
-
880
- #: options/options-layouts/settings-style.php:66
881
- msgid "New loaded comments' background color"
882
- msgstr ""
883
-
884
- #: options/options-layouts/settings-style.php:75
885
- msgid "Primary Color"
886
- msgstr ""
887
-
888
- #: options/options-layouts/settings-style.php:89
889
- msgid "label color"
890
- msgstr ""
891
-
892
- #: options/options-layouts/settings-style.php:100
893
- msgid "Custom CSS Code"
894
- msgstr ""
895
-
896
- #: options/options-layouts/settings-subscription.php:7
897
- msgid "Email Subscription Settings"
898
- msgstr ""
899
-
900
- #: options/options-layouts/settings-subscription.php:12
901
- msgid "Disable subscription confirmation for registered users"
902
- msgstr ""
903
-
904
- #: options/options-layouts/settings-subscription.php:13
905
- msgid "Show comment subscription bar"
906
- msgstr ""
907
-
908
- #: options/options-layouts/settings-subscription.php:15
909
- msgid ""
910
- "This bar provides two subscription options: notify of \"new follow-up "
911
- "comments\" and \"new replies to my comments\""
912
- msgstr ""
913
-
914
- #: options/options-layouts/settings-subscription.php:17
915
- msgid "Show \"Notify of new replies to this comment\""
916
- msgstr ""
917
-
918
- #: options/options-layouts/settings-subscription.php:19
919
- msgid ""
920
- "wpDiscuz is the only comment plugin which allows you to subscribe to certain "
921
- "comment replies. This option is located above [Post Comment] button in "
922
- "comment form. You can disable this subscription way by unchecking this "
923
- "option."
924
- msgstr ""
925
-
926
- #: options/options-layouts/settings-subscription.php:33
927
- msgid "Use Postmatic for subscriptions and commenting by email"
928
- msgstr ""
929
-
930
- #: options/options-layouts/settings-subscription.php:34
931
- msgid ""
932
- "Postmatic allows your users subscribe to comments. Instead of just being "
933
- "notified, they add a reply right from their inbox."
934
- msgstr ""
935
-
936
- #: options/phrases-layouts/phrases-comment.php:7
937
- msgid "Comment Template Phrases"
938
- msgstr ""
939
-
940
- #: options/phrases-layouts/phrases-comment.php:112
941
- msgid "Title For Guests"
942
- msgstr ""
943
-
944
- #: options/phrases-layouts/phrases-comment.php:122
945
- msgid "Title For Members"
946
- msgstr ""
947
-
948
- #: options/phrases-layouts/phrases-comment.php:132
949
- msgid "Title For Authors"
950
- msgstr ""
951
-
952
- #: options/phrases-layouts/phrases-comment.php:142
953
- msgid "Title For Admins"
954
- msgstr ""
955
-
956
- #: options/phrases-layouts/phrases-comment.php:172
957
- msgid "Save edited comment button text"
958
- msgstr ""
959
-
960
- #: options/phrases-layouts/phrases-comment.php:182
961
- msgid "Cancel comment editing button text"
962
- msgstr ""
963
-
964
- #: options/phrases-layouts/phrases-datetime.php:7
965
- msgid "Date/Time Phrases"
966
- msgstr ""
967
-
968
- #: options/phrases-layouts/phrases-datetime.php:12
969
- msgid "Year"
970
- msgstr ""
971
-
972
- #: options/phrases-layouts/phrases-datetime.php:22
973
- msgid "Years (Plural Form)"
974
- msgstr ""
975
-
976
- #: options/phrases-layouts/phrases-datetime.php:26
977
- msgid "Years"
978
- msgstr ""
979
-
980
- #: options/phrases-layouts/phrases-datetime.php:32
981
- msgid "Month"
982
- msgstr ""
983
-
984
- #: options/phrases-layouts/phrases-datetime.php:42
985
- msgid "Months (Plural Form)"
986
- msgstr ""
987
-
988
- #: options/phrases-layouts/phrases-datetime.php:52
989
- msgid "Day"
990
- msgstr ""
991
-
992
- #: options/phrases-layouts/phrases-datetime.php:62
993
- msgid "Days (Plural Form)"
994
- msgstr ""
995
-
996
- #: options/phrases-layouts/phrases-datetime.php:82
997
- msgid "Hours (Plural Form)"
998
- msgstr ""
999
-
1000
- #: options/phrases-layouts/phrases-datetime.php:102
1001
- msgid "Minutes (Plural Form)"
1002
- msgstr ""
1003
-
1004
- #: options/phrases-layouts/phrases-datetime.php:112
1005
- msgid "Second"
1006
- msgstr ""
1007
-
1008
- #: options/phrases-layouts/phrases-datetime.php:122
1009
- msgid "Seconds (Plural Form)"
1010
- msgstr ""
1011
-
1012
- #: options/phrases-layouts/phrases-datetime.php:132
1013
- msgid "Commented \"right now\" text"
1014
- msgstr ""
1015
-
1016
- #: options/phrases-layouts/phrases-datetime.php:142
1017
- msgid "Ago text"
1018
- msgstr ""
1019
-
1020
- #: options/phrases-layouts/phrases-datetime.php:152
1021
- msgid "\"Today\" text"
1022
- msgstr ""
1023
-
1024
- #: options/phrases-layouts/phrases-email.php:7
1025
- msgid "Email Template Phrases"
1026
- msgstr ""
1027
-
1028
- #: options/phrases-layouts/phrases-email.php:12
1029
- msgid "Email Subject"
1030
- msgstr ""
1031
-
1032
- #: options/phrases-layouts/phrases-email.php:22
1033
- msgid "Email Message"
1034
- msgstr ""
1035
-
1036
- #: options/phrases-layouts/phrases-email.php:32
1037
- msgid "New Reply Subject"
1038
- msgstr ""
1039
-
1040
- #: options/phrases-layouts/phrases-email.php:42
1041
- msgid "New Reply Message"
1042
- msgstr ""
1043
-
1044
- #: options/phrases-layouts/phrases-email.php:62
1045
- #: options/phrases-layouts/phrases-email.php:66
1046
- msgid "Ignore Subscription"
1047
- msgstr ""
1048
-
1049
- #: options/phrases-layouts/phrases-email.php:92
1050
- msgid "Subscribe Confirmation Email Subject"
1051
- msgstr ""
1052
-
1053
- #: options/phrases-layouts/phrases-email.php:102
1054
- msgid "Subscribe Confirmation Email Content"
1055
- msgstr ""
1056
-
1057
- #: options/phrases-layouts/phrases-form.php:7
1058
- msgid "Form Template Phrases"
1059
- msgstr ""
1060
-
1061
- #: options/phrases-layouts/phrases-form.php:12
1062
- msgid "Comment Field Start"
1063
- msgstr ""
1064
-
1065
- #: options/phrases-layouts/phrases-form.php:22
1066
- msgid "Comment Field Join"
1067
- msgstr ""
1068
-
1069
- #: options/phrases-layouts/phrases-form.php:32
1070
- msgid "Email Field"
1071
- msgstr ""
1072
-
1073
- #: options/phrases-layouts/phrases-form.php:42
1074
- msgid "Name Field"
1075
- msgstr ""
1076
-
1077
- #: options/phrases-layouts/phrases-form.php:52
1078
- msgid "WebSite URL Field"
1079
- msgstr ""
1080
-
1081
- #: options/phrases-layouts/phrases-form.php:62
1082
- msgid "CAPTCHA Field"
1083
- msgstr ""
1084
-
1085
- #: options/phrases-layouts/phrases-form.php:72
1086
- msgid "Submit Button"
1087
- msgstr ""
1088
-
1089
- #: options/phrases-layouts/phrases-form.php:92
1090
- msgid "Notify on new comments"
1091
- msgstr ""
1092
-
1093
- #: options/phrases-layouts/phrases-form.php:102
1094
- msgid "Notify on all new replies"
1095
- msgstr ""
1096
-
1097
- #: options/phrases-layouts/phrases-form.php:106
1098
- msgid "new replies to all my comments"
1099
- msgstr ""
1100
-
1101
- #: options/phrases-layouts/phrases-form.php:112
1102
- msgid "Notify on new replies (checkbox)"
1103
- msgstr ""
1104
-
1105
- #: options/phrases-layouts/phrases-form.php:162
1106
- msgid "Subscribed on this comment replies"
1107
- msgstr ""
1108
-
1109
- #: options/phrases-layouts/phrases-form.php:172
1110
- msgid "Subscribed on all your comments replies"
1111
- msgstr ""
1112
-
1113
- #: options/phrases-layouts/phrases-form.php:182
1114
- msgid "Subscribed on this post"
1115
- msgstr ""
1116
-
1117
- #: options/phrases-layouts/phrases-general.php:7
1118
- msgid "General Phrases"
1119
- msgstr ""
1120
-
1121
- #: options/phrases-layouts/phrases-general.php:22
1122
- msgid "Be the first to comment"
1123
- msgstr ""
1124
-
1125
- #: options/phrases-layouts/phrases-general.php:42
1126
- msgid "Comment (Plural Form)"
1127
- msgstr ""
1128
-
1129
- #: options/phrases-layouts/phrases-general.php:52
1130
- msgid "On"
1131
- msgstr ""
1132
-
1133
- #: options/phrases-layouts/phrases-general.php:62
1134
- msgid "Load More Button"
1135
- msgstr ""
1136
-
1137
- #: options/phrases-layouts/phrases-general.php:82
1138
- msgid "Button text if has new comment"
1139
- msgstr ""
1140
-
1141
- #: options/phrases-layouts/phrases-general.php:92
1142
- msgid "Button text if has new comments (Plural Form)"
1143
- msgstr ""
1144
-
1145
- #: options/phrases-layouts/phrases-general.php:96
1146
- msgid "New Comments"
1147
- msgstr ""
1148
-
1149
- #: options/phrases-layouts/phrases-general.php:102
1150
- msgid "Button text if has new reply"
1151
- msgstr ""
1152
-
1153
- #: options/phrases-layouts/phrases-general.php:112
1154
- msgid "Button text if has new replies (Plural Form)"
1155
- msgstr ""
1156
-
1157
- #: options/phrases-layouts/phrases-general.php:116
1158
- msgid "New Replies"
1159
- msgstr ""
1160
-
1161
- #: options/phrases-layouts/phrases-general.php:122
1162
- msgid "Text on load more button if has new comment(s)"
1163
- msgstr ""
1164
-
1165
- #: options/phrases-layouts/phrases-notification.php:7
1166
- msgid "Notification Phrases"
1167
- msgstr ""
1168
-
1169
- #: options/phrases-layouts/phrases-notification.php:12
1170
- msgid "You\\'re subscribed to"
1171
- msgstr ""
1172
-
1173
- #: options/phrases-layouts/phrases-notification.php:42
1174
- msgid "Error message for empty field"
1175
- msgstr ""
1176
-
1177
- #: options/phrases-layouts/phrases-notification.php:52
1178
- msgid "Error message for invalid email field"
1179
- msgstr ""
1180
-
1181
- #: options/phrases-layouts/phrases-notification.php:62
1182
- msgid "Error message for invalid website url field"
1183
- msgstr ""
1184
-
1185
- #: options/phrases-layouts/phrases-notification.php:82
1186
- msgid "Logged in as"
1187
- msgstr ""
1188
-
1189
- #: options/phrases-layouts/phrases-notification.php:102
1190
- msgid "Logged In"
1191
- msgstr ""
1192
-
1193
- #: options/phrases-layouts/phrases-notification.php:112
1194
- msgid "To post a comment"
1195
- msgstr ""
1196
-
1197
- #: options/phrases-layouts/phrases-notification.php:132
1198
- msgid "You can vote only 1 time"
1199
- msgstr ""
1200
-
1201
- #: options/phrases-layouts/phrases-notification.php:152
1202
- msgid "Login To Vote"
1203
- msgstr ""
1204
-
1205
- #: options/phrases-layouts/phrases-notification.php:162
1206
- msgid "You Cannot Vote On Your Comment"
1207
- msgstr ""
1208
-
1209
- #: options/phrases-layouts/phrases-notification.php:172
1210
- msgid "You are not allowed to vote for this comment (Voting from same IP)"
1211
- msgstr ""
1212
-
1213
- #: options/phrases-layouts/phrases-notification.php:202
1214
- msgid "Comment waiting moderation"
1215
- msgstr ""
1216
-
1217
- #: options/phrases-layouts/phrases-notification.php:212
1218
- msgid "Message if comment content length is too short"
1219
- msgstr ""
1220
-
1221
- #: options/phrases-layouts/phrases-notification.php:222
1222
- msgid "Message if comment content length is too long"
1223
- msgstr ""
1224
-
1225
- #: options/phrases-layouts/phrases-notification.php:232
1226
- msgid "Message if comment was not updated"
1227
- msgstr ""
1228
-
1229
- #: options/phrases-layouts/phrases-notification.php:242
1230
- msgid "Message if comment no longer possible to edit"
1231
- msgstr ""
1232
-
1233
- #: options/phrases-layouts/phrases-notification.php:252
1234
- msgid "Message if comment text not changed"
1235
- msgstr ""
1236
-
1237
- #: options/phrases-layouts/phrases-notification.php:256
1238
- msgid "TYou've not made any changes"
1239
- msgstr ""
1240
-
1241
- #: templates/comment/comment-form.php:51
1242
- msgid "Unable to send an email"
1243
- msgstr ""
1244
-
1245
- #: templates/comment/comment-form.php:53
1246
- msgid "Subscription not successed"
1247
- msgstr ""
1248
-
1249
- #: utils/class.WpdiscuzHelper.php:374
1250
- msgid "Error"
1251
- msgstr ""
1252
-
1253
- #: utils/class.WpdiscuzHelper.php:394
1254
- msgid "Participate in this discussion via email"
1255
- msgstr ""
1256
-
1257
- #. Plugin Name of the plugin/theme
1258
- msgid "wpDiscuz - Supercharged native comments"
1259
- msgstr ""
1260
-
1261
- #. Plugin URI of the plugin/theme
1262
- msgid "http://www.gvectors.com/wpdiscuz/"
1263
- msgstr ""
1264
-
1265
- #. Description of the plugin/theme
1266
- msgid ""
1267
- "Better comment system. Wordpress post comments and discussion plugin. Allows "
1268
- "your visitors discuss, vote for comments and share."
1269
- msgstr ""
1270
-
1271
- #. Author of the plugin/theme
1272
- msgid "gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)"
1273
- msgstr ""
1274
-
1275
- #. Author URI of the plugin/theme
1276
- msgid "http://www.gvectors.com/"
1277
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
+ "Project-Id-Version: wpDiscuz - Supercharged native comments\n"
6
+ "POT-Creation-Date: 2016-03-24 23:41+0400\n"
7
+ "PO-Revision-Date: 2016-03-24 23:41+0400\n"
8
+ "Last-Translator: \n"
9
+ "Language-Team: \n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.4\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-WPHeader: class.WpdiscuzCore.php\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
18
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
19
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
22
+
23
+ #: class.WpdiscuzCore.php:864 options/options-layouts/settings-social.php:40
24
+ #: options/options-layouts/settings-social.php:42
25
+ #: options/options-layouts/settings-social.php:44
26
+ #: options/options-layouts/settings-social.php:46
27
+ msgid "Settings"
28
+ msgstr ""
29
+
30
+ #: class.WpdiscuzCore.php:866
31
+ msgid "Phrases"
32
+ msgstr ""
33
+
34
+ #: class.WpdiscuzCore.php:907 options/phrases-layouts/phrases-comment.php:116
35
+ msgid "Admin"
36
+ msgstr ""
37
+
38
+ #: class.WpdiscuzCore.php:909 class.WpdiscuzCore.php:918
39
+ #: options/phrases-layouts/phrases-comment.php:118
40
+ msgid "Author"
41
+ msgstr ""
42
+
43
+ #: class.WpdiscuzCore.php:913 options/phrases-layouts/phrases-comment.php:124
44
+ msgid "Member"
45
+ msgstr ""
46
+
47
+ #: class.WpdiscuzCore.php:919 options/phrases-layouts/phrases-comment.php:122
48
+ msgid "Guest"
49
+ msgstr ""
50
+
51
+ #: options/class.WpdiscuzOptions.php:30 options/class.WpdiscuzOptions.php:100
52
+ msgid "Hacker?"
53
+ msgstr ""
54
+
55
+ #: options/class.WpdiscuzOptions.php:230
56
+ msgid ""
57
+ "Most voted comments, Active comment threads, Most commented posts, Active "
58
+ "comment authors"
59
+ msgstr ""
60
+
61
+ #: options/class.WpdiscuzOptions.php:231
62
+ msgid ""
63
+ "All in one powerful yet simple admin toolkit to moderate comments on front-"
64
+ "end."
65
+ msgstr ""
66
+
67
+ #: options/class.WpdiscuzOptions.php:232
68
+ msgid ""
69
+ "Brings an ocean of emotions to your comments. It comes with an awesome smile "
70
+ "package."
71
+ msgstr ""
72
+
73
+ #: options/class.WpdiscuzOptions.php:233
74
+ msgid ""
75
+ "AJAX powered front-end comment search. It starts searching while you type "
76
+ "search words. "
77
+ msgstr ""
78
+
79
+ #: options/class.WpdiscuzOptions.php:234
80
+ msgid ""
81
+ "Extended comment attachment system. Allows to upload images, videos, audios "
82
+ "and other file types."
83
+ msgstr ""
84
+
85
+ #: options/class.WpdiscuzOptions.php:235
86
+ msgid ""
87
+ "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
88
+ "Google reCAPTCHA"
89
+ msgstr ""
90
+
91
+ #: options/class.WpdiscuzOptions.php:236
92
+ msgid ""
93
+ "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
94
+ "myCRED points. "
95
+ msgstr ""
96
+
97
+ #: options/class.WpdiscuzOptions.php:237
98
+ msgid ""
99
+ "Allows censoring comment words. Filters comments and replaces those phrases "
100
+ "with custom words."
101
+ msgstr ""
102
+
103
+ #: options/class.WpdiscuzOptions.php:249
104
+ msgid "New Addons are available for wpDiscuz Comments Plugin"
105
+ msgstr ""
106
+
107
+ #: options/class.WpdiscuzOptions.php:256 options/class.WpdiscuzOptions.php:262
108
+ msgid "Go to wpDiscuz Addons subMenu"
109
+ msgstr ""
110
+
111
+ #: options/class.WpdiscuzOptionsSerialized.php:537
112
+ #: options/phrases-layouts/phrases-general.php:12
113
+ msgid "Leave a Reply"
114
+ msgstr ""
115
+
116
+ #: options/class.WpdiscuzOptionsSerialized.php:538
117
+ msgid "Be the First to Comment!"
118
+ msgstr ""
119
+
120
+ #: options/class.WpdiscuzOptionsSerialized.php:539 options/html-phrases.php:17
121
+ #: options/phrases-layouts/phrases-general.php:32
122
+ msgid "Comment"
123
+ msgstr ""
124
+
125
+ #: options/class.WpdiscuzOptionsSerialized.php:540
126
+ msgid "Comments"
127
+ msgstr ""
128
+
129
+ #: options/class.WpdiscuzOptionsSerialized.php:541
130
+ msgid "on"
131
+ msgstr ""
132
+
133
+ #: options/class.WpdiscuzOptionsSerialized.php:542
134
+ msgid "Start the discussion"
135
+ msgstr ""
136
+
137
+ #: options/class.WpdiscuzOptionsSerialized.php:543
138
+ msgid "Join the discussion"
139
+ msgstr ""
140
+
141
+ #: options/class.WpdiscuzOptionsSerialized.php:544 options/html-phrases.php:19
142
+ msgid "Email"
143
+ msgstr ""
144
+
145
+ #: options/class.WpdiscuzOptionsSerialized.php:545
146
+ msgid "Name"
147
+ msgstr ""
148
+
149
+ #: options/class.WpdiscuzOptionsSerialized.php:546
150
+ msgid "WebSite URL"
151
+ msgstr ""
152
+
153
+ #: options/class.WpdiscuzOptionsSerialized.php:547
154
+ msgid "Please insert the code above to comment"
155
+ msgstr ""
156
+
157
+ #: options/class.WpdiscuzOptionsSerialized.php:548
158
+ msgid "Post Comment"
159
+ msgstr ""
160
+
161
+ #: options/class.WpdiscuzOptionsSerialized.php:549
162
+ #: options/phrases-layouts/phrases-form.php:82
163
+ #: options/phrases-layouts/phrases-form.php:86
164
+ msgid "Notify of"
165
+ msgstr ""
166
+
167
+ #: options/class.WpdiscuzOptionsSerialized.php:550
168
+ #: options/phrases-layouts/phrases-form.php:96
169
+ msgid "new follow-up comments"
170
+ msgstr ""
171
+
172
+ #: options/class.WpdiscuzOptionsSerialized.php:551
173
+ msgid "new replies to my comments"
174
+ msgstr ""
175
+
176
+ #: options/class.WpdiscuzOptionsSerialized.php:552
177
+ #: options/phrases-layouts/phrases-form.php:116
178
+ msgid "Notify of new replies to this comment"
179
+ msgstr ""
180
+
181
+ #: options/class.WpdiscuzOptionsSerialized.php:553
182
+ #: options/phrases-layouts/phrases-form.php:122
183
+ #: options/phrases-layouts/phrases-form.php:126
184
+ msgid "Sort by"
185
+ msgstr ""
186
+
187
+ #: options/class.WpdiscuzOptionsSerialized.php:554
188
+ #: options/phrases-layouts/phrases-form.php:132
189
+ #: options/phrases-layouts/phrases-form.php:136
190
+ msgid "newest"
191
+ msgstr ""
192
+
193
+ #: options/class.WpdiscuzOptionsSerialized.php:555
194
+ #: options/phrases-layouts/phrases-form.php:142
195
+ #: options/phrases-layouts/phrases-form.php:146
196
+ msgid "oldest"
197
+ msgstr ""
198
+
199
+ #: options/class.WpdiscuzOptionsSerialized.php:556
200
+ #: options/phrases-layouts/phrases-form.php:152
201
+ #: options/phrases-layouts/phrases-form.php:156
202
+ msgid "most voted"
203
+ msgstr ""
204
+
205
+ #: options/class.WpdiscuzOptionsSerialized.php:557
206
+ msgid "Load More Comments"
207
+ msgstr ""
208
+
209
+ #: options/class.WpdiscuzOptionsSerialized.php:558
210
+ #: options/phrases-layouts/phrases-general.php:72
211
+ msgid "Load Rest of Comments"
212
+ msgstr ""
213
+
214
+ #: options/class.WpdiscuzOptionsSerialized.php:559
215
+ #: options/phrases-layouts/phrases-comment.php:12
216
+ msgid "Reply"
217
+ msgstr ""
218
+
219
+ #: options/class.WpdiscuzOptionsSerialized.php:560
220
+ #: options/phrases-layouts/phrases-comment.php:22
221
+ msgid "Share"
222
+ msgstr ""
223
+
224
+ #: options/class.WpdiscuzOptionsSerialized.php:561
225
+ #: options/phrases-layouts/phrases-comment.php:32
226
+ msgid "Edit"
227
+ msgstr ""
228
+
229
+ #: options/class.WpdiscuzOptionsSerialized.php:562
230
+ #: options/phrases-layouts/phrases-comment.php:42
231
+ msgid "Share On Facebook"
232
+ msgstr ""
233
+
234
+ #: options/class.WpdiscuzOptionsSerialized.php:563
235
+ #: options/phrases-layouts/phrases-comment.php:52
236
+ msgid "Share On Twitter"
237
+ msgstr ""
238
+
239
+ #: options/class.WpdiscuzOptionsSerialized.php:564
240
+ #: options/phrases-layouts/phrases-comment.php:62
241
+ msgid "Share On Google"
242
+ msgstr ""
243
+
244
+ #: options/class.WpdiscuzOptionsSerialized.php:565
245
+ #: options/phrases-layouts/phrases-comment.php:72
246
+ msgid "Share On VKontakte"
247
+ msgstr ""
248
+
249
+ #: options/class.WpdiscuzOptionsSerialized.php:566
250
+ #: options/phrases-layouts/phrases-comment.php:82
251
+ msgid "Share On Odnoklassniki"
252
+ msgstr ""
253
+
254
+ #: options/class.WpdiscuzOptionsSerialized.php:567
255
+ #: options/phrases-layouts/phrases-comment.php:92
256
+ msgid "Hide Replies"
257
+ msgstr ""
258
+
259
+ #: options/class.WpdiscuzOptionsSerialized.php:568
260
+ #: options/phrases-layouts/phrases-comment.php:102
261
+ msgid "Show Replies"
262
+ msgstr ""
263
+
264
+ #: options/class.WpdiscuzOptionsSerialized.php:569
265
+ #: options/phrases-layouts/phrases-general.php:86
266
+ msgid "New Comment"
267
+ msgstr ""
268
+
269
+ #: options/class.WpdiscuzOptionsSerialized.php:570
270
+ msgid "New comment on the discussion section you've been interested in"
271
+ msgstr ""
272
+
273
+ #: options/class.WpdiscuzOptionsSerialized.php:571
274
+ #: options/phrases-layouts/phrases-email.php:36
275
+ #: options/phrases-layouts/phrases-general.php:106
276
+ #: utils/class.WpdiscuzEmailHelper.php:152
277
+ msgid "New Reply"
278
+ msgstr ""
279
+
280
+ #: options/class.WpdiscuzOptionsSerialized.php:572
281
+ #: utils/class.WpdiscuzEmailHelper.php:153
282
+ msgid "New reply on the discussion section you've been interested in"
283
+ msgstr ""
284
+
285
+ #: options/class.WpdiscuzOptionsSerialized.php:573
286
+ msgid "You're subscribed for new replies on this comment"
287
+ msgstr ""
288
+
289
+ #: options/class.WpdiscuzOptionsSerialized.php:574
290
+ msgid "You're subscribed for new replies on all your comments"
291
+ msgstr ""
292
+
293
+ #: options/class.WpdiscuzOptionsSerialized.php:575
294
+ msgid "You're subscribed for new follow-up comments on this post"
295
+ msgstr ""
296
+
297
+ #: options/class.WpdiscuzOptionsSerialized.php:576
298
+ #: options/phrases-layouts/phrases-email.php:52
299
+ #: options/phrases-layouts/phrases-email.php:56
300
+ msgid "Unsubscribe"
301
+ msgstr ""
302
+
303
+ #: options/class.WpdiscuzOptionsSerialized.php:577
304
+ #: options/phrases-layouts/phrases-email.php:66
305
+ msgid "Cancel subscription"
306
+ msgstr ""
307
+
308
+ #: options/class.WpdiscuzOptionsSerialized.php:578
309
+ #: options/phrases-layouts/phrases-notification.php:32
310
+ msgid "You've successfully unsubscribed."
311
+ msgstr ""
312
+
313
+ #: options/class.WpdiscuzOptionsSerialized.php:579
314
+ #: options/phrases-layouts/phrases-notification.php:22
315
+ msgid "You've successfully subscribed."
316
+ msgstr ""
317
+
318
+ #: options/class.WpdiscuzOptionsSerialized.php:580
319
+ #: options/phrases-layouts/phrases-email.php:72
320
+ #: options/phrases-layouts/phrases-email.php:76
321
+ msgid "Confirm your subscription"
322
+ msgstr ""
323
+
324
+ #: options/class.WpdiscuzOptionsSerialized.php:581
325
+ #: options/phrases-layouts/phrases-email.php:82
326
+ #: options/phrases-layouts/phrases-email.php:86
327
+ msgid "You've successfully confirmed your subscription."
328
+ msgstr ""
329
+
330
+ #: options/class.WpdiscuzOptionsSerialized.php:582
331
+ #: options/phrases-layouts/phrases-email.php:96
332
+ #: utils/class.WpdiscuzEmailHelper.php:45
333
+ msgid "Subscribe Confirmation"
334
+ msgstr ""
335
+
336
+ #: options/class.WpdiscuzOptionsSerialized.php:583
337
+ #: options/phrases-layouts/phrases-email.php:106
338
+ #: utils/class.WpdiscuzEmailHelper.php:46
339
+ msgid ""
340
+ "Hi, <br/> You just subscribed for new comments on our website. This means "
341
+ "you will receive an email when new comments are posted according to "
342
+ "subscription option you've chosen. <br/> To activate, click confirm below. "
343
+ "If you believe this is an error, ignore this message and we'll never bother "
344
+ "you again."
345
+ msgstr ""
346
+
347
+ #: options/class.WpdiscuzOptionsSerialized.php:584
348
+ msgid "please fill out this field to comment"
349
+ msgstr ""
350
+
351
+ #: options/class.WpdiscuzOptionsSerialized.php:585
352
+ msgid "email address is invalid"
353
+ msgstr ""
354
+
355
+ #: options/class.WpdiscuzOptionsSerialized.php:586
356
+ msgid "url is invalid"
357
+ msgstr ""
358
+
359
+ #: options/class.WpdiscuzOptionsSerialized.php:587
360
+ msgid "year"
361
+ msgstr ""
362
+
363
+ #: options/class.WpdiscuzOptionsSerialized.php:588
364
+ msgid "years"
365
+ msgstr ""
366
+
367
+ #: options/class.WpdiscuzOptionsSerialized.php:589
368
+ msgid "month"
369
+ msgstr ""
370
+
371
+ #: options/class.WpdiscuzOptionsSerialized.php:590
372
+ msgid "months"
373
+ msgstr ""
374
+
375
+ #: options/class.WpdiscuzOptionsSerialized.php:591
376
+ msgid "day"
377
+ msgstr ""
378
+
379
+ #: options/class.WpdiscuzOptionsSerialized.php:592
380
+ msgid "days"
381
+ msgstr ""
382
+
383
+ #: options/class.WpdiscuzOptionsSerialized.php:593
384
+ msgid "hour"
385
+ msgstr ""
386
+
387
+ #: options/class.WpdiscuzOptionsSerialized.php:594
388
+ msgid "hours"
389
+ msgstr ""
390
+
391
+ #: options/class.WpdiscuzOptionsSerialized.php:595
392
+ msgid "minute"
393
+ msgstr ""
394
+
395
+ #: options/class.WpdiscuzOptionsSerialized.php:596
396
+ msgid "minutes"
397
+ msgstr ""
398
+
399
+ #: options/class.WpdiscuzOptionsSerialized.php:597
400
+ msgid "second"
401
+ msgstr ""
402
+
403
+ #: options/class.WpdiscuzOptionsSerialized.php:598
404
+ msgid "seconds"
405
+ msgstr ""
406
+
407
+ #: options/class.WpdiscuzOptionsSerialized.php:599
408
+ msgid "right now"
409
+ msgstr ""
410
+
411
+ #: options/class.WpdiscuzOptionsSerialized.php:600
412
+ msgid "ago"
413
+ msgstr ""
414
+
415
+ #: options/class.WpdiscuzOptionsSerialized.php:601
416
+ #: options/phrases-layouts/phrases-datetime.php:156
417
+ msgid "Today"
418
+ msgstr ""
419
+
420
+ #: options/class.WpdiscuzOptionsSerialized.php:602
421
+ #: options/phrases-layouts/phrases-notification.php:84
422
+ msgid "You must be"
423
+ msgstr ""
424
+
425
+ #: options/class.WpdiscuzOptionsSerialized.php:603
426
+ msgid "You are logged in as"
427
+ msgstr ""
428
+
429
+ #: options/class.WpdiscuzOptionsSerialized.php:604
430
+ #: options/phrases-layouts/phrases-notification.php:104
431
+ msgid "Log out"
432
+ msgstr ""
433
+
434
+ #: options/class.WpdiscuzOptionsSerialized.php:605
435
+ msgid "logged in"
436
+ msgstr ""
437
+
438
+ #: options/class.WpdiscuzOptionsSerialized.php:606
439
+ msgid "to post a comment."
440
+ msgstr ""
441
+
442
+ #: options/class.WpdiscuzOptionsSerialized.php:607
443
+ #: options/phrases-layouts/phrases-comment.php:138
444
+ msgid "Vote Up"
445
+ msgstr ""
446
+
447
+ #: options/class.WpdiscuzOptionsSerialized.php:608
448
+ #: options/phrases-layouts/phrases-comment.php:148
449
+ msgid "Vote Down"
450
+ msgstr ""
451
+
452
+ #: options/class.WpdiscuzOptionsSerialized.php:609
453
+ #: options/phrases-layouts/phrases-notification.php:134
454
+ msgid "Vote Counted"
455
+ msgstr ""
456
+
457
+ #: options/class.WpdiscuzOptionsSerialized.php:610
458
+ msgid "You've already voted for this comment"
459
+ msgstr ""
460
+
461
+ #: options/class.WpdiscuzOptionsSerialized.php:611
462
+ #: options/phrases-layouts/phrases-notification.php:154
463
+ msgid "Voting Error"
464
+ msgstr ""
465
+
466
+ #: options/class.WpdiscuzOptionsSerialized.php:612
467
+ msgid "You Must Be Logged In To Vote"
468
+ msgstr ""
469
+
470
+ #: options/class.WpdiscuzOptionsSerialized.php:613
471
+ msgid "You cannot vote for your comment"
472
+ msgstr ""
473
+
474
+ #: options/class.WpdiscuzOptionsSerialized.php:614
475
+ msgid "You are not allowed to vote for this comment"
476
+ msgstr ""
477
+
478
+ #: options/class.WpdiscuzOptionsSerialized.php:615
479
+ #: options/phrases-layouts/phrases-notification.php:194
480
+ msgid "Invalid Captcha Code"
481
+ msgstr ""
482
+
483
+ #: options/class.WpdiscuzOptionsSerialized.php:616
484
+ #: options/phrases-layouts/phrases-notification.php:204
485
+ msgid "Some of field value is invalid"
486
+ msgstr ""
487
+
488
+ #: options/class.WpdiscuzOptionsSerialized.php:617
489
+ msgid "new comment"
490
+ msgstr ""
491
+
492
+ #: options/class.WpdiscuzOptionsSerialized.php:618
493
+ msgid "new comments"
494
+ msgstr ""
495
+
496
+ #: options/class.WpdiscuzOptionsSerialized.php:619
497
+ msgid "Comment awaiting moderation"
498
+ msgstr ""
499
+
500
+ #: options/class.WpdiscuzOptionsSerialized.php:620
501
+ msgid "new reply on your comment"
502
+ msgstr ""
503
+
504
+ #: options/class.WpdiscuzOptionsSerialized.php:621
505
+ msgid "new replies on your comments"
506
+ msgstr ""
507
+
508
+ #: options/class.WpdiscuzOptionsSerialized.php:622
509
+ #: options/phrases-layouts/phrases-general.php:126
510
+ msgid "New"
511
+ msgstr ""
512
+
513
+ #: options/class.WpdiscuzOptionsSerialized.php:623
514
+ #: options/phrases-layouts/phrases-notification.php:249
515
+ msgid "Sorry, the comment was not updated"
516
+ msgstr ""
517
+
518
+ #: options/class.WpdiscuzOptionsSerialized.php:624
519
+ #: options/phrases-layouts/phrases-notification.php:259
520
+ msgid "Sorry, this comment no longer possible to edit"
521
+ msgstr ""
522
+
523
+ #: options/class.WpdiscuzOptionsSerialized.php:625
524
+ msgid "You've not made any changes"
525
+ msgstr ""
526
+
527
+ #: options/class.WpdiscuzOptionsSerialized.php:626
528
+ #: options/phrases-layouts/phrases-comment.php:162
529
+ msgid "Save"
530
+ msgstr ""
531
+
532
+ #: options/class.WpdiscuzOptionsSerialized.php:627
533
+ #: options/phrases-layouts/phrases-comment.php:172
534
+ msgid "Cancel"
535
+ msgstr ""
536
+
537
+ #: options/class.WpdiscuzOptionsSerialized.php:628
538
+ msgid "Input is too short"
539
+ msgstr ""
540
+
541
+ #: options/class.WpdiscuzOptionsSerialized.php:629
542
+ msgid "Input is too long"
543
+ msgstr ""
544
+
545
+ #: options/class.WpdiscuzOptionsSerialized.php:630
546
+ #: options/phrases-layouts/phrases-comment.php:182
547
+ msgid "Read more &raquo;"
548
+ msgstr ""
549
+
550
+ #: options/class.WpdiscuzOptionsSerialized.php:631
551
+ #: options/phrases-layouts/phrases-comment.php:192
552
+ msgid "Anonymous"
553
+ msgstr ""
554
+
555
+ #: options/class.WpdiscuzOptionsSerialized.php:632
556
+ #: options/phrases-layouts/phrases-notification.php:275
557
+ #: options/phrases-layouts/phrases-notification.php:279
558
+ msgid "Please fill out required fields"
559
+ msgstr ""
560
+
561
+ #: options/class.WpdiscuzOptionsSerialized.php:633
562
+ #: options/phrases-layouts/phrases-form.php:192
563
+ #: options/phrases-layouts/phrases-form.php:196
564
+ msgid "Connect with"
565
+ msgstr ""
566
+
567
+ #: options/class.WpdiscuzOptionsSerialized.php:634
568
+ msgid "You're subscribed to"
569
+ msgstr ""
570
+
571
+ #: options/class.WpdiscuzOptionsSerialized.php:635
572
+ msgid "Participate in this discussion via email"
573
+ msgstr ""
574
+
575
+ #: options/html-addons.php:6
576
+ msgid "wpDiscuz Addons"
577
+ msgstr ""
578
+
579
+ #: options/html-addons.php:49
580
+ msgid "Installed"
581
+ msgstr ""
582
+
583
+ #: options/html-addons.php:56
584
+ msgid "Addon Details | Buy"
585
+ msgstr ""
586
+
587
+ #: options/html-options.php:5
588
+ msgid "wpDiscuz General Settings"
589
+ msgstr ""
590
+
591
+ #: options/html-options.php:50 options/options-layouts/settings-general.php:7
592
+ msgid "General Settings"
593
+ msgstr ""
594
+
595
+ #: options/html-options.php:51
596
+ #: options/options-layouts/settings-live-update.php:7
597
+ msgid "Live Update"
598
+ msgstr ""
599
+
600
+ #: options/html-options.php:52
601
+ msgid "Show/Hide"
602
+ msgstr ""
603
+
604
+ #: options/html-options.php:53
605
+ msgid "Subscription"
606
+ msgstr ""
607
+
608
+ #: options/html-options.php:53
609
+ msgid "and Postmatic"
610
+ msgstr ""
611
+
612
+ #: options/html-options.php:54
613
+ msgid "Styling"
614
+ msgstr ""
615
+
616
+ #: options/html-options.php:55 options/options-layouts/settings-social.php:124
617
+ msgid "Social Login"
618
+ msgstr ""
619
+
620
+ #: options/html-options.php:56
621
+ #: options/options-layouts/settings-integrations.php:7
622
+ msgid "Integrations"
623
+ msgstr ""
624
+
625
+ #: options/html-options.php:57 options/options-layouts/settings-addons.php:7
626
+ msgid "Addons"
627
+ msgstr ""
628
+
629
+ #: options/html-options.php:141
630
+ msgid "Reset Options"
631
+ msgstr ""
632
+
633
+ #: options/html-options.php:143
634
+ msgid "Refresh comment optimization"
635
+ msgstr ""
636
+
637
+ #: options/html-options.php:145
638
+ msgid "Remove vote data"
639
+ msgstr ""
640
+
641
+ #: options/html-options.php:146 options/html-phrases.php:66
642
+ msgid "Save Changes"
643
+ msgstr ""
644
+
645
+ #: options/html-phrases.php:5
646
+ msgid "wpDiscuz Front-end Phrases"
647
+ msgstr ""
648
+
649
+ #: options/html-phrases.php:15
650
+ msgid "General"
651
+ msgstr ""
652
+
653
+ #: options/html-phrases.php:16
654
+ msgid "Form"
655
+ msgstr ""
656
+
657
+ #: options/html-phrases.php:18
658
+ msgid "Date/Time"
659
+ msgstr ""
660
+
661
+ #: options/html-phrases.php:20
662
+ msgid "Notification"
663
+ msgstr ""
664
+
665
+ #: options/options-layouts/settings-general.php:12
666
+ msgid "Display comment form for post types"
667
+ msgstr ""
668
+
669
+ #: options/options-layouts/settings-general.php:32
670
+ msgid "Enable Quicktags"
671
+ msgstr ""
672
+
673
+ #: options/options-layouts/settings-general.php:42
674
+ msgid "Use guest email to detect registered account"
675
+ msgstr ""
676
+
677
+ #: options/options-layouts/settings-general.php:44
678
+ msgid ""
679
+ "Sometimes registered users comment as guest using the same email address. "
680
+ "wpDiscuz can detect the account role using guest email and display commenter "
681
+ "label correctly."
682
+ msgstr ""
683
+
684
+ #: options/options-layouts/settings-general.php:55
685
+ msgid "Comment author must fill out email"
686
+ msgstr ""
687
+
688
+ #: options/options-layouts/settings-general.php:65
689
+ msgid "Comment author must fill out name"
690
+ msgstr ""
691
+
692
+ #: options/options-layouts/settings-general.php:75
693
+ msgid "Comment author name min length (for guests only)"
694
+ msgstr ""
695
+
696
+ #: options/options-layouts/settings-general.php:79
697
+ #: options/options-layouts/settings-general.php:106
698
+ msgid "Min"
699
+ msgstr ""
700
+
701
+ #: options/options-layouts/settings-general.php:82
702
+ #: options/options-layouts/settings-general.php:109
703
+ msgid "Max"
704
+ msgstr ""
705
+
706
+ #: options/options-layouts/settings-general.php:88
707
+ msgid "Keep guest commenter credentials in browser cookies for x days"
708
+ msgstr ""
709
+
710
+ #: options/options-layouts/settings-general.php:90
711
+ msgid "Set this option value -1 to make it unlimited."
712
+ msgstr ""
713
+
714
+ #: options/options-layouts/settings-general.php:91
715
+ msgid "Set this option value 0 to clear those data when user closes browser."
716
+ msgstr ""
717
+
718
+ #: options/options-layouts/settings-general.php:102
719
+ msgid "Comment text length"
720
+ msgstr ""
721
+
722
+ #: options/options-layouts/settings-general.php:115
723
+ msgid ""
724
+ "The number of words before breaking comment text and showing \"Read more\" "
725
+ "link"
726
+ msgstr ""
727
+
728
+ #: options/options-layouts/settings-general.php:117
729
+ msgid "Set this option value 0, to turn off comment text breaking function."
730
+ msgstr ""
731
+
732
+ #: options/options-layouts/settings-general.php:128
733
+ msgid "Comment text size in pixels"
734
+ msgstr ""
735
+
736
+ #: options/options-layouts/settings-general.php:143
737
+ msgid "Allow comment editing for"
738
+ msgstr ""
739
+
740
+ #: options/options-layouts/settings-general.php:148
741
+ msgid "Do not allow"
742
+ msgstr ""
743
+
744
+ #: options/options-layouts/settings-general.php:149
745
+ #: options/options-layouts/settings-general.php:150
746
+ #: options/options-layouts/settings-live-update.php:52
747
+ #: options/options-layouts/settings-live-update.php:53
748
+ #: options/options-layouts/settings-live-update.php:54
749
+ msgid "Minutes"
750
+ msgstr ""
751
+
752
+ #: options/options-layouts/settings-general.php:151
753
+ #: options/phrases-layouts/phrases-datetime.php:72
754
+ msgid "Hour"
755
+ msgstr ""
756
+
757
+ #: options/options-layouts/settings-general.php:152
758
+ #: options/options-layouts/settings-general.php:153
759
+ msgid "Hours"
760
+ msgstr ""
761
+
762
+ #: options/options-layouts/settings-general.php:154
763
+ msgid "Unlimit"
764
+ msgstr ""
765
+
766
+ #: options/options-layouts/settings-general.php:160
767
+ msgid "Redirect first commenter to"
768
+ msgstr ""
769
+
770
+ #: options/options-layouts/settings-general.php:167
771
+ msgid "Do not redirect"
772
+ msgstr ""
773
+
774
+ #: options/options-layouts/settings-general.php:175
775
+ msgid "Allow guests to vote on comments"
776
+ msgstr ""
777
+
778
+ #: options/options-layouts/settings-general.php:185
779
+ msgid "Comments loading/pagination type"
780
+ msgstr ""
781
+
782
+ #: options/options-layouts/settings-general.php:187
783
+ msgid ""
784
+ "You can manage the number of comments for [Load more] option in Settings > "
785
+ "Discussion page, using \"Break comments into pages with [X] top level "
786
+ "comments per page\" option. To show the default Wordpress comment pagination "
787
+ "you should enable the checkbox on bigining of the same option."
788
+ msgstr ""
789
+
790
+ #: options/options-layouts/settings-general.php:193
791
+ #: options/options-layouts/settings-general.php:195
792
+ msgid "[Load more] Button"
793
+ msgstr ""
794
+
795
+ #: options/options-layouts/settings-general.php:197
796
+ #: options/options-layouts/settings-general.php:199
797
+ msgid "[Load rest of all comments] Button"
798
+ msgstr ""
799
+
800
+ #: options/options-layouts/settings-general.php:201
801
+ #: options/options-layouts/settings-general.php:203
802
+ msgid "Lazy load comments on scrolling"
803
+ msgstr ""
804
+
805
+ #: options/options-layouts/settings-general.php:210
806
+ msgid "Use WordPress Date/Time format"
807
+ msgstr ""
808
+
809
+ #: options/options-layouts/settings-general.php:211
810
+ msgid ""
811
+ "wpDiscuz shows Human Readable date format. If you check this option it'll "
812
+ "show the date/time format set in WordPress General Settings."
813
+ msgstr ""
814
+
815
+ #: options/options-layouts/settings-general.php:218
816
+ msgid "Current Wordpress date/time format"
817
+ msgstr ""
818
+
819
+ #: options/options-layouts/settings-general.php:224
820
+ msgid "Use Plugin .PO/.MO files"
821
+ msgstr ""
822
+
823
+ #: options/options-layouts/settings-general.php:225
824
+ msgid ""
825
+ "wpDiscuz phrase system allows you to translate all front-end phrases. "
826
+ "However if you have a multi-language website it'll not allow you to add more "
827
+ "than one language translation. The only way to get it is the plugin "
828
+ "translation files (.PO / .MO). If wpDiscuz has the languages you need you "
829
+ "should check this option to disable phrase system and it'll automatically "
830
+ "translate all phrases based on language files according to current language."
831
+ msgstr ""
832
+
833
+ #: options/options-layouts/settings-general.php:236
834
+ msgid ""
835
+ "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
836
+ "use"
837
+ msgstr ""
838
+
839
+ #: options/options-layouts/settings-general.php:238
840
+ msgid ""
841
+ "Please check this option on to help wpDiscuz get more popularity as your "
842
+ "thank to the hard work we do for you totally free. This option adds a very "
843
+ "small (16x16px) icon under the comment section which will allow your site "
844
+ "visitors recognize the name of comment solution you use."
845
+ msgstr ""
846
+
847
+ #: options/options-layouts/settings-general.php:243
848
+ msgid "Thank you!"
849
+ msgstr ""
850
+
851
+ #: options/options-layouts/settings-integrations.php:14
852
+ msgid "BuddyPress"
853
+ msgstr ""
854
+
855
+ #: options/options-layouts/settings-integrations.php:15
856
+ msgid "Users Ultra"
857
+ msgstr ""
858
+
859
+ #: options/options-layouts/settings-integrations.php:16
860
+ msgid "User Pro"
861
+ msgstr ""
862
+
863
+ #: options/options-layouts/settings-integrations.php:17
864
+ msgid "Ultimate Member"
865
+ msgstr ""
866
+
867
+ #: options/options-layouts/settings-integrations.php:18
868
+ msgid "MyCred"
869
+ msgstr ""
870
+
871
+ #: options/options-layouts/settings-live-update.php:12
872
+ msgid "Live update options"
873
+ msgstr ""
874
+
875
+ #: options/options-layouts/settings-live-update.php:13
876
+ msgid ""
877
+ "wpDiscuz 3 live update is very smart and doesn't overload your server even "
878
+ "if you're on Shared hosting plan and even your website is very active. "
879
+ "However we recommend to monitor your server resources if you're on a Shared "
880
+ "hosting plan. There are some very weak hosting plans which may not be able "
881
+ "to perform very frequently live update requests. If you found some issue you "
882
+ "can set the option below 30 seconds or more."
883
+ msgstr ""
884
+
885
+ #: options/options-layouts/settings-live-update.php:18
886
+ msgid "Never update"
887
+ msgstr ""
888
+
889
+ #: options/options-layouts/settings-live-update.php:20
890
+ msgid "Turn off \"Live Update\" function"
891
+ msgstr ""
892
+
893
+ #: options/options-layouts/settings-live-update.php:22
894
+ #: options/options-layouts/settings-subscription.php:34
895
+ msgid "Show new comment/reply buttons to update manualy"
896
+ msgstr ""
897
+
898
+ #: options/options-layouts/settings-live-update.php:24
899
+ msgid "Always check for new comments and show update buttons"
900
+ msgstr ""
901
+
902
+ #: options/options-layouts/settings-live-update.php:26
903
+ #: options/options-layouts/settings-subscription.php:38
904
+ msgid "Always update"
905
+ msgstr ""
906
+
907
+ #: options/options-layouts/settings-live-update.php:28
908
+ msgid "Always check for new comments and update automatically"
909
+ msgstr ""
910
+
911
+ #: options/options-layouts/settings-live-update.php:35
912
+ msgid "Disable live update for guests"
913
+ msgstr ""
914
+
915
+ #: options/options-layouts/settings-live-update.php:43
916
+ msgid "Update comment list every"
917
+ msgstr ""
918
+
919
+ #: options/options-layouts/settings-live-update.php:48
920
+ #: options/options-layouts/settings-live-update.php:49
921
+ #: options/options-layouts/settings-live-update.php:50
922
+ msgid "Seconds"
923
+ msgstr ""
924
+
925
+ #: options/options-layouts/settings-live-update.php:51
926
+ #: options/phrases-layouts/phrases-datetime.php:92
927
+ msgid "Minute"
928
+ msgstr ""
929
+
930
+ #: options/options-layouts/settings-show-hide.php:7
931
+ msgid "Show/Hide Components"
932
+ msgstr ""
933
+
934
+ #: options/options-layouts/settings-show-hide.php:12
935
+ msgid "Show logged-in user name and logout link on top of main form"
936
+ msgstr ""
937
+
938
+ #: options/options-layouts/settings-show-hide.php:22
939
+ msgid "Hide Reply button for Guests"
940
+ msgstr ""
941
+
942
+ #: options/options-layouts/settings-show-hide.php:32
943
+ msgid "Hide Reply button for Members"
944
+ msgstr ""
945
+
946
+ #: options/options-layouts/settings-show-hide.php:42
947
+ msgid "Hide Commenter Labels"
948
+ msgstr ""
949
+
950
+ #: options/options-layouts/settings-show-hide.php:52
951
+ msgid "Hide Voting buttons"
952
+ msgstr ""
953
+
954
+ #: options/options-layouts/settings-show-hide.php:62
955
+ msgid "Show Share Buttons"
956
+ msgstr ""
957
+
958
+ #: options/options-layouts/settings-show-hide.php:86
959
+ msgid ""
960
+ "The plugin captcha directory is not writable! Please set writable "
961
+ "permissions on \"wpdiscuz/utils/temp\" directory in order to use the first "
962
+ "type of captcha generation"
963
+ msgstr ""
964
+
965
+ #: options/options-layouts/settings-show-hide.php:91
966
+ msgid "Captcha generation type"
967
+ msgstr ""
968
+
969
+ #: options/options-layouts/settings-show-hide.php:98
970
+ msgid "use file system"
971
+ msgstr ""
972
+
973
+ #: options/options-layouts/settings-show-hide.php:103
974
+ msgid "use wordpress session"
975
+ msgstr ""
976
+
977
+ #: options/options-layouts/settings-show-hide.php:110
978
+ msgid "Hide the CAPTCHA field for guests"
979
+ msgstr ""
980
+
981
+ #: options/options-layouts/settings-show-hide.php:120
982
+ msgid "Show the CAPTCHA field for logged in users"
983
+ msgstr ""
984
+
985
+ #: options/options-layouts/settings-show-hide.php:130
986
+ msgid "Show the Website URL field"
987
+ msgstr ""
988
+
989
+ #: options/options-layouts/settings-show-hide.php:140
990
+ msgid "Hide header text"
991
+ msgstr ""
992
+
993
+ #: options/options-layouts/settings-show-hide.php:150
994
+ msgid "Show sorting buttons"
995
+ msgstr ""
996
+
997
+ #: options/options-layouts/settings-show-hide.php:160
998
+ msgid "Set comments ordering to \"Most voted\" by default "
999
+ msgstr ""
1000
+
1001
+ #: options/options-layouts/settings-show-hide.php:170
1002
+ msgid "Hide comment link"
1003
+ msgstr ""
1004
+
1005
+ #: options/options-layouts/settings-show-hide.php:180
1006
+ msgid "Enable automatic image URL to image HTML conversion"
1007
+ msgstr ""
1008
+
1009
+ #: options/options-layouts/settings-social.php:50
1010
+ #: options/options-layouts/settings-social.php:61
1011
+ #: options/options-layouts/settings-social.php:72
1012
+ #: options/options-layouts/settings-social.php:83
1013
+ msgid "Activate"
1014
+ msgstr ""
1015
+
1016
+ #: options/options-layouts/settings-social.php:54
1017
+ #: options/options-layouts/settings-social.php:65
1018
+ #: options/options-layouts/settings-social.php:76
1019
+ #: options/options-layouts/settings-social.php:87
1020
+ msgid "View details/Install"
1021
+ msgstr ""
1022
+
1023
+ #: options/options-layouts/settings-social.php:125
1024
+ msgid ""
1025
+ "You can use one of these most popular Social Login Plugins to allow your "
1026
+ "visitors login and comment with Facebook, Twitter, Google+, Wordpress, VK, "
1027
+ "OK and lots of other social network service accounts. All social login "
1028
+ "buttons will be fully integrated with wpDiscuz comment forms."
1029
+ msgstr ""
1030
+
1031
+ #: options/options-layouts/settings-style.php:7
1032
+ msgid "Background and Colors"
1033
+ msgstr ""
1034
+
1035
+ #: options/options-layouts/settings-style.php:12
1036
+ msgid "Comment Form Background Color"
1037
+ msgstr ""
1038
+
1039
+ #: options/options-layouts/settings-style.php:16
1040
+ #: options/options-layouts/settings-style.php:25
1041
+ #: options/options-layouts/settings-style.php:34
1042
+ #: options/options-layouts/settings-style.php:43
1043
+ #: options/options-layouts/settings-style.php:52
1044
+ #: options/options-layouts/settings-style.php:61
1045
+ #: options/options-layouts/settings-style.php:70
1046
+ #: options/options-layouts/settings-style.php:79
1047
+ #: options/options-layouts/settings-style.php:92
1048
+ msgid "Example: #00FF00"
1049
+ msgstr ""
1050
+
1051
+ #: options/options-layouts/settings-style.php:21
1052
+ msgid "Comment Background Color"
1053
+ msgstr ""
1054
+
1055
+ #: options/options-layouts/settings-style.php:30
1056
+ msgid "Reply Background Color"
1057
+ msgstr ""
1058
+
1059
+ #: options/options-layouts/settings-style.php:39
1060
+ msgid "Comment Text Color"
1061
+ msgstr ""
1062
+
1063
+ #: options/options-layouts/settings-style.php:48
1064
+ msgid "Vote, Reply, Share, Edit links text colors"
1065
+ msgstr ""
1066
+
1067
+ #: options/options-layouts/settings-style.php:57
1068
+ msgid "Comment form fields border color"
1069
+ msgstr ""
1070
+
1071
+ #: options/options-layouts/settings-style.php:66
1072
+ msgid "New loaded comments' background color"
1073
+ msgstr ""
1074
+
1075
+ #: options/options-layouts/settings-style.php:75
1076
+ msgid "Primary Color"
1077
+ msgstr ""
1078
+
1079
+ #: options/options-layouts/settings-style.php:89
1080
+ msgid "label color"
1081
+ msgstr ""
1082
+
1083
+ #: options/options-layouts/settings-style.php:100
1084
+ msgid "Custom CSS Code"
1085
+ msgstr ""
1086
+
1087
+ #: options/options-layouts/settings-subscription.php:7
1088
+ msgid "Email Subscription Settings"
1089
+ msgstr ""
1090
+
1091
+ #: options/options-layouts/settings-subscription.php:12
1092
+ msgid "Show comment subscription bar"
1093
+ msgstr ""
1094
+
1095
+ #: options/options-layouts/settings-subscription.php:14
1096
+ msgid ""
1097
+ "This bar provides two subscription options: notify of \"new follow-up "
1098
+ "comments\" and \"new replies to my comments\""
1099
+ msgstr ""
1100
+
1101
+ #: options/options-layouts/settings-subscription.php:21
1102
+ msgid "Disable subscription confirmation for registered users"
1103
+ msgstr ""
1104
+
1105
+ #: options/options-layouts/settings-subscription.php:26
1106
+ msgid "Show subscription types in dropdown"
1107
+ msgstr ""
1108
+
1109
+ #: options/options-layouts/settings-subscription.php:30
1110
+ msgid "Both"
1111
+ msgstr ""
1112
+
1113
+ #: options/options-layouts/settings-subscription.php:32
1114
+ msgid "Both post and all comments subscription"
1115
+ msgstr ""
1116
+
1117
+ #: options/options-layouts/settings-subscription.php:36
1118
+ msgid "Post subscription"
1119
+ msgstr ""
1120
+
1121
+ #: options/options-layouts/settings-subscription.php:40
1122
+ msgid "All comments subscription"
1123
+ msgstr ""
1124
+
1125
+ #: options/options-layouts/settings-subscription.php:47
1126
+ msgid "Show \"Notify of new replies to this comment\""
1127
+ msgstr ""
1128
+
1129
+ #: options/options-layouts/settings-subscription.php:49
1130
+ msgid ""
1131
+ "wpDiscuz is the only comment plugin which allows you to subscribe to certain "
1132
+ "comment replies. This option is located above [Post Comment] button in "
1133
+ "comment form. You can disable this subscription way by unchecking this "
1134
+ "option."
1135
+ msgstr ""
1136
+
1137
+ #: options/options-layouts/settings-subscription.php:56
1138
+ msgid "\"Notify of new replies to this comment\" checked by default"
1139
+ msgstr ""
1140
+
1141
+ #: options/options-layouts/settings-subscription.php:63
1142
+ msgid "Use Postmatic for subscriptions and commenting by email"
1143
+ msgstr ""
1144
+
1145
+ #: options/options-layouts/settings-subscription.php:64
1146
+ msgid ""
1147
+ "Postmatic allows your users subscribe to comments. Instead of just being "
1148
+ "notified, they add a reply right from their inbox."
1149
+ msgstr ""
1150
+
1151
+ #: options/phrases-layouts/phrases-comment.php:7
1152
+ msgid "Comment Template Phrases"
1153
+ msgstr ""
1154
+
1155
+ #: options/phrases-layouts/phrases-comment.php:158
1156
+ msgid "Save edited comment button text"
1157
+ msgstr ""
1158
+
1159
+ #: options/phrases-layouts/phrases-comment.php:168
1160
+ msgid "Cancel comment editing button text"
1161
+ msgstr ""
1162
+
1163
+ #: options/phrases-layouts/phrases-comment.php:178
1164
+ msgid "Comment read more link text"
1165
+ msgstr ""
1166
+
1167
+ #: options/phrases-layouts/phrases-comment.php:188
1168
+ msgid "Anonymous commenter name"
1169
+ msgstr ""
1170
+
1171
+ #: options/phrases-layouts/phrases-datetime.php:7
1172
+ msgid "Date/Time Phrases"
1173
+ msgstr ""
1174
+
1175
+ #: options/phrases-layouts/phrases-datetime.php:12
1176
+ msgid "Year"
1177
+ msgstr ""
1178
+
1179
+ #: options/phrases-layouts/phrases-datetime.php:22
1180
+ msgid "Years (Plural Form)"
1181
+ msgstr ""
1182
+
1183
+ #: options/phrases-layouts/phrases-datetime.php:26
1184
+ msgid "Years"
1185
+ msgstr ""
1186
+
1187
+ #: options/phrases-layouts/phrases-datetime.php:32
1188
+ msgid "Month"
1189
+ msgstr ""
1190
+
1191
+ #: options/phrases-layouts/phrases-datetime.php:42
1192
+ msgid "Months (Plural Form)"
1193
+ msgstr ""
1194
+
1195
+ #: options/phrases-layouts/phrases-datetime.php:52
1196
+ msgid "Day"
1197
+ msgstr ""
1198
+
1199
+ #: options/phrases-layouts/phrases-datetime.php:62
1200
+ msgid "Days (Plural Form)"
1201
+ msgstr ""
1202
+
1203
+ #: options/phrases-layouts/phrases-datetime.php:82
1204
+ msgid "Hours (Plural Form)"
1205
+ msgstr ""
1206
+
1207
+ #: options/phrases-layouts/phrases-datetime.php:102
1208
+ msgid "Minutes (Plural Form)"
1209
+ msgstr ""
1210
+
1211
+ #: options/phrases-layouts/phrases-datetime.php:112
1212
+ msgid "Second"
1213
+ msgstr ""
1214
+
1215
+ #: options/phrases-layouts/phrases-datetime.php:122
1216
+ msgid "Seconds (Plural Form)"
1217
+ msgstr ""
1218
+
1219
+ #: options/phrases-layouts/phrases-datetime.php:132
1220
+ msgid "Commented \"right now\" text"
1221
+ msgstr ""
1222
+
1223
+ #: options/phrases-layouts/phrases-datetime.php:142
1224
+ msgid "Ago text"
1225
+ msgstr ""
1226
+
1227
+ #: options/phrases-layouts/phrases-datetime.php:152
1228
+ msgid "\"Today\" text"
1229
+ msgstr ""
1230
+
1231
+ #: options/phrases-layouts/phrases-email.php:7
1232
+ msgid "Email Template Phrases"
1233
+ msgstr ""
1234
+
1235
+ #: options/phrases-layouts/phrases-email.php:12
1236
+ msgid "Email Subject"
1237
+ msgstr ""
1238
+
1239
+ #: options/phrases-layouts/phrases-email.php:22
1240
+ msgid "Email Message"
1241
+ msgstr ""
1242
+
1243
+ #: options/phrases-layouts/phrases-email.php:32
1244
+ msgid "New Reply Subject"
1245
+ msgstr ""
1246
+
1247
+ #: options/phrases-layouts/phrases-email.php:42
1248
+ msgid "New Reply Message"
1249
+ msgstr ""
1250
+
1251
+ #: options/phrases-layouts/phrases-email.php:62
1252
+ #: options/phrases-layouts/phrases-email.php:66
1253
+ msgid "Ignore Subscription"
1254
+ msgstr ""
1255
+
1256
+ #: options/phrases-layouts/phrases-email.php:92
1257
+ msgid "Subscribe Confirmation Email Subject"
1258
+ msgstr ""
1259
+
1260
+ #: options/phrases-layouts/phrases-email.php:102
1261
+ msgid "Subscribe Confirmation Email Content"
1262
+ msgstr ""
1263
+
1264
+ #: options/phrases-layouts/phrases-form.php:7
1265
+ msgid "Form Template Phrases"
1266
+ msgstr ""
1267
+
1268
+ #: options/phrases-layouts/phrases-form.php:12
1269
+ msgid "Comment Field Start"
1270
+ msgstr ""
1271
+
1272
+ #: options/phrases-layouts/phrases-form.php:22
1273
+ msgid "Comment Field Join"
1274
+ msgstr ""
1275
+
1276
+ #: options/phrases-layouts/phrases-form.php:32
1277
+ msgid "Email Field"
1278
+ msgstr ""
1279
+
1280
+ #: options/phrases-layouts/phrases-form.php:42
1281
+ msgid "Name Field"
1282
+ msgstr ""
1283
+
1284
+ #: options/phrases-layouts/phrases-form.php:52
1285
+ msgid "WebSite URL Field"
1286
+ msgstr ""
1287
+
1288
+ #: options/phrases-layouts/phrases-form.php:62
1289
+ msgid "CAPTCHA Field"
1290
+ msgstr ""
1291
+
1292
+ #: options/phrases-layouts/phrases-form.php:72
1293
+ msgid "Submit Button"
1294
+ msgstr ""
1295
+
1296
+ #: options/phrases-layouts/phrases-form.php:92
1297
+ msgid "Notify on new comments"
1298
+ msgstr ""
1299
+
1300
+ #: options/phrases-layouts/phrases-form.php:102
1301
+ msgid "Notify on all new replies"
1302
+ msgstr ""
1303
+
1304
+ #: options/phrases-layouts/phrases-form.php:106
1305
+ msgid "new replies to all my comments"
1306
+ msgstr ""
1307
+
1308
+ #: options/phrases-layouts/phrases-form.php:112
1309
+ msgid "Notify on new replies (checkbox)"
1310
+ msgstr ""
1311
+
1312
+ #: options/phrases-layouts/phrases-form.php:162
1313
+ msgid "Subscribed on this comment replies"
1314
+ msgstr ""
1315
+
1316
+ #: options/phrases-layouts/phrases-form.php:172
1317
+ msgid "Subscribed on all your comments replies"
1318
+ msgstr ""
1319
+
1320
+ #: options/phrases-layouts/phrases-form.php:182
1321
+ msgid "Subscribed on this post"
1322
+ msgstr ""
1323
+
1324
+ #: options/phrases-layouts/phrases-general.php:7
1325
+ msgid "General Phrases"
1326
+ msgstr ""
1327
+
1328
+ #: options/phrases-layouts/phrases-general.php:22
1329
+ msgid "Be the first to comment"
1330
+ msgstr ""
1331
+
1332
+ #: options/phrases-layouts/phrases-general.php:42
1333
+ msgid "Comment (Plural Form)"
1334
+ msgstr ""
1335
+
1336
+ #: options/phrases-layouts/phrases-general.php:52
1337
+ msgid "On"
1338
+ msgstr ""
1339
+
1340
+ #: options/phrases-layouts/phrases-general.php:62
1341
+ msgid "Load More Button"
1342
+ msgstr ""
1343
+
1344
+ #: options/phrases-layouts/phrases-general.php:82
1345
+ msgid "Button text if has new comment"
1346
+ msgstr ""
1347
+
1348
+ #: options/phrases-layouts/phrases-general.php:92
1349
+ msgid "Button text if has new comments (Plural Form)"
1350
+ msgstr ""
1351
+
1352
+ #: options/phrases-layouts/phrases-general.php:96
1353
+ msgid "New Comments"
1354
+ msgstr ""
1355
+
1356
+ #: options/phrases-layouts/phrases-general.php:102
1357
+ msgid "Button text if has new reply"
1358
+ msgstr ""
1359
+
1360
+ #: options/phrases-layouts/phrases-general.php:112
1361
+ msgid "Button text if has new replies (Plural Form)"
1362
+ msgstr ""
1363
+
1364
+ #: options/phrases-layouts/phrases-general.php:116
1365
+ msgid "New Replies"
1366
+ msgstr ""
1367
+
1368
+ #: options/phrases-layouts/phrases-general.php:122
1369
+ msgid "Text on load more button if has new comment(s)"
1370
+ msgstr ""
1371
+
1372
+ #: options/phrases-layouts/phrases-notification.php:7
1373
+ msgid "Notification Phrases"
1374
+ msgstr ""
1375
+
1376
+ #: options/phrases-layouts/phrases-notification.php:12
1377
+ msgid "You\\'re subscribed to"
1378
+ msgstr ""
1379
+
1380
+ #: options/phrases-layouts/phrases-notification.php:43
1381
+ msgid "Postmatic subscription label"
1382
+ msgstr ""
1383
+
1384
+ #: options/phrases-layouts/phrases-notification.php:54
1385
+ msgid "Error message for empty field"
1386
+ msgstr ""
1387
+
1388
+ #: options/phrases-layouts/phrases-notification.php:64
1389
+ msgid "Error message for invalid email field"
1390
+ msgstr ""
1391
+
1392
+ #: options/phrases-layouts/phrases-notification.php:74
1393
+ msgid "Error message for invalid website url field"
1394
+ msgstr ""
1395
+
1396
+ #: options/phrases-layouts/phrases-notification.php:94
1397
+ msgid "Logged in as"
1398
+ msgstr ""
1399
+
1400
+ #: options/phrases-layouts/phrases-notification.php:114
1401
+ msgid "Logged In"
1402
+ msgstr ""
1403
+
1404
+ #: options/phrases-layouts/phrases-notification.php:124
1405
+ msgid "To post a comment"
1406
+ msgstr ""
1407
+
1408
+ #: options/phrases-layouts/phrases-notification.php:144
1409
+ msgid "You can vote only 1 time"
1410
+ msgstr ""
1411
+
1412
+ #: options/phrases-layouts/phrases-notification.php:164
1413
+ msgid "Login To Vote"
1414
+ msgstr ""
1415
+
1416
+ #: options/phrases-layouts/phrases-notification.php:174
1417
+ msgid "You Cannot Vote On Your Comment"
1418
+ msgstr ""
1419
+
1420
+ #: options/phrases-layouts/phrases-notification.php:184
1421
+ msgid "You are not allowed to vote for this comment (Voting from same IP)"
1422
+ msgstr ""
1423
+
1424
+ #: options/phrases-layouts/phrases-notification.php:214
1425
+ msgid "Comment waiting moderation"
1426
+ msgstr ""
1427
+
1428
+ #: options/phrases-layouts/phrases-notification.php:224
1429
+ msgid "Message if input text length is too short"
1430
+ msgstr ""
1431
+
1432
+ #: options/phrases-layouts/phrases-notification.php:234
1433
+ msgid "Message if input text length is too long"
1434
+ msgstr ""
1435
+
1436
+ #: options/phrases-layouts/phrases-notification.php:245
1437
+ msgid "Message if comment was not updated"
1438
+ msgstr ""
1439
+
1440
+ #: options/phrases-layouts/phrases-notification.php:255
1441
+ msgid "Message if comment no longer possible to edit"
1442
+ msgstr ""
1443
+
1444
+ #: options/phrases-layouts/phrases-notification.php:265
1445
+ msgid "Message if comment text not changed"
1446
+ msgstr ""
1447
+
1448
+ #: options/phrases-layouts/phrases-notification.php:269
1449
+ msgid "TYou've not made any changes"
1450
+ msgstr ""
1451
+
1452
+ #: templates/comment/comment-form.php:56
1453
+ msgid "Unable to send an email"
1454
+ msgstr ""
1455
+
1456
+ #: templates/comment/comment-form.php:58
1457
+ msgid "Subscription not successed"
1458
+ msgstr ""
1459
+
1460
+ #: templates/comment/comment-form.php:257
1461
+ #: templates/comment/comment-form.php:265
1462
+ msgid "wpDiscuz"
1463
+ msgstr ""
1464
+
1465
+ #: utils/class.WpdiscuzHelper.php:57
1466
+ msgid "Cannot create image file"
1467
+ msgstr ""
1468
+
1469
+ #: utils/class.WpdiscuzHelper.php:58
1470
+ msgid "Permission denied for file creation"
1471
+ msgstr ""
1472
+
1473
+ #: utils/class.WpdiscuzHelper.php:59
1474
+ msgid "PHP GD2 library is disabled"
1475
+ msgstr ""
1476
+
1477
+ #: utils/class.WpdiscuzHelper.php:60
1478
+ msgid "PNG image creation disabled"
1479
+ msgstr ""
1480
+
1481
+ #. Plugin Name of the plugin/theme
1482
+ msgid "wpDiscuz - Supercharged native comments"
1483
+ msgstr ""
1484
+
1485
+ #. Plugin URI of the plugin/theme
1486
+ msgid "http://wpdiscuz.com/"
1487
+ msgstr ""
1488
+
1489
+ #. Description of the plugin/theme
1490
+ msgid ""
1491
+ "Better comment system. Wordpress post comments and discussion plugin. Allows "
1492
+ "your visitors discuss, vote for comments and share."
1493
+ msgstr ""
1494
+
1495
+ #. Author of the plugin/theme
1496
+ msgid "gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)"
1497
+ msgstr ""
1498
+
1499
+ #. Author URI of the plugin/theme
1500
+ msgid "http://gvectors.com/"
1501
+ msgstr ""
manager/class.WpdiscuzDBManager.php CHANGED
@@ -176,9 +176,9 @@ class WpdiscuzDBManager {
176
  * get last comment id from database
177
  * current post last comment id if post id was passed
178
  */
179
- public function getLastCommentId($postId = 0) {
180
- if ($postId) {
181
- $sql = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_approved` = 1 ORDER BY `comment_ID` DESC LIMIT 1;", $postId);
182
  } else {
183
  $sql = "SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` ORDER BY `comment_ID` DESC LIMIT 1;";
184
  }
@@ -188,8 +188,8 @@ class WpdiscuzDBManager {
188
  /**
189
  * retrives new comment ids for live update (UA - Update Automatically)
190
  */
191
- public function getNewCommentIds($postId, $loadLastCommentId, $email) {
192
- $sqlCommentIds = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_ID` > %d AND `comment_author_email` != %s AND `comment_approved` = 1 ORDER BY `comment_date_gmt` ASC;", $postId, $loadLastCommentId, $email);
193
  return $this->matrixToArray($this->db->get_results($sqlCommentIds, ARRAY_N));
194
  }
195
 
@@ -198,7 +198,7 @@ class WpdiscuzDBManager {
198
  * @param type $email the current user email
199
  * @return type array of author comment ids
200
  */
201
- public function getAuthorVisibleComments($visibleCommentIds, $email) {
202
  $sql = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_approved` = 1 AND `comment_ID` IN($visibleCommentIds) AND `comment_author_email` = %s;", $email);
203
  return $this->matrixToArray($this->db->get_results($sql, ARRAY_N));
204
  }
@@ -217,14 +217,15 @@ class WpdiscuzDBManager {
217
  */
218
  public function getPostParentComments($args) {
219
  $commentParent = $args['is_threaded'] ? 'AND `comment_parent` = 0' : '';
 
220
  if ($args['limit'] == 0) {
221
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
222
- $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_approved` = '1' $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
223
  } else if ($args['last_parent_id']) {
224
  $operator = ($args['order'] == 'asc') ? '>' : '<';
225
- $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_approved` = '1' $commentParent AND `comment_ID` $operator %d ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['last_parent_id'], $args['limit']);
226
  } else {
227
- $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_approved` = '1' $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['limit']);
228
  }
229
  $commentIds = $this->db->get_results($sqlComments, ARRAY_N);
230
  return $this->matrixToArray($commentIds);
@@ -252,11 +253,12 @@ class WpdiscuzDBManager {
252
  */
253
  public function getPostVotedCommentIds($args) {
254
  $commentParent = $args['is_threaded'] ? 'AND `c`.`comment_parent` = 0' : '';
 
255
  if ($args['limit']) {
256
- $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND `c`.`comment_approved` = 1 $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $args['limit'], $args['offset']);
257
  } else {
258
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
259
- $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND `c`.`comment_approved` = 1 $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
260
  }
261
  $postVotedCommentIds = $this->db->get_results($sqlPostVotedCommentIds, ARRAY_N);
262
  return $this->matrixToArray($postVotedCommentIds);
@@ -498,4 +500,16 @@ class WpdiscuzDBManager {
498
  return $this->db->query($sqlTruncate) && $this->db->query($sqlDelete);
499
  }
500
 
 
 
 
 
 
 
 
 
 
 
 
 
501
  }
176
  * get last comment id from database
177
  * current post last comment id if post id was passed
178
  */
179
+ public function getLastCommentId($args) {
180
+ if ($args['post_id']) {
181
+ $sql = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_approved` = 1 ORDER BY `comment_ID` DESC LIMIT 1;", $args['post_id']);
182
  } else {
183
  $sql = "SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` ORDER BY `comment_ID` DESC LIMIT 1;";
184
  }
188
  /**
189
  * retrives new comment ids for live update (UA - Update Automatically)
190
  */
191
+ public function getNewCommentIds($args, $loadLastCommentId, $email) {
192
+ $sqlCommentIds = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND `comment_ID` > %d AND `comment_author_email` != %s AND `comment_approved` = 1 ORDER BY `comment_date_gmt` ASC;", $args['post_id'], $loadLastCommentId, $email);
193
  return $this->matrixToArray($this->db->get_results($sqlCommentIds, ARRAY_N));
194
  }
195
 
198
  * @param type $email the current user email
199
  * @return type array of author comment ids
200
  */
201
+ public function getAuthorVisibleComments($args, $visibleCommentIds, $email) {
202
  $sql = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_approved` = 1 AND `comment_ID` IN($visibleCommentIds) AND `comment_author_email` = %s;", $email);
203
  return $this->matrixToArray($this->db->get_results($sql, ARRAY_N));
204
  }
217
  */
218
  public function getPostParentComments($args) {
219
  $commentParent = $args['is_threaded'] ? 'AND `comment_parent` = 0' : '';
220
+ $status = $this->getCommentsStatus($args['status']);
221
  if ($args['limit'] == 0) {
222
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
223
+ $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
224
  } else if ($args['last_parent_id']) {
225
  $operator = ($args['order'] == 'asc') ? '>' : '<';
226
+ $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent AND `comment_ID` $operator %d ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['last_parent_id'], $args['limit']);
227
  } else {
228
+ $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['limit']);
229
  }
230
  $commentIds = $this->db->get_results($sqlComments, ARRAY_N);
231
  return $this->matrixToArray($commentIds);
253
  */
254
  public function getPostVotedCommentIds($args) {
255
  $commentParent = $args['is_threaded'] ? 'AND `c`.`comment_parent` = 0' : '';
256
+ $status = $this->getCommentsStatus($args['status'], '`c`.');
257
  if ($args['limit']) {
258
+ $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $args['limit'], $args['offset']);
259
  } else {
260
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
261
+ $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
262
  }
263
  $postVotedCommentIds = $this->db->get_results($sqlPostVotedCommentIds, ARRAY_N);
264
  return $this->matrixToArray($postVotedCommentIds);
500
  return $this->db->query($sqlTruncate) && $this->db->query($sqlDelete);
501
  }
502
 
503
+ private function getCommentsStatus($status, $alias = '') {
504
+ $s = '';
505
+ if ($status == 'all') {
506
+ $s = "($alias`comment_approved` = 0 OR $alias`comment_approved` = 1)";
507
+ } else if ($status == 'hold') {
508
+ $s = "($alias`comment_approved` = 0)";
509
+ } else {
510
+ $s = "$alias`comment_approved` = 1";
511
+ }
512
+ return $s;
513
+ }
514
+
515
  }
options/class.WpdiscuzOptions.php CHANGED
@@ -35,6 +35,7 @@ class WpdiscuzOptions {
35
  }
36
 
37
  $this->optionsSerialized->postTypes = isset($_POST['wc_post_types']) ? $_POST['wc_post_types'] : array();
 
38
  $this->optionsSerialized->commentListUpdateType = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
39
  $this->optionsSerialized->commentListUpdateTimer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
40
  $this->optionsSerialized->liveUpdateGuests = isset($_POST['wc_live_update_guests']) ? $_POST['wc_live_update_guests'] : 0;
@@ -81,6 +82,7 @@ class WpdiscuzOptions {
81
  $this->optionsSerialized->commentTextMaxLength = (isset($_POST['wc_comment_text_max_length']) && intval($_POST['wc_comment_text_max_length']) > 0) ? intval($_POST['wc_comment_text_max_length']) : '';
82
  $this->optionsSerialized->commentReadMoreLimit = (isset($_POST['commentWordsLimit']) && intval($_POST['commentWordsLimit']) >= 0) ? intval($_POST['commentWordsLimit']) : 100;
83
  $this->optionsSerialized->showHideCommentLink = isset($_POST['showHideCommentLink']) ? $_POST['showHideCommentLink'] : 0;
 
84
  $this->optionsSerialized->isCaptchaInSession = isset($_POST['isCaptchaInSession']) ? $_POST['isCaptchaInSession'] : 0;
85
  $this->optionsSerialized->isUserByEmail = isset($_POST['isUserByEmail']) ? $_POST['isUserByEmail'] : 0;
86
  $this->optionsSerialized->commenterNameMinLength = isset($_POST['commenterNameMinLength']) && intval($_POST['commenterNameMinLength']) >= 3 ? $_POST['commenterNameMinLength'] : 3;
@@ -194,6 +196,7 @@ class WpdiscuzOptions {
194
  $this->optionsSerialized->phrases['wc_msg_input_min_length'] = $_POST['wc_msg_input_min_length'];
195
  $this->optionsSerialized->phrases['wc_msg_input_max_length'] = $_POST['wc_msg_input_max_length'];
196
  $this->optionsSerialized->phrases['wc_read_more'] = $_POST['wc_read_more'];
 
197
  $this->optionsSerialized->phrases['wc_msg_required_fields'] = $_POST['wc_msg_required_fields'];
198
  $this->optionsSerialized->phrases['wc_connect_with'] = $_POST['wc_connect_with'];
199
  $this->optionsSerialized->phrases['wc_subscribed_to'] = $_POST['wc_subscribed_to'];
@@ -223,9 +226,11 @@ class WpdiscuzOptions {
223
  }
224
 
225
  private function initAddons() {
226
- $wpdiscuzVersion = get_option(WpdiscuzCore::OPTION_SLUG_VERSION);
227
  $this->addons = array(
228
- 'emoticons' => array('version' => '1.0.0', 'requires' => '3.2.6', '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' => 'http://gvectors.com/product/wpdiscuz-emoticons/'),
 
 
 
229
  'uploader' => array('version' => '1.0.0', 'requires' => '3.2.6', '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' => 'http://gvectors.com/product/wpdiscuz-media-uploader/'),
230
  'recaptcha' => array('version' => '1.0.0', 'requires' => '3.2.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' => 'http://gvectors.com/product/wpdiscuz-recaptcha/'),
231
  'mycred' => array('version' => '1.0.0', 'requires' => '3.2.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' => 'http://gvectors.com/product/wpdiscuz-mycred/'),
@@ -236,7 +241,7 @@ class WpdiscuzOptions {
236
  public function addonNote() {
237
 
238
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
239
- $lastHashArray = explode(',', $lastHash);
240
  $currentHash = $this->addonHash();
241
  if ($lastHash != $currentHash) {
242
  ?>
@@ -244,13 +249,14 @@ class WpdiscuzOptions {
244
  <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>
245
  <div style="font-size:14px;">
246
  <?php
247
- foreach ($this->addons as $key => $addon) {
248
- if(in_array($addon['title'], $lastHashArray)) continue;
249
- ?>
250
- <div style="display:inline-block; min-width:25%; padding-right:10px;"><img src="<?php echo $addon['thumb'] ?>" style="height:60px; width:auto; vertical-align:middle; margin:0px 10px; text-decoration:none;" /> <a href="<?php echo admin_url('edit-comments.php?page=wpdiscuz_addons_page') ?>" style="color:#444; text-decoration:none;" title="<?php _e('Go to wpDiscuz Addons subMenu'); ?>">wpDiscuz - <?php echo $addon['title']; ?></a></div>
251
- <?php
252
- }
253
- ?>
 
254
  <div style="clear:both;"></div>
255
  </div>
256
  <p>&nbsp;&nbsp;&nbsp;<a href="<?php echo admin_url('edit-comments.php?page=wpdiscuz_addons_page') ?>"><?php _e('Go to wpDiscuz Addons subMenu'); ?> &raquo;</a></p>
@@ -278,15 +284,17 @@ class WpdiscuzOptions {
278
  $hash = $viewed;
279
  return $hash;
280
  }
281
-
282
- public function refreshAddonPage(){
283
- $lastHash = get_option('wpdiscuz-addon-note-dismissed');
284
  $currentHash = $this->addonHash();
285
  if ($lastHash != $currentHash) {
286
- ?>
287
- <script language="javascript">jQuery(document).ready(function () { location.reload(); });</script>
 
 
288
  <?php
289
- }
290
- }
291
 
292
  }
35
  }
36
 
37
  $this->optionsSerialized->postTypes = isset($_POST['wc_post_types']) ? $_POST['wc_post_types'] : array();
38
+ $this->optionsSerialized->isQuickTagsEnabled = isset($_POST['wc_quick_tags']) ? $_POST['wc_quick_tags'] : 0;
39
  $this->optionsSerialized->commentListUpdateType = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
40
  $this->optionsSerialized->commentListUpdateTimer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
41
  $this->optionsSerialized->liveUpdateGuests = isset($_POST['wc_live_update_guests']) ? $_POST['wc_live_update_guests'] : 0;
82
  $this->optionsSerialized->commentTextMaxLength = (isset($_POST['wc_comment_text_max_length']) && intval($_POST['wc_comment_text_max_length']) > 0) ? intval($_POST['wc_comment_text_max_length']) : '';
83
  $this->optionsSerialized->commentReadMoreLimit = (isset($_POST['commentWordsLimit']) && intval($_POST['commentWordsLimit']) >= 0) ? intval($_POST['commentWordsLimit']) : 100;
84
  $this->optionsSerialized->showHideCommentLink = isset($_POST['showHideCommentLink']) ? $_POST['showHideCommentLink'] : 0;
85
+ $this->optionsSerialized->enableImageConversion = isset($_POST['enableImageConversion']) ? $_POST['enableImageConversion'] : 0;
86
  $this->optionsSerialized->isCaptchaInSession = isset($_POST['isCaptchaInSession']) ? $_POST['isCaptchaInSession'] : 0;
87
  $this->optionsSerialized->isUserByEmail = isset($_POST['isUserByEmail']) ? $_POST['isUserByEmail'] : 0;
88
  $this->optionsSerialized->commenterNameMinLength = isset($_POST['commenterNameMinLength']) && intval($_POST['commenterNameMinLength']) >= 3 ? $_POST['commenterNameMinLength'] : 3;
196
  $this->optionsSerialized->phrases['wc_msg_input_min_length'] = $_POST['wc_msg_input_min_length'];
197
  $this->optionsSerialized->phrases['wc_msg_input_max_length'] = $_POST['wc_msg_input_max_length'];
198
  $this->optionsSerialized->phrases['wc_read_more'] = $_POST['wc_read_more'];
199
+ $this->optionsSerialized->phrases['wc_anonymous'] = $_POST['wc_anonymous'];
200
  $this->optionsSerialized->phrases['wc_msg_required_fields'] = $_POST['wc_msg_required_fields'];
201
  $this->optionsSerialized->phrases['wc_connect_with'] = $_POST['wc_connect_with'];
202
  $this->optionsSerialized->phrases['wc_subscribed_to'] = $_POST['wc_subscribed_to'];
226
  }
227
 
228
  private function initAddons() {
 
229
  $this->addons = array(
230
+ 'widgets' => array('version' => '1.0.0', 'requires' => '3.2.7', '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' => 'http://gvectors.com/product/wpdiscuz-widgets/'),
231
+ 'frontend-moderation' => array('version' => '1.0.0', 'requires' => '3.2.7', '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' => 'http://gvectors.com/product/wpdiscuz-frontend-moderation/'),
232
+ 'emoticons' => array('version' => '1.0.0', 'requires' => '3.2.6', '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' => 'http://gvectors.com/product/wpdiscuz-emoticons/'),
233
+ 'search' => array('version' => '1.0.0', 'requires' => '3.2.7', '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' => 'http://gvectors.com/product/wpdiscuz-comment-search/'),
234
  'uploader' => array('version' => '1.0.0', 'requires' => '3.2.6', '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' => 'http://gvectors.com/product/wpdiscuz-media-uploader/'),
235
  'recaptcha' => array('version' => '1.0.0', 'requires' => '3.2.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' => 'http://gvectors.com/product/wpdiscuz-recaptcha/'),
236
  'mycred' => array('version' => '1.0.0', 'requires' => '3.2.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' => 'http://gvectors.com/product/wpdiscuz-mycred/'),
241
  public function addonNote() {
242
 
243
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
244
+ $lastHashArray = explode(',', $lastHash);
245
  $currentHash = $this->addonHash();
246
  if ($lastHash != $currentHash) {
247
  ?>
249
  <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>
250
  <div style="font-size:14px;">
251
  <?php
252
+ foreach ($this->addons as $key => $addon) {
253
+ if (in_array($addon['title'], $lastHashArray))
254
+ continue;
255
+ ?>
256
+ <div style="display:inline-block; min-width:20%; 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=wpdiscuz_addons_page') ?>" style="color:#444; text-decoration:none;" title="<?php _e('Go to wpDiscuz Addons subMenu'); ?>"><?php echo $addon['title']; ?></a></div>
257
+ <?php
258
+ }
259
+ ?>
260
  <div style="clear:both;"></div>
261
  </div>
262
  <p>&nbsp;&nbsp;&nbsp;<a href="<?php echo admin_url('edit-comments.php?page=wpdiscuz_addons_page') ?>"><?php _e('Go to wpDiscuz Addons subMenu'); ?> &raquo;</a></p>
284
  $hash = $viewed;
285
  return $hash;
286
  }
287
+
288
+ public function refreshAddonPage() {
289
+ $lastHash = get_option('wpdiscuz-addon-note-dismissed');
290
  $currentHash = $this->addonHash();
291
  if ($lastHash != $currentHash) {
292
+ ?>
293
+ <script language="javascript">jQuery(document).ready(function () {
294
+ location.reload();
295
+ });</script>
296
  <?php
297
+ }
298
+ }
299
 
300
  }
options/class.WpdiscuzOptionsSerialized.php CHANGED
@@ -9,6 +9,14 @@ class WpdiscuzOptionsSerialized {
9
  * Default Value - Post
10
  */
11
  public $postTypes = array('post');
 
 
 
 
 
 
 
 
12
 
13
  /**
14
  * Type - Radio Button
@@ -407,6 +415,14 @@ class WpdiscuzOptionsSerialized {
407
  * Default Value - Unchecked
408
  */
409
  public $showHideCommentLink;
 
 
 
 
 
 
 
 
410
 
411
  /**
412
  * Type - Input
@@ -458,6 +474,7 @@ class WpdiscuzOptionsSerialized {
458
  public function initOptions($serialize_options) {
459
  $options = maybe_unserialize($serialize_options);
460
  $this->postTypes = isset($options['wc_post_types']) ? $options['wc_post_types'] : array('post');
 
461
  $this->commentListUpdateType = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
462
  $this->commentListUpdateTimer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
463
  $this->liveUpdateGuests = isset($options['wc_live_update_guests']) ? $options['wc_live_update_guests'] : 1;
@@ -504,6 +521,7 @@ class WpdiscuzOptionsSerialized {
504
  $this->commentTextMaxLength = isset($options['wc_comment_text_max_length']) ? $options['wc_comment_text_max_length'] : '';
505
  $this->commentReadMoreLimit = isset($options['commentWordsLimit']) ? $options['commentWordsLimit'] : 100;
506
  $this->showHideCommentLink = isset($options['showHideCommentLink']) ? $options['showHideCommentLink'] : 0;
 
507
  $this->isCaptchaInSession = isset($options['isCaptchaInSession']) ? $options['isCaptchaInSession'] : 0;
508
  $this->isUserByEmail = isset($options['isUserByEmail']) ? $options['isUserByEmail'] : 0;
509
  $this->commenterNameMinLength = isset($options['commenterNameMinLength']) ? $options['commenterNameMinLength'] : 3;
@@ -610,6 +628,7 @@ class WpdiscuzOptionsSerialized {
610
  'wc_msg_input_min_length' => __('Input is too short', 'wpdiscuz'),
611
  'wc_msg_input_max_length' => __('Input is too long', 'wpdiscuz'),
612
  'wc_read_more' => __('Read more &raquo;', 'wpdiscuz'),
 
613
  'wc_msg_required_fields' => __('Please fill out required fields', 'wpdiscuz'),
614
  'wc_connect_with' => __('Connect with', 'wpdiscuz'),
615
  'wc_subscribed_to' => __('You\'re subscribed to', 'wpdiscuz'),
@@ -620,6 +639,7 @@ class WpdiscuzOptionsSerialized {
620
  public function toArray() {
621
  $options = array(
622
  'wc_post_types' => $this->postTypes,
 
623
  'wc_comment_list_update_type' => $this->commentListUpdateType,
624
  'wc_comment_list_update_timer' => $this->commentListUpdateTimer,
625
  'wc_live_update_guests' => $this->liveUpdateGuests,
@@ -666,6 +686,7 @@ class WpdiscuzOptionsSerialized {
666
  'wc_comment_text_max_length' => $this->commentTextMaxLength,
667
  'commentWordsLimit' => $this->commentReadMoreLimit,
668
  'showHideCommentLink' => $this->showHideCommentLink,
 
669
  'isCaptchaInSession' => $this->isCaptchaInSession,
670
  'isUserByEmail' => $this->isUserByEmail,
671
  'commenterNameMinLength' => $this->commenterNameMinLength,
@@ -681,6 +702,7 @@ class WpdiscuzOptionsSerialized {
681
  public function addOptions() {
682
  $options = array(
683
  'wc_post_types' => $this->postTypes,
 
684
  'wc_comment_list_update_type' => '0',
685
  'wc_comment_list_update_timer' => '30',
686
  'wc_live_update_guests' => '1',
@@ -729,6 +751,7 @@ class WpdiscuzOptionsSerialized {
729
  'wc_comment_text_max_length' => '',
730
  'commentWordsLimit' => '100',
731
  'showHideCommentLink' => '0',
 
732
  'isCaptchaInSession' => '1',
733
  'isUserByEmail' => '0',
734
  'commenterNameMinLength' => '3',
9
  * Default Value - Post
10
  */
11
  public $postTypes = array('post');
12
+
13
+ /**
14
+ * Type - Checkbox
15
+ * Available Values - Checked/Unchecked
16
+ * Description - Enable quick tags
17
+ * Default Value - Unchecked
18
+ */
19
+ public $isQuickTagsEnabled;
20
 
21
  /**
22
  * Type - Radio Button
415
  * Default Value - Unchecked
416
  */
417
  public $showHideCommentLink;
418
+
419
+ /**
420
+ * Type - Checkbox
421
+ * Available Values - Checked/Unchecked
422
+ * Description - Enable automatic image URL to image HTML conversion
423
+ * Default Value - Checked
424
+ */
425
+ public $enableImageConversion;
426
 
427
  /**
428
  * Type - Input
474
  public function initOptions($serialize_options) {
475
  $options = maybe_unserialize($serialize_options);
476
  $this->postTypes = isset($options['wc_post_types']) ? $options['wc_post_types'] : array('post');
477
+ $this->isQuickTagsEnabled = isset($options['wc_quick_tags']) ? $options['wc_quick_tags'] : 0;
478
  $this->commentListUpdateType = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
479
  $this->commentListUpdateTimer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
480
  $this->liveUpdateGuests = isset($options['wc_live_update_guests']) ? $options['wc_live_update_guests'] : 1;
521
  $this->commentTextMaxLength = isset($options['wc_comment_text_max_length']) ? $options['wc_comment_text_max_length'] : '';
522
  $this->commentReadMoreLimit = isset($options['commentWordsLimit']) ? $options['commentWordsLimit'] : 100;
523
  $this->showHideCommentLink = isset($options['showHideCommentLink']) ? $options['showHideCommentLink'] : 0;
524
+ $this->enableImageConversion = isset($options['enableImageConversion']) ? $options['enableImageConversion'] : 1;
525
  $this->isCaptchaInSession = isset($options['isCaptchaInSession']) ? $options['isCaptchaInSession'] : 0;
526
  $this->isUserByEmail = isset($options['isUserByEmail']) ? $options['isUserByEmail'] : 0;
527
  $this->commenterNameMinLength = isset($options['commenterNameMinLength']) ? $options['commenterNameMinLength'] : 3;
628
  'wc_msg_input_min_length' => __('Input is too short', 'wpdiscuz'),
629
  'wc_msg_input_max_length' => __('Input is too long', 'wpdiscuz'),
630
  'wc_read_more' => __('Read more &raquo;', 'wpdiscuz'),
631
+ 'wc_anonymous' => __('Anonymous', 'wpdiscuz'),
632
  'wc_msg_required_fields' => __('Please fill out required fields', 'wpdiscuz'),
633
  'wc_connect_with' => __('Connect with', 'wpdiscuz'),
634
  'wc_subscribed_to' => __('You\'re subscribed to', 'wpdiscuz'),
639
  public function toArray() {
640
  $options = array(
641
  'wc_post_types' => $this->postTypes,
642
+ 'wc_quick_tags' => $this->isQuickTagsEnabled,
643
  'wc_comment_list_update_type' => $this->commentListUpdateType,
644
  'wc_comment_list_update_timer' => $this->commentListUpdateTimer,
645
  'wc_live_update_guests' => $this->liveUpdateGuests,
686
  'wc_comment_text_max_length' => $this->commentTextMaxLength,
687
  'commentWordsLimit' => $this->commentReadMoreLimit,
688
  'showHideCommentLink' => $this->showHideCommentLink,
689
+ 'enableImageConversion' => $this->enableImageConversion,
690
  'isCaptchaInSession' => $this->isCaptchaInSession,
691
  'isUserByEmail' => $this->isUserByEmail,
692
  'commenterNameMinLength' => $this->commenterNameMinLength,
702
  public function addOptions() {
703
  $options = array(
704
  'wc_post_types' => $this->postTypes,
705
+ 'wc_quick_tags' => '0',
706
  'wc_comment_list_update_type' => '0',
707
  'wc_comment_list_update_timer' => '30',
708
  'wc_live_update_guests' => '1',
751
  'wc_comment_text_max_length' => '',
752
  'commentWordsLimit' => '100',
753
  'showHideCommentLink' => '0',
754
+ 'enableImageConversion' => '1',
755
  'isCaptchaInSession' => '1',
756
  'isUserByEmail' => '0',
757
  'commenterNameMinLength' => '3',
options/html-addons.php CHANGED
@@ -13,14 +13,15 @@
13
  <tr>
14
  <th style="font-size:16px; padding-bottom:15px;"><strong>wpDiscuz Add-ons</strong></th>
15
  <th style="font-size:16px; padding-bottom:15px; width:205px; text-align:center; border-bottom:1px solid #008EC2;"><a href="http://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Addons Support Forum</a></th>
16
- <th style="font-size:16px; padding-bottom:15px; width:175px; text-align:center; border-bottom:1px solid #008EC2;"><a href="http://gvectors.com/migrate-to-wpdiscuz/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Comments Migration</a></th>
17
  </tr>
18
  </thead>
19
  <tr valign="top">
20
- <td colspan="3" style="background:#FFF; text-align:left; font-size:13px;">
21
- We've released the initial wpDiscuz 1.0.0 version on 30 November 2014.
22
- After one year and one month of hard non-profit work we've decided to create paid add-ons to get some funds for future free wpDiscuz development.
23
- wpDiscuz add-ons are also premium level extensions and those are also being actively developed.<br />
 
 
24
  <p style="font-size:10px; color:#B1B1B1; font-style:italic; text-align:right; line-height:12px; padding-top:6px; margin:0px;">
25
  Thank you!<br/> Sincerely yours,<br/>
26
  gVectors Team&nbsp;
@@ -70,11 +71,5 @@
70
  <div style="clear:both;"></div>
71
  <h3>&nbsp;</h3>
72
  <hr />
73
- <h3>Coming very soon</h3>
74
- <ul style="list-style:circle; margin-left:20px;">
75
- <li>wpDiscuz Widgets</li>
76
- <li>wpDiscuz Quick Tags (free built-in)</li>
77
- <li>wpDiscuz Comment Front-end Moderation</li>
78
- </ul>
79
 
80
  </div>
13
  <tr>
14
  <th style="font-size:16px; padding-bottom:15px;"><strong>wpDiscuz Add-ons</strong></th>
15
  <th style="font-size:16px; padding-bottom:15px; width:205px; text-align:center; border-bottom:1px solid #008EC2;"><a href="http://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Addons Support Forum</a></th>
 
16
  </tr>
17
  </thead>
18
  <tr valign="top">
19
+ <td colspan="2" style="background:#FFF; text-align:left; font-size:13px;">
20
+ All wpDiscuz addons are being developed by wpDiscuz developers at gVectors Team, those are very solid premium level extensions and come with premium support.
21
+ These addons help us to keep top level development of the free wpDiscuz plugin. All essential and even dozens of extra-cool features are already available for free in core wpDiscuz.
22
+ There will never be any limits, any pro and paid versions for wpDiscuz. We have another dozens of awesome features in our to-do list which will also be added for free in future releases.
23
+ So the free wpDiscuz development always stays on the first priority and wpDiscuz is being extended with new free functions and features even faster than before.
24
+ <br />
25
  <p style="font-size:10px; color:#B1B1B1; font-style:italic; text-align:right; line-height:12px; padding-top:6px; margin:0px;">
26
  Thank you!<br/> Sincerely yours,<br/>
27
  gVectors Team&nbsp;
71
  <div style="clear:both;"></div>
72
  <h3>&nbsp;</h3>
73
  <hr />
 
 
 
 
 
 
74
 
75
  </div>
options/html-options.php CHANGED
@@ -5,24 +5,16 @@
5
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz General Settings', 'wpdiscuz'); ?></h1>
6
  <br style="clear:both" />
7
  <?php do_action('wpdiscuz_option_page');?>
8
- <table width="100%" border="0" cellspacing="1" class="widefat">
9
  <tr>
10
- <td valign="top" style="padding:10px;">
11
- <table width="100%" border="0" cellspacing="1">
12
- <thead>
13
  <tr>
14
- <th style="font-size:16px;"><strong>Like wpDiscuz?</strong> <br /><span style="font-size:14px">We really need your reviews!</span></th>
15
- <th style="font-size:16px; width:135px; text-align:center; border-bottom:1px solid #008EC2;"><a href="http://wpdiscuz.com/wpdiscuz-documentation/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Documentation</a></th>
16
- <th style="font-size:16px; width:75px; text-align:center; border-bottom:1px solid #008EC2;"><a href="http://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Support</a></th>
 
17
  </tr>
18
- </thead>
19
- <tr valign="top">
20
- <td colspan="3" style="background:#FFF; text-align:left; font-size:13px;">
21
- We do our best to make wpDiscuz the best self-hosted comment plugin for Wordpress. Thousands users are currently satisfied with wpDiscuz but only about 1% of them give us 5 start rating.
22
- However we have a very few users who for some very specific reasons are not satisfied and they are very active in decreasing wpDiscuz rating.
23
- Please help us keep plugin rating high, encouraging us to develop and maintain this plugin. Take a one minute to leave <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" title="Go to wpDiscuz Reviews section on Wordpress.org"><img src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/gc/5s.png'); ?>" border="0" align="absmiddle" /></a> star review on <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5">Wordpress.org</a>. Thank You!
24
- </td>
25
- </tr>
26
  </table>
27
  </td>
28
  </tr>
5
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz General Settings', 'wpdiscuz'); ?></h1>
6
  <br style="clear:both" />
7
  <?php do_action('wpdiscuz_option_page');?>
8
+ <table width="100%" border="0" cellspacing="1" class="widefat" style="background-color:#F9F9F9;">
9
  <tr>
10
+ <td valign="top" style="padding:3px;">
11
+ <table width="100%" border="0" cellspacing="2">
 
12
  <tr>
13
+ <th style="font-size:16px;"><a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" target="_blank" title="We'd greatly appreciate your feedback on WordPress.org">Like wpDiscuz?</a></th>
14
+ <th style="font-size:16px; width:135px; text-align:center;"><a href="http://wpdiscuz.com/wpdiscuz-documentation/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Documentation</a></th>
15
+ <th style="font-size:16px; width:75px; text-align:center;"><a href="http://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Support</a></th>
16
+ <th style="font-size:16px; width:75px; text-align:center;"><a href="http://wpdiscuz.com/addons/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank">Addons</a></th>
17
  </tr>
 
 
 
 
 
 
 
 
18
  </table>
19
  </td>
20
  </tr>
options/options-layouts/settings-general.php CHANGED
@@ -27,6 +27,16 @@ if (!defined('ABSPATH')) {
27
  ?>
28
  </td>
29
  </tr>
 
 
 
 
 
 
 
 
 
 
30
  <tr valign="top">
31
  <th scope="row">
32
  <?php _e('Use guest email to detect registered account', 'wpdiscuz'); ?>
27
  ?>
28
  </td>
29
  </tr>
30
+ <tr valign="top">
31
+ <th scope="row">
32
+ <?php _e('Enable Quicktags', 'wpdiscuz'); ?>
33
+ </th>
34
+ <td>
35
+ <label for="wc_quick_tags">
36
+ <input type="checkbox" <?php checked($this->optionsSerialized->isQuickTagsEnabled == 1) ?> value="1" name="wc_quick_tags" id="wc_quick_tags" />
37
+ </label>
38
+ </td>
39
+ </tr>
40
  <tr valign="top">
41
  <th scope="row">
42
  <?php _e('Use guest email to detect registered account', 'wpdiscuz'); ?>
options/options-layouts/settings-show-hide.php CHANGED
@@ -175,6 +175,16 @@ if (!defined('ABSPATH')) {
175
  </label>
176
  </td>
177
  </tr>
 
 
 
 
 
 
 
 
 
 
178
  </tbody>
179
  </table>
180
  </div>
175
  </label>
176
  </td>
177
  </tr>
178
+ <tr valign="top">
179
+ <th scope="row">
180
+ <?php _e('Enable automatic image URL to image HTML conversion', 'wpdiscuz'); ?>
181
+ </th>
182
+ <td>
183
+ <label for="enableImageConversion">
184
+ <input type="checkbox" <?php checked($this->optionsSerialized->enableImageConversion == 1) ?> value="1" name="enableImageConversion" id="enableImageConversion" />
185
+ </label>
186
+ </td>
187
+ </tr>
188
  </tbody>
189
  </table>
190
  </div>
options/options-layouts/settings-social.php CHANGED
@@ -1,47 +1,87 @@
1
- <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
5
- /* 1. WordPress Social Login
 
6
  2. Social Login
7
  3 Super Socializer
8
  4. Social Connect
9
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  add_thickbox();
11
- if (function_exists('wsl_render_auth_widget_in_comment_form')) {
12
- $wc_social_plugin = '<tr valign="top"><td>WordPress Social Login</td><td><a href="options-general.php?page=wordpress-social-login" class="button button-primary">' . __('Settings', 'default') . '</a></td></tr>';
13
- } else if (function_exists('the_champ_login_button')) {
14
- $wc_social_plugin = '<tr valign="top"><td>Super Socializer</td><td><a href="admin.php?page=super-socializer" class="button button-primary">' . __('Settings', 'default') . '</a></td></tr>';
15
- } else if (function_exists('sc_render_comment_form_social_connect')) {
16
- $wc_social_plugin = '<tr valign="top"><td>Social Connect</td><td><a href="options-general.php?page=social-connect-id" class="button button-primary">' . __('Settings', 'default') . '</a></td></tr>';
17
- } else if (function_exists('oa_social_login_render_login_form_comments')) {
18
- $wc_social_plugin = '<tr valign="top"><td>Social Login</td><td><a href="admin.php?page=oa_social_login_setup" class="button button-primary">' . __('Settings', 'default') . '</a></td></tr>';
19
- }else {
20
- $plugins_directory = ABSPATH . 'wp-content/plugins/';
21
  // wordpress social login
22
- if (file_exists($plugins_directory . 'wordpress-social-login/')) {
23
  $wc_wordpress_social_login_text = __('Activate', 'wpdiscuz');
24
- $wc_wordpress_social_login_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=wordpress-social-login';
25
  $wc_wordpress_social_login_thickbox = '';
26
  } else {
27
  $wc_wordpress_social_login_text = __('View details/Install', 'wpdiscuz');
28
  $wc_wordpress_social_login_link = 'plugin-install.php?tab=plugin-information&plugin=wordpress-social-login&TB_iframe=true&width=772&height=342';
29
  $wc_wordpress_social_login_thickbox = 'thickbox';
30
  }
 
 
 
 
 
 
 
 
 
 
 
 
31
  // super socializer
32
- if (file_exists($plugins_directory . 'super-socializer/')) {
33
  $wc_super_socializer_text = __('Activate', 'wpdiscuz');
34
- $wc_super_socializer_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=super-socializer';
35
  $wc_super_socializer_thickbox = '';
36
  } else {
37
  $wc_super_socializer_text = __('View details/Install', 'wpdiscuz');
38
  $wc_super_socializer_link = 'plugin-install.php?tab=plugin-information&plugin=super-socializer&TB_iframe=true&width=772&height=342';
39
  $wc_super_socializer_thickbox = 'thickbox';
40
  }
 
41
  // social connect
42
- if (file_exists($plugins_directory . 'social-connect/')) {
43
  $wc_social_connect_text = __('Activate', 'wpdiscuz');
44
- $wc_social_connect_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=social-connect';
45
  $wc_social_connect_thickbox = '';
46
  } else {
47
  $wc_social_connect_text = __('View details/Install', 'wpdiscuz');
@@ -49,21 +89,10 @@ if (function_exists('wsl_render_auth_widget_in_comment_form')) {
49
  $wc_social_connect_thickbox = 'thickbox';
50
  }
51
 
52
- // social login
53
- if (file_exists($plugins_directory . 'oa-social-login/')) {
54
- $wc_oa_social_login_text = __('Activate', 'wpdiscuz');
55
- $wc_oa_social_login_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=oa-social-login';
56
- $wc_oa_social_login_thickbox = '';
57
- } else {
58
- $wc_oa_social_login_text = __('View details/Install', 'wpdiscuz');
59
- $wc_oa_social_login_link = 'plugin-install.php?tab=plugin-information&plugin=oa-social-login&TB_iframe=true&width=772&height=342';
60
- $wc_oa_social_login_thickbox = 'thickbox';
61
- }
62
-
63
- $wc_social_plugin = '<tr valign="top"><td>WordPress Social Login</td><td><a href="' . $wc_wordpress_social_login_link . '" class="button button-primary ' . $wc_wordpress_social_login_thickbox . '">' . $wc_wordpress_social_login_text . '</a></td></tr>';
64
- $wc_social_plugin .= '<tr valign="top"><td>Super Socializer</td><td><a href="' . $wc_super_socializer_link . '" class="button button-primary ' . $wc_super_socializer_thickbox . '">' . $wc_super_socializer_text . '</a></td></tr>';
65
- $wc_social_plugin .= '<tr valign="top"><td>Social Connect</td><td><a href="' . $wc_social_connect_link . '" class="button button-primary ' . $wc_social_connect_thickbox . '">' . $wc_social_connect_text . '</a></td></tr>';
66
- $wc_social_plugin .= '<tr valign="top"><td>Social Login</td><td><a href="' . $wc_oa_social_login_link . '" class="button button-primary ' . $wc_oa_social_login_thickbox . '">' . $wc_oa_social_login_text . '</a></td></tr>';
67
  }
68
 
69
  if (isset($_GET['wc_social_action'])) {
@@ -71,17 +100,21 @@ if (isset($_GET['wc_social_action'])) {
71
  $wc_activation_redirect_url = '';
72
  $wc_social_plugin_file = '';
73
  switch ($plugin_name) {
74
- case 'wordpress-social-login':
75
- $wc_activation_redirect_url = 'options-general.php?page=wordpress-social-login';
76
- $wc_social_plugin_file = 'wordpress-social-login/wp-social-login.php';
 
 
 
 
77
  break;
78
- case 'super-socializer':
79
- $wc_activation_redirect_url = 'admin.php?page=super-socializer';
80
- $wc_social_plugin_file = 'super-socializer/super_socializer.php';
81
  break;
82
- case 'social-connect':
83
- $wc_activation_redirect_url = 'options-general.php?page=social-connect-id';
84
- $wc_social_plugin_file = 'social-connect/social-connect.php';
85
  break;
86
  }
87
  activate_plugin($wc_social_plugin_file, $wc_activation_redirect_url);
@@ -92,7 +125,7 @@ if (isset($_GET['wc_social_action'])) {
92
  <p style="padding-bottom:10px; padding-left:10px;"><?php _e('You can use one of these most popular Social Login Plugins to allow your visitors login and comment with Facebook, Twitter, Google+, Wordpress, VK, OK and lots of other social network service accounts. All social login buttons will be fully integrated with wpDiscuz comment forms.', 'wpdiscuz'); ?> </p>
93
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
94
  <tbody>
95
- <?php echo $wc_social_plugin; ?>
96
  </tbody>
97
  </table>
98
  </div>
1
+ <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
5
+ /*
6
+ 1. WordPress Social Login
7
  2. Social Login
8
  3 Super Socializer
9
  4. Social Connect
10
  */
11
+
12
+ $pluginsDir = plugins_url();
13
+ $html = '';
14
+ // WordPress Social Login
15
+ $wpSLDirName = 'wordpress-social-login';
16
+ $wpSLFileName = "$wpSLDirName/wp-social-login.php";
17
+ $wpSLDirPath = WP_PLUGIN_DIR . '/' . $wpSLDirName . '/';
18
+ $wpSLOptionsPage = 'options-general.php?page=wordpress-social-login';
19
+
20
+ // Social Login
21
+ $slDirName = 'oa-social-login';
22
+ $slFileName = "$slDirName/oa-social-login.php";
23
+ $slDirPath = WP_PLUGIN_DIR . '/' . $slDirName . '/';
24
+ $slOptionsPage = 'admin.php?page=oa_social_login_setup';
25
+
26
+ // Super Socializer
27
+ $ssDirName = 'super-socializer';
28
+ $ssFileName = "$ssDirName/super_socializer.php";
29
+ $ssDirPath = WP_PLUGIN_DIR . '/' . $ssDirName . '/';
30
+ $ssOptionsPage = 'admin.php?page=heateor-ss-general-options';
31
+
32
+ // Social Connect
33
+ $scDirName = 'social-connect';
34
+ $scFileName = "$scDirName/social-connect.php";
35
+ $scDirPath = WP_PLUGIN_DIR . '/' . $scDirName . '/';
36
+ $scOptionsPage = 'options-general.php?page=social-connect-id';
37
+
38
  add_thickbox();
39
+ if (function_exists('wsl_activate')) {
40
+ $html = "<tr valign='top'><td>WordPress Social Login</td><td><a href='$wpSLOptionsPage' class='button button-primary'>" . __('Settings', 'default') . "</a></td></tr>";
41
+ } else if (function_exists('oa_social_login_activate')) {
42
+ $html = "<tr valign='top'><td>Social Login</td><td><a href='$slOptionsPage' class='button button-primary'>" . __('Settings', 'default') . "</a></td></tr>";
43
+ } else if (function_exists('the_champ_init')) {
44
+ $html = "<tr valign='top'><td>Super Socializer</td><td><a href='$ssOptionsPage' class='button button-primary'>" . __('Settings', 'default') . "</a></td></tr>";
45
+ } else if (function_exists('sc_activate')) {
46
+ $html = "<tr valign='top'><td>Social Connect</td><td><a href='$scOptionsPage' class='button button-primary'>" . __('Settings', 'default') . "</a></td></tr>";
47
+ } else {
 
48
  // wordpress social login
49
+ if (file_exists($wpSLDirPath)) {
50
  $wc_wordpress_social_login_text = __('Activate', 'wpdiscuz');
51
+ $wc_wordpress_social_login_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=' . $wpSLDirName;
52
  $wc_wordpress_social_login_thickbox = '';
53
  } else {
54
  $wc_wordpress_social_login_text = __('View details/Install', 'wpdiscuz');
55
  $wc_wordpress_social_login_link = 'plugin-install.php?tab=plugin-information&plugin=wordpress-social-login&TB_iframe=true&width=772&height=342';
56
  $wc_wordpress_social_login_thickbox = 'thickbox';
57
  }
58
+
59
+ // social login
60
+ if (file_exists($slDirPath)) {
61
+ $wc_oa_social_login_text = __('Activate', 'wpdiscuz');
62
+ $wc_oa_social_login_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=' . $slDirName;
63
+ $wc_oa_social_login_thickbox = '';
64
+ } else {
65
+ $wc_oa_social_login_text = __('View details/Install', 'wpdiscuz');
66
+ $wc_oa_social_login_link = 'plugin-install.php?tab=plugin-information&plugin=oa-social-login&TB_iframe=true&width=772&height=342';
67
+ $wc_oa_social_login_thickbox = 'thickbox';
68
+ }
69
+
70
  // super socializer
71
+ if (file_exists($ssDirPath)) {
72
  $wc_super_socializer_text = __('Activate', 'wpdiscuz');
73
+ $wc_super_socializer_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=' . $ssDirName;
74
  $wc_super_socializer_thickbox = '';
75
  } else {
76
  $wc_super_socializer_text = __('View details/Install', 'wpdiscuz');
77
  $wc_super_socializer_link = 'plugin-install.php?tab=plugin-information&plugin=super-socializer&TB_iframe=true&width=772&height=342';
78
  $wc_super_socializer_thickbox = 'thickbox';
79
  }
80
+
81
  // social connect
82
+ if (file_exists($scDirPath)) {
83
  $wc_social_connect_text = __('Activate', 'wpdiscuz');
84
+ $wc_social_connect_link = 'edit-comments.php?page=wpdiscuz_options_page&wc_social_action=' . $scDirName;
85
  $wc_social_connect_thickbox = '';
86
  } else {
87
  $wc_social_connect_text = __('View details/Install', 'wpdiscuz');
89
  $wc_social_connect_thickbox = 'thickbox';
90
  }
91
 
92
+ $html = '<tr valign="top"><td>WordPress Social Login</td><td><a href="' . $wc_wordpress_social_login_link . '" class="button button-primary ' . $wc_wordpress_social_login_thickbox . '">' . $wc_wordpress_social_login_text . '</a></td></tr>';
93
+ $html .= '<tr valign="top"><td>Social Login</td><td><a href="' . $wc_oa_social_login_link . '" class="button button-primary ' . $wc_oa_social_login_thickbox . '">' . $wc_oa_social_login_text . '</a></td></tr>';
94
+ $html .= '<tr valign="top"><td>Super Socializer</td><td><a href="' . $wc_super_socializer_link . '" class="button button-primary ' . $wc_super_socializer_thickbox . '">' . $wc_super_socializer_text . '</a></td></tr>';
95
+ $html .= '<tr valign="top"><td>Social Connect</td><td><a href="' . $wc_social_connect_link . '" class="button button-primary ' . $wc_social_connect_thickbox . '">' . $wc_social_connect_text . '</a></td></tr>';
 
 
 
 
 
 
 
 
 
 
 
96
  }
97
 
98
  if (isset($_GET['wc_social_action'])) {
100
  $wc_activation_redirect_url = '';
101
  $wc_social_plugin_file = '';
102
  switch ($plugin_name) {
103
+ case $wpSLDirName:
104
+ $wc_activation_redirect_url = $wpSLOptionsPage;
105
+ $wc_social_plugin_file = $wpSLFileName;
106
+ break;
107
+ case $slDirName:
108
+ $wc_activation_redirect_url = $slOptionsPage;
109
+ $wc_social_plugin_file = $slFileName;
110
  break;
111
+ case $ssDirName:
112
+ $wc_activation_redirect_url = $ssOptionsPage;
113
+ $wc_social_plugin_file = $ssFileName;
114
  break;
115
+ case $scDirName:
116
+ $wc_activation_redirect_url = $scOptionsPage;
117
+ $wc_social_plugin_file = $scFileName;
118
  break;
119
  }
120
  activate_plugin($wc_social_plugin_file, $wc_activation_redirect_url);
125
  <p style="padding-bottom:10px; padding-left:10px;"><?php _e('You can use one of these most popular Social Login Plugins to allow your visitors login and comment with Facebook, Twitter, Google+, Wordpress, VK, OK and lots of other social network service accounts. All social login buttons will be fully integrated with wpDiscuz comment forms.', 'wpdiscuz'); ?> </p>
126
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
127
  <tbody>
128
+ <?php echo $html; ?>
129
  </tbody>
130
  </table>
131
  </div>
options/phrases-layouts/phrases-comment.php CHANGED
@@ -183,6 +183,16 @@ if (!defined('ABSPATH')) {
183
  </label>
184
  </td>
185
  </tr>
 
 
 
 
 
 
 
 
 
 
186
  </tbody>
187
  </table>
188
  </div>
183
  </label>
184
  </td>
185
  </tr>
186
+ <tr valign="top">
187
+ <th scope="row">
188
+ <?php _e('Anonymous commenter name', 'wpdiscuz'); ?>
189
+ </th>
190
+ <td colspan="3">
191
+ <label for="wc_anonymous">
192
+ <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_anonymous']) ? $this->optionsSerialized->phrases['wc_anonymous'] : __('Anonymous', 'wpdisucz'); ?>" name="wc_anonymous" id="wc_anonymous" />
193
+ </label>
194
+ </td>
195
+ </tr>
196
  </tbody>
197
  </table>
198
  </div>
readme.txt CHANGED
@@ -1,23 +1,24 @@
1
- === wpDiscuz - Supercharged native comments ===
2
  Contributors: gVectors Team
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UC44WQM5XJFPA
4
  Tags: wordpress comments, ajax comments, ajax, live update, live comments, realtime chat, chat, realtime commenting, Lazy load, Lazy load comments, mobile commenting, post comments, advanced comment, comments box, community, discussion, discuss, disqus, discuz, Disqus alternative, Livefyre alternative, Jetpack comments alternative, Facebook comments alternative, comment form, commenting, reply, comments, better comments, discussions, comment notifications, comment template, activity, comment author, comment system, redirect, comment redirect, first commenter, email commenting, social login, boost comments, native comments
5
  Requires at least: 3.8.0
6
  Tested up to: 4.4.2
7
- Stable tag: 3.2.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- New interactive, AJAX realtime comment system. Designed to supercharge Wordpress native comments. Super fast and responsive with dozens of features.
12
 
13
  == Description ==
14
 
15
- New interactive, AJAX realtime comment system. Designed to supercharge Wordpress native comments. Super fast and responsive with dozens features. This is the best Disqus alternative, if you want to keep your comments in your database. wpDiscuz also the best alternative to Livefyre, Jetpack and Facebook comments.
16
 
17
  wpDiscuz 3 and all future 3.x versions have been named as Supercharged. It's super fast and perfectly optimized. wpDiscuz 3 version is dozens of times faster than 1.x and 2.x versions. The Supercharged version supports millions of comments per post, so the number of comments doesn't matter anymore. You can use wpDiscuz for extremely large and active websites without any worry.
18
 
19
  * Support Forum: http://gvectors.com/forum/
20
  * wpDiscuz Demo: http://wpdiscuz.com/wpdiscuz-3-0-0/
 
21
  * wpDiscuz Documentation: http://wpdiscuz.com/wpdiscuz-documentation/
22
 
23
  Integration with User Profile Plugins - Please read the [Integrations] Tab in wpDiscuz Settings admin page
@@ -58,6 +59,7 @@ Integration with User Profile Plugins - Please read the [Integrations] Tab in wp
58
  * | Comment voting with positive and negative result
59
  * | Smart voting system with tracking by logged-in user and cookies
60
  * | Post sharing options: Facebook, Twitter and Google+
 
61
 
62
 
63
  = Add-ons =
@@ -66,6 +68,9 @@ Integration with User Profile Plugins - Please read the [Integrations] Tab in wp
66
  * | [wpDiscuz - Media Uploader](http://gvectors.com/product/wpdiscuz-media-uploader/)
67
  * | [wpDiscuz - Google ReCaptcha](http://gvectors.com/product/wpdiscuz-recaptcha/)
68
  * | [wpDiscuz - myCRED Integration](http://gvectors.com/product/wpdiscuz-mycred/)
 
 
 
69
  * | [wpDiscuz - Comment Censure](http://gvectors.com/product/comment-censure/)
70
 
71
 
@@ -108,11 +113,6 @@ Support Forum: http://gvectors.com/forum/
108
  * ANSWER: wpDiscuz doesn't affect any data. You can install and uninstall whenever you want without any worries.
109
 
110
 
111
- = Please Check the Following wpDiscuz Resources =
112
-
113
- * Support Forum: <http://gvectors.com/forum/>
114
- * Plugin Page: <http://wpdiscuz.com/wpdiscuz-3-0-0/>
115
-
116
  == Screenshots ==
117
 
118
  1. wpDiscuz comment list for non-logged in user Screenshot #1
@@ -128,6 +128,25 @@ Support Forum: http://gvectors.com/forum/
128
 
129
  == Changelog ==
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  = 3.2.6 =
132
 
133
  * Added: Text character countdown if the max limit is set by admin
@@ -144,11 +163,6 @@ Support Forum: http://gvectors.com/forum/
144
  * New Addon: [wpDiscuz - Emoticons](http://gvectors.com/product/wpdiscuz-emoticons/)
145
  * New Addon: [wpDiscuz - Media Uploader](http://gvectors.com/product/wpdiscuz-media-uploader/)
146
 
147
- IMPORTANT:
148
-
149
- - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
150
- - If you have a Cache Plugin and CDN, please delete all caches and purge CDN after wpDiscuz update.
151
-
152
  = 3.2.5 =
153
 
154
  * Fixed Bug: ERROR: Invalid field entry
1
+ === wpDiscuz - supercharged native comments ===
2
  Contributors: gVectors Team
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UC44WQM5XJFPA
4
  Tags: wordpress comments, ajax comments, ajax, live update, live comments, realtime chat, chat, realtime commenting, Lazy load, Lazy load comments, mobile commenting, post comments, advanced comment, comments box, community, discussion, discuss, disqus, discuz, Disqus alternative, Livefyre alternative, Jetpack comments alternative, Facebook comments alternative, comment form, commenting, reply, comments, better comments, discussions, comment notifications, comment template, activity, comment author, comment system, redirect, comment redirect, first commenter, email commenting, social login, boost comments, native comments
5
  Requires at least: 3.8.0
6
  Tested up to: 4.4.2
7
+ Stable tag: 3.2.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ AJAX realtime comment system. Designed to supercharge Wordpress native comments. Super fast and responsive with dozens of features.
12
 
13
  == Description ==
14
 
15
+ AJAX realtime comment system. Designed to supercharge Wordpress native comments. Super fast and responsive with dozens features. This is the best Disqus alternative, if you want to keep your comments in your database. wpDiscuz also the best alternative to Livefyre, Jetpack and Facebook comments.
16
 
17
  wpDiscuz 3 and all future 3.x versions have been named as Supercharged. It's super fast and perfectly optimized. wpDiscuz 3 version is dozens of times faster than 1.x and 2.x versions. The Supercharged version supports millions of comments per post, so the number of comments doesn't matter anymore. You can use wpDiscuz for extremely large and active websites without any worry.
18
 
19
  * Support Forum: http://gvectors.com/forum/
20
  * wpDiscuz Demo: http://wpdiscuz.com/wpdiscuz-3-0-0/
21
+ * wpDiscuz Addons: http://wpdiscuz.com/addons/
22
  * wpDiscuz Documentation: http://wpdiscuz.com/wpdiscuz-documentation/
23
 
24
  Integration with User Profile Plugins - Please read the [Integrations] Tab in wpDiscuz Settings admin page
59
  * | Comment voting with positive and negative result
60
  * | Smart voting system with tracking by logged-in user and cookies
61
  * | Post sharing options: Facebook, Twitter and Google+
62
+ * | Quick Tags on comment form textarea
63
 
64
 
65
  = Add-ons =
68
  * | [wpDiscuz - Media Uploader](http://gvectors.com/product/wpdiscuz-media-uploader/)
69
  * | [wpDiscuz - Google ReCaptcha](http://gvectors.com/product/wpdiscuz-recaptcha/)
70
  * | [wpDiscuz - myCRED Integration](http://gvectors.com/product/wpdiscuz-mycred/)
71
+ * | [wpDiscuz - Widgets](http://gvectors.com/product/wpdiscuz-widgets/)
72
+ * | [wpDiscuz - Front-end Moderation](http://gvectors.com/product/wpdiscuz-frontend-moderation/)
73
+ * | [wpDiscuz - Comment Search](http://gvectors.com/product/wpdiscuz-comment-search/)
74
  * | [wpDiscuz - Comment Censure](http://gvectors.com/product/comment-censure/)
75
 
76
 
113
  * ANSWER: wpDiscuz doesn't affect any data. You can install and uninstall whenever you want without any worries.
114
 
115
 
 
 
 
 
 
116
  == Screenshots ==
117
 
118
  1. wpDiscuz comment list for non-logged in user Screenshot #1
128
 
129
  == Changelog ==
130
 
131
+ = 3.2.7 =
132
+
133
+ * Added: Basic Comment Quicktags (using WordPress quicktags plugin)
134
+ * Added: Option to change Anonymous commenter name
135
+ * Added: Option to turn on/off image URL to image HTML conversion
136
+ * Added: Changed image icons to Font-Awesome versions
137
+ * Fixed Bug: Specific avatar and no-label for Trackbacks and Pingbacks
138
+ * Fixed Bug: Alt attribute for all icons, images and avatars
139
+ * Fixed Bug: No more vulnerability: #1961704.
140
+ * Fixed Bug: JavaScript error "undefined index isShowSubscribeWrapper"
141
+ * Fixed Bug: Super Socializer setting page error (You do not have sufficient permissions to access this page).
142
+ * Fixed Bug: Single comment tree by anchor issue
143
+ * New Addons: Widgets, Search, Front-end Moderation.
144
+
145
+ IMPORTANT:
146
+
147
+ - If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
148
+ - If you have a Cache Plugin and CDN, please delete all caches and purge CDN after wpDiscuz update.
149
+
150
  = 3.2.6 =
151
 
152
  * Added: Text character countdown if the max limit is set by admin
163
  * New Addon: [wpDiscuz - Emoticons](http://gvectors.com/product/wpdiscuz-emoticons/)
164
  * New Addon: [wpDiscuz - Media Uploader](http://gvectors.com/product/wpdiscuz-media-uploader/)
165
 
 
 
 
 
 
166
  = 3.2.5 =
167
 
168
  * Fixed Bug: ERROR: Invalid field entry
templates/comment/class.WpdiscuzWalker.php CHANGED
@@ -23,14 +23,16 @@ class WpdiscuzWalker extends Walker_Comment {
23
  $GLOBALS['comment_depth'] = $depth;
24
  $GLOBALS['comment'] = $comment;
25
  // BEGIN
26
- $currentUser = $args['current_user'];
27
  $depth = isset($args['addComment']) ? $args['addComment'] : $depth;
28
  $uniqueId = $comment->comment_ID . '_' . $comment->comment_parent;
29
  $commentContent = $comment->comment_content;
30
  $commentWrapperClass = '';
31
  $commentContent = wp_kses($commentContent, $this->helper->wc_allowed_tags);
32
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
33
- $commentContent = $this->helper->makeClickable($commentContent);
 
 
34
  $commentContent = apply_filters('comment_text', $commentContent, $comment, $args);
35
  if ($this->optionsSerialized->commentReadMoreLimit && count(explode(' ', strip_tags($commentContent))) > $this->optionsSerialized->commentReadMoreLimit) {
36
  $commentContent = $this->helper->getCommentExcerpt($commentContent, $uniqueId);
@@ -85,7 +87,7 @@ class WpdiscuzWalker extends Walker_Comment {
85
  }
86
  }
87
  } else {
88
- $authorName = $comment->comment_author ? $comment->comment_author : __('Anonymous', 'wpdiscuz');
89
  $authorAvatarField = $comment->comment_author_email;
90
  $profileUrl = '';
91
  $authorClass = 'wc-blog-guest';
@@ -115,7 +117,11 @@ class WpdiscuzWalker extends Walker_Comment {
115
  $authorName = apply_filters('wpdiscuz_comment_author', $authorName, $comment);
116
  $profileUrl = apply_filters('wpdiscuz_profile_url', $profileUrl, $user);
117
  $authorAvatarField = apply_filters('wpdiscuz_author_avatar_field', $authorAvatarField, $comment, $user, $profileUrl);
118
- $authorAvatar = $this->optionsSerialized->wordpressShowAvatars ? get_avatar($authorAvatarField) : '';
 
 
 
 
119
 
120
  if ($profileUrl) {
121
  $commentAuthorAvatar = "<a href='$profileUrl' target='_blank'>$authorAvatar</a>";
@@ -129,7 +135,7 @@ class WpdiscuzWalker extends Walker_Comment {
129
  $authorName = "<a rel='nofollow' href='$profileUrl' target='_blank'>$authorName</a>";
130
  }
131
 
132
- if (!$this->optionsSerialized->isGuestCanVote && !$currentUser->ID) {
133
  $voteClass = ' wc_tooltipster';
134
  $voteTitleText = $this->optionsSerialized->phrases['wc_login_to_vote'];
135
  $voteUp = $voteTitleText;
@@ -145,7 +151,7 @@ class WpdiscuzWalker extends Walker_Comment {
145
  $output .= '<div id="wc-comm-' . $uniqueId . '" class="' . $commentWrapperClass . ' ' . $authorClass . ' wc_comment_level-' . $depth . '">';
146
  if ($this->optionsSerialized->wordpressShowAvatars) {
147
  $output .= '<div class="wc-comment-left">' . $commentAuthorAvatar;
148
- if (!$this->optionsSerialized->authorTitlesShowHide) {
149
  $output .= '<div class="' . $authorClass . ' wc-comment-label">' . $author_title . '</div>';
150
  }
151
  $afterLabelHtml = apply_filters('wpdiscuz_after_label', $afterLabelHtml = '', $comment);
@@ -165,30 +171,37 @@ class WpdiscuzWalker extends Walker_Comment {
165
  $output .= '</div>';
166
  $output .= '<div class="wc-comment-text">' . $commentContent . '</div>';
167
  $output = apply_filters('wpdiscuz_after_comment_text', $output, $comment);
168
- if ($comment->comment_approved == '1') {
169
  $output .= '<div class="wc-comment-footer">';
170
  if (!$this->optionsSerialized->votingButtonsShowHide) {
171
  $voteCount = isset($comment->meta_value) ? $comment->meta_value : get_comment_meta($comment->comment_ID, WpdiscuzCore::META_KEY_VOTES, true);
172
- $output .= '<div class="wc-vote-result">' . $voteCount . '</div>';
173
- $output = apply_filters('wpdiscuz_voters', $output, $uniqueId, $comment, $user, $currentUser);
174
- $output .= ' <span class="wc-vote-link wc-up ' . $voteClass . '" title="' . $voteUp . '"><img src="' . plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/thumbs-up.png') . '" align="absmiddle" class="wc-vote-img-up" /></span> &nbsp;|&nbsp; <span class="wc-vote-link wc-down ' . $voteClass . '" title="' . $voteDown . '"><img src="' . plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/thumbs-down.png') . '" align="absmiddle" class="wc-vote-img-down" /></span>&nbsp;';
 
 
 
 
 
 
 
175
  }
176
 
177
  if (comments_open($comment->comment_post_ID) && $this->optionsSerialized->wordpressThreadComments) {
178
  if ($this->optionsSerialized->wordpressCommentRegistration) {
179
- if (!$this->optionsSerialized->replyButtonMembersShowHide && $currentUser->ID) {
180
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
181
- } else if (in_array('administrator', $currentUser->roles)) {
182
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
183
  }
184
  } else {
185
  if (!$this->optionsSerialized->replyButtonMembersShowHide && !$this->optionsSerialized->replyButtonGuestsShowHide) {
186
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
187
- } else if (!$this->optionsSerialized->replyButtonMembersShowHide && $currentUser->ID) {
188
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
189
- } else if (!$this->optionsSerialized->replyButtonGuestsShowHide && !$currentUser->ID) {
190
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
191
- } else if (in_array('administrator', $currentUser->roles)) {
192
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
193
  }
194
  }
@@ -213,14 +226,14 @@ class WpdiscuzWalker extends Walker_Comment {
213
  } else {
214
  $isInRange = $this->helper->isContentInRange($commentContent);
215
  $isEditable = $this->optionsSerialized->commentEditableTime == 'unlimit' ? true && $isInRange : $this->helper->isCommentEditable($comment) && $isInRange;
216
- if ($currentUser && $currentUser->ID && $currentUser->ID == $comment->user_id && $isEditable) {
217
  $output .= '<span class="wc_editable_comment">-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_edit_text'] . '</span>';
218
  $output .= '<span class="wc_cancel_edit">-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_comment_edit_cancel_button'] . '</span>';
219
  $output .= '<span class="wc_save_edited_comment" style="display:none;">&nbsp;&nbsp;-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_comment_edit_save_button'] . '</span>';
220
  }
221
  }
222
 
223
- $output = apply_filters('wpdiscuz_comment_buttons', $output, $comment, $user, $currentUser);
224
 
225
  if ($depth < $this->optionsSerialized->wordpressThreadCommentsDepth && $this->optionsSerialized->wordpressThreadComments) {
226
  $output .= '<span class="wc-toggle wpdiscuz-hidden">' . $this->optionsSerialized->phrases['wc_hide_replies_text'] . ' &and;' . '</span>';
23
  $GLOBALS['comment_depth'] = $depth;
24
  $GLOBALS['comment'] = $comment;
25
  // BEGIN
26
+ $current_user = $args['current_user'];
27
  $depth = isset($args['addComment']) ? $args['addComment'] : $depth;
28
  $uniqueId = $comment->comment_ID . '_' . $comment->comment_parent;
29
  $commentContent = $comment->comment_content;
30
  $commentWrapperClass = '';
31
  $commentContent = wp_kses($commentContent, $this->helper->wc_allowed_tags);
32
  $commentContent = apply_filters('wpdiscuz_before_comment_text', $commentContent, $comment);
33
+ if ($this->optionsSerialized->enableImageConversion) {
34
+ $commentContent = $this->helper->makeClickable($commentContent);
35
+ }
36
  $commentContent = apply_filters('comment_text', $commentContent, $comment, $args);
37
  if ($this->optionsSerialized->commentReadMoreLimit && count(explode(' ', strip_tags($commentContent))) > $this->optionsSerialized->commentReadMoreLimit) {
38
  $commentContent = $this->helper->getCommentExcerpt($commentContent, $uniqueId);
87
  }
88
  }
89
  } else {
90
+ $authorName = $comment->comment_author ? $comment->comment_author : $this->optionsSerialized->phrases['wc_anonymous'];
91
  $authorAvatarField = $comment->comment_author_email;
92
  $profileUrl = '';
93
  $authorClass = 'wc-blog-guest';
117
  $authorName = apply_filters('wpdiscuz_comment_author', $authorName, $comment);
118
  $profileUrl = apply_filters('wpdiscuz_profile_url', $profileUrl, $user);
119
  $authorAvatarField = apply_filters('wpdiscuz_author_avatar_field', $authorAvatarField, $comment, $user, $profileUrl);
120
+ $authorAvatar = $this->optionsSerialized->wordpressShowAvatars ? get_avatar($authorAvatarField, 48, '', $authorName) : '';
121
+ $trackOrPingback = $comment->comment_type == 'pingback' || $comment->comment_type == 'trackback' ? true : false;
122
+ if ($trackOrPingback) {
123
+ $authorAvatar = '<img class="avatar avatar-48 photo" width="48" height="48" src="' . plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/trackback.png') . '" alt="trackback">';
124
+ }
125
 
126
  if ($profileUrl) {
127
  $commentAuthorAvatar = "<a href='$profileUrl' target='_blank'>$authorAvatar</a>";
135
  $authorName = "<a rel='nofollow' href='$profileUrl' target='_blank'>$authorName</a>";
136
  }
137
 
138
+ if (!$this->optionsSerialized->isGuestCanVote && !$current_user->ID) {
139
  $voteClass = ' wc_tooltipster';
140
  $voteTitleText = $this->optionsSerialized->phrases['wc_login_to_vote'];
141
  $voteUp = $voteTitleText;
151
  $output .= '<div id="wc-comm-' . $uniqueId . '" class="' . $commentWrapperClass . ' ' . $authorClass . ' wc_comment_level-' . $depth . '">';
152
  if ($this->optionsSerialized->wordpressShowAvatars) {
153
  $output .= '<div class="wc-comment-left">' . $commentAuthorAvatar;
154
+ if (!$this->optionsSerialized->authorTitlesShowHide && !$trackOrPingback) {
155
  $output .= '<div class="' . $authorClass . ' wc-comment-label">' . $author_title . '</div>';
156
  }
157
  $afterLabelHtml = apply_filters('wpdiscuz_after_label', $afterLabelHtml = '', $comment);
171
  $output .= '</div>';
172
  $output .= '<div class="wc-comment-text">' . $commentContent . '</div>';
173
  $output = apply_filters('wpdiscuz_after_comment_text', $output, $comment);
174
+ if (isset($args['comment_status']) && is_array($args['comment_status']) && in_array($comment->comment_approved, $args['comment_status'])) {
175
  $output .= '<div class="wc-comment-footer">';
176
  if (!$this->optionsSerialized->votingButtonsShowHide) {
177
  $voteCount = isset($comment->meta_value) ? $comment->meta_value : get_comment_meta($comment->comment_ID, WpdiscuzCore::META_KEY_VOTES, true);
178
+ $output .= '<div class="wc-vote-result">' . intval($voteCount) . '</div>';
179
+ $output = apply_filters('wpdiscuz_voters', $output, $uniqueId, $comment, $user, $current_user);
180
+ $output .= '<span class="wc-vote-link wc-up ' . $voteClass . '" title="' . $voteUp . '">';
181
+ $voteFaUpImg = '<i class="fa fa-thumbs-up fa-flip-horizontal wc-vote-img-up"></i>';
182
+ $output .= apply_filters('wpdiscuz_vote_up_icon', $voteFaUpImg, $comment, $current_user);
183
+ $output .= '</span> &nbsp;|&nbsp; ';
184
+ $output .= '<span class="wc-vote-link wc-down ' . $voteClass . '" title="' . $voteDown . '">';
185
+ $voteFaDownImg = '<i class="fa fa-thumbs-down wc-vote-img-down"></i>';
186
+ $output .= apply_filters('wpdiscuz_vote_down_icon', $voteFaDownImg, $comment, $current_user);
187
+ $output .= '</span>&nbsp;';
188
  }
189
 
190
  if (comments_open($comment->comment_post_ID) && $this->optionsSerialized->wordpressThreadComments) {
191
  if ($this->optionsSerialized->wordpressCommentRegistration) {
192
+ if (!$this->optionsSerialized->replyButtonMembersShowHide && $current_user->ID) {
193
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
194
+ } else if (in_array('administrator', $current_user->roles)) {
195
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
196
  }
197
  } else {
198
  if (!$this->optionsSerialized->replyButtonMembersShowHide && !$this->optionsSerialized->replyButtonGuestsShowHide) {
199
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
200
+ } else if (!$this->optionsSerialized->replyButtonMembersShowHide && $current_user->ID) {
201
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
202
+ } else if (!$this->optionsSerialized->replyButtonGuestsShowHide && !$current_user->ID) {
203
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
204
+ } else if (in_array('administrator', $current_user->roles)) {
205
  $output .= '&nbsp;&nbsp;<span class="wc-reply-link" title="' . $replyText . '">' . $replyText . '</span> &nbsp;&nbsp;';
206
  }
207
  }
226
  } else {
227
  $isInRange = $this->helper->isContentInRange($commentContent);
228
  $isEditable = $this->optionsSerialized->commentEditableTime == 'unlimit' ? true && $isInRange : $this->helper->isCommentEditable($comment) && $isInRange;
229
+ if ($current_user && $current_user->ID && $current_user->ID == $comment->user_id && $isEditable) {
230
  $output .= '<span class="wc_editable_comment">-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_edit_text'] . '</span>';
231
  $output .= '<span class="wc_cancel_edit">-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_comment_edit_cancel_button'] . '</span>';
232
  $output .= '<span class="wc_save_edited_comment" style="display:none;">&nbsp;&nbsp;-&nbsp;&nbsp;' . $this->optionsSerialized->phrases['wc_comment_edit_save_button'] . '</span>';
233
  }
234
  }
235
 
236
+ $output = apply_filters('wpdiscuz_comment_buttons', $output, $comment, $user, $current_user);
237
 
238
  if ($depth < $this->optionsSerialized->wordpressThreadCommentsDepth && $this->optionsSerialized->wordpressThreadComments) {
239
  $output .= '<span class="wc-toggle wpdiscuz-hidden">' . $this->optionsSerialized->phrases['wc_hide_replies_text'] . ' &and;' . '</span>';
templates/comment/comment-form.php CHANGED
@@ -21,7 +21,7 @@ if (!post_password_required($post->ID)) {
21
  $wpCommClasses .= $wpdiscuz->optionsSerialized->wordpressShowAvatars ? '' : ' wpdiscuz_no_avatar';
22
 
23
  $ob_stat = ini_get('output_buffering');
24
- if ($ob_stat || $ob_stat === '') {
25
  $wc_ob_allowed = true;
26
  ob_start();
27
  do_action('comment_form_top');
@@ -188,6 +188,7 @@ if (!post_password_required($post->ID)) {
188
  <?php do_action('comment_form_closed'); ?>
189
  <div id="wpcomm" class="<?php echo $wpCommClasses; ?>" style="border:none;">
190
  <?php } ?>
 
191
 
192
  <?php if ($commentsCount && $wpdiscuz->optionsSerialized->showSortingButtons && !$wpdiscuz->optionsSerialized->wordpressIsPaginate) { ?>
193
  <div class="wpdiscuz-front-actions">
@@ -252,7 +253,7 @@ if (!post_password_required($post->ID)) {
252
  <?php if ($wpdiscuz->optionsSerialized->showPluginPoweredByLink) { ?>
253
  <div class="by-wpdiscuz">
254
  <span id="awpdiscuz" onclick='javascript:document.getElementById("bywpdiscuz").style.display = "inline";
255
- document.getElementById("awpdiscuz").style.display = "none";'>
256
  <img alt="<?php _e('wpDiscuz', 'wpdiscuz'); ?>" src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/plugin-icon/icon_info.png'); ?>" align="absmiddle" class="wpdimg"/>
257
  </span>&nbsp;
258
  <a href="http://wpdiscuz.com/" target="_blank" id="bywpdiscuz" title="wpDiscuz v<?php echo get_option(WpdiscuzCore::OPTION_SLUG_VERSION); ?> - Supercharged native comments">wpDiscuz</a>
21
  $wpCommClasses .= $wpdiscuz->optionsSerialized->wordpressShowAvatars ? '' : ' wpdiscuz_no_avatar';
22
 
23
  $ob_stat = ini_get('output_buffering');
24
+ if ($ob_stat || $ob_stat === '' || $ob_stat == '0') {
25
  $wc_ob_allowed = true;
26
  ob_start();
27
  do_action('comment_form_top');
188
  <?php do_action('comment_form_closed'); ?>
189
  <div id="wpcomm" class="<?php echo $wpCommClasses; ?>" style="border:none;">
190
  <?php } ?>
191
+ <?php do_action('wpdiscuz_before_comments', $commentsCount, $current_user); ?>
192
 
193
  <?php if ($commentsCount && $wpdiscuz->optionsSerialized->showSortingButtons && !$wpdiscuz->optionsSerialized->wordpressIsPaginate) { ?>
194
  <div class="wpdiscuz-front-actions">
253
  <?php if ($wpdiscuz->optionsSerialized->showPluginPoweredByLink) { ?>
254
  <div class="by-wpdiscuz">
255
  <span id="awpdiscuz" onclick='javascript:document.getElementById("bywpdiscuz").style.display = "inline";
256
+ document.getElementById("awpdiscuz").style.display = "none";'>
257
  <img alt="<?php _e('wpDiscuz', 'wpdiscuz'); ?>" src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . '/assets/img/plugin-icon/icon_info.png'); ?>" align="absmiddle" class="wpdimg"/>
258
  </span>&nbsp;
259
  <a href="http://wpdiscuz.com/" target="_blank" id="bywpdiscuz" title="wpDiscuz v<?php echo get_option(WpdiscuzCore::OPTION_SLUG_VERSION); ?> - Supercharged native comments">wpDiscuz</a>
utils/class.WpdiscuzHelper.php CHANGED
@@ -39,7 +39,8 @@ class WpdiscuzHelper {
39
  'cite' => array(),
40
  'strike' => array(),
41
  'del' => array('datetime' => array()),
42
- 'span' => array('id' => array(), 'class' => array(), 'title' => array())
 
43
  );
44
  public $captchaDir;
45
  private $captchaString;
@@ -270,7 +271,7 @@ class WpdiscuzHelper {
270
  return $user_can_comment;
271
  }
272
 
273
- public function formBuilder($isMain, $uniqueId, $commentsCount, $currentUser) {
274
  global $post;
275
 
276
  $isNameRequired = ($this->optionsSerialized->isNameFieldRequired) ? 'required="required"' : '';
@@ -293,13 +294,14 @@ class WpdiscuzHelper {
293
  <div class="wc-secondary-forms-social-content"></div>
294
  <?php } ?>
295
  <?php
296
- if ($this->isGuestCanComment($currentUser->ID)) {
297
  ?>
298
  <form class="wc_comm_form <?php echo!$isMain ? 'wc-secondary-form-wrapper' : 'wc_main_comm_form'; ?>" method="post" action="" enctype="multipart/form-data">
299
  <div class="wc-field-comment">
300
  <?php if ($this->optionsSerialized->wordpressShowAvatars) { ?>
 
301
  <div class="wc-field-avatararea">
302
- <?php echo get_avatar($currentUser->ID, 48); ?>
303
  </div>
304
  <?php } ?>
305
  <div class="wpdiscuz-item wc-field-textarea" <?php
@@ -307,15 +309,15 @@ class WpdiscuzHelper {
307
  echo ' style="margin-left: 0;"';
308
  }
309
  ?>>
310
- <div class="wpdiscuz-textarea-wrap">
311
- <textarea <?php echo $commentTextLengthRange . ' ' . $textareaMaxLength; ?> placeholder="<?php echo $textarea_placeholder; ?>" required name="wc_comment" class="wc_comment wc_field_input"></textarea>
312
  <?php if (intval($this->optionsSerialized->commentTextMaxLength)) { ?>
313
  <div class="commentTextMaxLength"><?php echo $this->optionsSerialized->commentTextMaxLength; ?></div>
314
  <?php } ?>
315
  <?php if (defined('WPDISCUZ_BOTTOM_TOOLBAR')): ?>
316
  <div class="wpdiscuz-textarea-foot">
317
- <?php do_action('wpdiscuz_button', $uniqueId, $currentUser); ?>
318
- <div class="wpdiscuz-button-actions"><?php do_action('wpdiscuz_button_actions', $uniqueId, $currentUser); ?></div>
319
  </div>
320
  <?php endif; ?>
321
  </div>
@@ -323,7 +325,7 @@ class WpdiscuzHelper {
323
  <div class="clearfix"></div>
324
  </div>
325
  <div class="wc-form-footer" style="display: none;">
326
- <?php if (!$currentUser->ID) { ?>
327
  <?php $nameLengthRange = (intval($this->optionsSerialized->commenterNameMinLength) >= 3 && (intval($this->optionsSerialized->commenterNameMaxLength) >= 3 && intval($this->optionsSerialized->commenterNameMaxLength) <= 50)) ? 'data-validate-length-range="' . $this->optionsSerialized->commenterNameMinLength . ',' . $this->optionsSerialized->commenterNameMaxLength . '"' : ''; ?>
328
  <div class="wc-author-data">
329
  <div class="wc-field-name wpdiscuz-item">
@@ -332,7 +334,7 @@ class WpdiscuzHelper {
332
  <div class="wc-field-email wpdiscuz-item">
333
  <input type="email" placeholder="<?php echo $this->optionsSerialized->phrases['wc_email_text']; ?>" value="" <?php echo $isEmailRequired; ?> name="wc_email" class="wc_email wc_field_input email" />
334
  </div>
335
- <?php if (!$currentUser->ID && $this->optionsSerialized->weburlShowHide) { ?>
336
  <div class="wc-field-website wpdiscuz-item">
337
  <input type="url" placeholder="<?php echo $this->optionsSerialized->phrases['wc_website_text']; ?>" value="" name="wc_website" class="wc_website wc_field_input">
338
  </div>
@@ -342,7 +344,7 @@ class WpdiscuzHelper {
342
  <?php } ?>
343
  <div class="wc-form-submit">
344
  <?php
345
- if ($this->isShowCaptcha($currentUser->ID)) {
346
  if (class_exists("wpDiscuzReCaptcha")) {
347
  global $wpDiscuzReCaptcha;
348
  $wpDiscuzReCaptcha->recaptchaHtml($uniqueId);
@@ -354,9 +356,10 @@ class WpdiscuzHelper {
354
  <div class="wc-field-submit">
355
  <?php if ($this->optionsSerialized->wordpressThreadComments || class_exists('Prompt_Comment_Form_Handling')) { ?>
356
  <?php
 
357
  if ($this->optionsSerialized->showHideReplyCheckbox) {
358
- if ($currentUser->ID) {
359
- $subscriptionData = $this->dbManager->hasSubscription($post->ID, $currentUser->user_email);
360
  $isShowSubscribeWrapper = !$subscriptionData || ($subscriptionData && $subscriptionData['type'] == WpDiscuzConstants::SUBSCRIPTION_COMMENT) ? true : false;
361
  } else {
362
  $isShowSubscribeWrapper = true;
@@ -625,7 +628,7 @@ class WpdiscuzHelper {
625
  $message = $cData['code'] ? 'src="' . plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'utils' . WPDISCUZ_DS . 'temp' . WPDISCUZ_DS . $cData['message']) . '"' : 'alt="' . $cData['message'] . '"';
626
  }
627
  ?>
628
- <a class="wpdiscuz-nofollow" href="#" rel="nofollow"><img class="wc_captcha_img" <?php echo $message; ?> width="80" height="26"/></a><a class="wpdiscuz-nofollow wc_captcha_refresh_img" href="#" rel="nofollow"><img class="" src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'img' . WPDISCUZ_DS . 'captcha-loading.png'); ?>" width="16" height="16"/></a>
629
  <input type="hidden" id="<?php echo $key; ?>" class="wpdiscuz-cnonce" name="cnonce" value="<?php echo $key; ?>" />
630
  </div>
631
  <div class="clearfix"></div>
@@ -637,5 +640,17 @@ class WpdiscuzHelper {
637
  return $post && in_array($post->post_type, $this->optionsSerialized->postTypes) && (comments_open($post) || $post->comment_count) && (is_singular() || is_front_page()) && post_type_supports($post->post_type, 'comments');
638
  }
639
 
 
 
 
 
 
 
 
 
 
 
 
 
640
  }
641
 
39
  'cite' => array(),
40
  'strike' => array(),
41
  'del' => array('datetime' => array()),
42
+ 'span' => array('id' => array(), 'class' => array(), 'title' => array()),
43
+ 'pre' => array(),
44
  );
45
  public $captchaDir;
46
  private $captchaString;
271
  return $user_can_comment;
272
  }
273
 
274
+ public function formBuilder($isMain, $uniqueId, $commentsCount, $current_user) {
275
  global $post;
276
 
277
  $isNameRequired = ($this->optionsSerialized->isNameFieldRequired) ? 'required="required"' : '';
294
  <div class="wc-secondary-forms-social-content"></div>
295
  <?php } ?>
296
  <?php
297
+ if ($this->isGuestCanComment($current_user->ID)) {
298
  ?>
299
  <form class="wc_comm_form <?php echo!$isMain ? 'wc-secondary-form-wrapper' : 'wc_main_comm_form'; ?>" method="post" action="" enctype="multipart/form-data">
300
  <div class="wc-field-comment">
301
  <?php if ($this->optionsSerialized->wordpressShowAvatars) { ?>
302
+ <?php $authorName = $current_user->ID ? $current_user->display_name : 'avatar'; ?>
303
  <div class="wc-field-avatararea">
304
+ <?php echo get_avatar($current_user->ID, 48, '', $authorName); ?>
305
  </div>
306
  <?php } ?>
307
  <div class="wpdiscuz-item wc-field-textarea" <?php
309
  echo ' style="margin-left: 0;"';
310
  }
311
  ?>>
312
+ <div class="wpdiscuz-textarea-wrap <?php if($this->optionsSerialized->isQuickTagsEnabled) echo 'wpdiscuz-quicktags-enabled'; ?>">
313
+ <textarea id="wc-textarea-<?php echo $uniqueId; ?>" <?php echo $commentTextLengthRange . ' ' . $textareaMaxLength; ?> placeholder="<?php echo $textarea_placeholder; ?>" required name="wc_comment" class="wc_comment wc_field_input"></textarea>
314
  <?php if (intval($this->optionsSerialized->commentTextMaxLength)) { ?>
315
  <div class="commentTextMaxLength"><?php echo $this->optionsSerialized->commentTextMaxLength; ?></div>
316
  <?php } ?>
317
  <?php if (defined('WPDISCUZ_BOTTOM_TOOLBAR')): ?>
318
  <div class="wpdiscuz-textarea-foot">
319
+ <?php do_action('wpdiscuz_button', $uniqueId, $current_user); ?>
320
+ <div class="wpdiscuz-button-actions"><?php do_action('wpdiscuz_button_actions', $uniqueId, $current_user); ?></div>
321
  </div>
322
  <?php endif; ?>
323
  </div>
325
  <div class="clearfix"></div>
326
  </div>
327
  <div class="wc-form-footer" style="display: none;">
328
+ <?php if (!$current_user->ID) { ?>
329
  <?php $nameLengthRange = (intval($this->optionsSerialized->commenterNameMinLength) >= 3 && (intval($this->optionsSerialized->commenterNameMaxLength) >= 3 && intval($this->optionsSerialized->commenterNameMaxLength) <= 50)) ? 'data-validate-length-range="' . $this->optionsSerialized->commenterNameMinLength . ',' . $this->optionsSerialized->commenterNameMaxLength . '"' : ''; ?>
330
  <div class="wc-author-data">
331
  <div class="wc-field-name wpdiscuz-item">
334
  <div class="wc-field-email wpdiscuz-item">
335
  <input type="email" placeholder="<?php echo $this->optionsSerialized->phrases['wc_email_text']; ?>" value="" <?php echo $isEmailRequired; ?> name="wc_email" class="wc_email wc_field_input email" />
336
  </div>
337
+ <?php if (!$current_user->ID && $this->optionsSerialized->weburlShowHide) { ?>
338
  <div class="wc-field-website wpdiscuz-item">
339
  <input type="url" placeholder="<?php echo $this->optionsSerialized->phrases['wc_website_text']; ?>" value="" name="wc_website" class="wc_website wc_field_input">
340
  </div>
344
  <?php } ?>
345
  <div class="wc-form-submit">
346
  <?php
347
+ if ($this->isShowCaptcha($current_user->ID)) {
348
  if (class_exists("wpDiscuzReCaptcha")) {
349
  global $wpDiscuzReCaptcha;
350
  $wpDiscuzReCaptcha->recaptchaHtml($uniqueId);
356
  <div class="wc-field-submit">
357
  <?php if ($this->optionsSerialized->wordpressThreadComments || class_exists('Prompt_Comment_Form_Handling')) { ?>
358
  <?php
359
+ $isShowSubscribeWrapper = false;
360
  if ($this->optionsSerialized->showHideReplyCheckbox) {
361
+ if ($current_user->ID) {
362
+ $subscriptionData = $this->dbManager->hasSubscription($post->ID, $current_user->user_email);
363
  $isShowSubscribeWrapper = !$subscriptionData || ($subscriptionData && $subscriptionData['type'] == WpDiscuzConstants::SUBSCRIPTION_COMMENT) ? true : false;
364
  } else {
365
  $isShowSubscribeWrapper = true;
628
  $message = $cData['code'] ? 'src="' . plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'utils' . WPDISCUZ_DS . 'temp' . WPDISCUZ_DS . $cData['message']) . '"' : 'alt="' . $cData['message'] . '"';
629
  }
630
  ?>
631
+ <a class="wpdiscuz-nofollow" href="#" rel="nofollow"><img alt="wpdiscuz_captcha" class="wc_captcha_img" <?php echo $message; ?> width="80" height="26"/></a><a class="wpdiscuz-nofollow wc_captcha_refresh_img" href="#" rel="nofollow"><img alt="refresh" class="" src="<?php echo plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'img' . WPDISCUZ_DS . 'captcha-loading.png'); ?>" width="16" height="16"/></a>
632
  <input type="hidden" id="<?php echo $key; ?>" class="wpdiscuz-cnonce" name="cnonce" value="<?php echo $key; ?>" />
633
  </div>
634
  <div class="clearfix"></div>
640
  return $post && in_array($post->post_type, $this->optionsSerialized->postTypes) && (comments_open($post) || $post->comment_count) && (is_singular() || is_front_page()) && post_type_supports($post->post_type, 'comments');
641
  }
642
 
643
+ public function replaceCommentContentCode($content) {
644
+ return preg_replace_callback('#`(.*?)`#is', array(&$this, 'replaceCodeContent'), $content);
645
+ }
646
+
647
+ private function replaceCodeContent($matches) {
648
+ if (count($matches) == 0)
649
+ return '';
650
+ $codeContent = trim($matches[1]);
651
+ $codeContent = str_replace(array('<','>'), array('&lt;','&gt;'), $codeContent);
652
+ return '<code>'.$codeContent.'</code>';
653
+ }
654
+
655
  }
656