Comments – wpDiscuz - Version 4.0.3

Version Description

  • Added: Option to enable wpDiscuz on home page.
  • Added: Supports network activation in WordPress MultiSites
  • Fixed Bug: Comment template and style overwriting problem in child theme folder.
  • Fixed Bug: Missing Frontend Moderation button on replies (the addon is also updated).
  • Fixed Bug: Error output in dynamic CSS file
  • Security: Proper data filtering

IMPORTANT:

  • If you have JetPack installed please deactivate Jetpack comments, it affects wpDiscuz
  • If you have a Cache Plugin, please delete all caches after wpDiscuz update.
  • If you use CDN and found some issue please purge it.
  • If your server PHP version is lower than 5.4, please change it to hogher
Download this release

Release Info

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

Code changes from version 4.0.2 to 4.0.3

assets/css/wpdiscuz.css CHANGED
@@ -315,59 +315,62 @@
315
  .wpdiscuz-edit-form-wrap{ display:block; margin:10px;}
316
  .wpd-cursor-pointer{cursor: pointer;}
317
  #wpcomm .wpdiscuz-item input[type=checkbox]:focus{line-height: 1;}
318
- @media screen and (max-width:650px){#wpcomm .wpdiscuz-subscribe-form-option{width:100%!important;padding:0!important}
319
- #wpcomm .wpdiscuz-subscribe-form-email{width:100%!important;padding:0!important;margin-top:5px}
320
- #wpcomm .wpdiscuz-subscribe-form-button{width:100%!important;padding:0!important}
321
- #wpcomm .wpdiscuz-subscribe-form-button input[type="submit"]{width:100%!important;margin-top:5px}
322
- #wpcomm .wpd-form-row .wpd-form-col-left{width:100%; float:none;}
323
- #wpcomm .wpd-form-row .wpd-form-col-right{width:100%; float:none;}
324
- #wpcomm .wc-field-comment .wc-field-avatararea{width:25px}
325
- #wpcomm .wc-field-comment .wc-field-avatararea .avatar{width:25px}
326
- #wpcomm .wc-field-comment .wc-field-textarea{margin-left:30px}
327
- #wpcomm .wc-form-footer{margin-left:30px}
328
- #wpcomm.wpdiscuz_no_avatar .wc-form-footer{margin-left:0}
329
- #wpcomm .wpd-form-col-left{width:100%;float:none;display:block}
330
- #wpcomm .wpd-form-col-right{width:100%;float:none;display:block;padding:0}
331
- #wpcomm .wc-field-submit input[type="button"]{max-width:200px}
332
- #wpcomm .wpd-form-row .wpdiscuz-item {width:100%;margin:0 auto;display:block;float:none}
333
- #wpcomm .wpd-form-row .wpdiscuz-item .wc-captcha-label{padding-left:0;width:115px}
334
- #wpcomm .wpd-form-row .wpdiscuz-item .wc-captcha-input{width:calc(100% - 116px)}
335
- #wpcomm .wc-reply{margin-left:25px!important}
336
- #wpcomm .wc_comment_level-3{margin-left:0!important}
337
- #wpcomm .wc_comment_level-4{margin-left:0!important}
338
- #wpcomm .wc_comment_level-5{margin-left:0!important}
339
- #wpcomm .wc_comment_level-5{margin-left:0!important}
340
- #wpcomm .wc_comment_level-6{margin-left:0!important}
341
- #wpcomm .wc_comment_level-7{margin-left:0!important}
342
- #wpcomm .wc_comment_level-8{margin-left:0!important}
343
- #wpcomm .wc_comment_level-9{margin-left:0!important}
344
- #wpcomm .wc_comment_level-10{margin-left:0!important}
345
- #wpcomm .wc-comment-author a{ font-size:14px;}
346
- #wpcomm .wc-comment-text{font-size:13px!important}
347
- #wpcomm .wc-comment .wc-comment-left{float:none!important;margin-bottom:8px;width:100%!important}
348
- #wpcomm .wc-comment .wc-comment-right,#wpcomm .wc-reply .wc-comment-right{margin-left:0!important}
349
- #wpcomm .wc-comment .wc-comment-left .avatar{width:25px!important;height:25px!important;margin:0 5px 0 0!important;float:left!important;display:block!important}
350
- #wpcomm .wc-comment .wc-comment-left .wc-comment-label{font-size:13px;padding:6px 5px 5px 5px;line-height:14px;display:block-inline!important;margin-left:33px}
351
- .wpd-cf-label{ display:block; width: 100%; background: transparent; }
352
- .wpd-cf-value{ display:block; width:100%; background: #f9f9f9;border-bottom:1px solid #bbb;}
353
- #wpcomm .share_buttons_box{margin-top:9px}
354
- #wpcomm .wc_notification_checkboxes{text-align:right}
355
- #wpcomm .wc-field-submit{text-align:right}
356
- #wpcomm .wc-comment-label{ width:auto;}
357
- #wpcomm .wc-comment-label span{line-height:14px; padding:0px 2px;}
358
- #wpcomm .wc-comment-footer .wc-footer-left{ float:none; display:block; padding:2px 5px; text-align:left;}
359
- #wpcomm .wc-comment-footer .wc-footer-right{ float:none; display:block; padding:5px 5px 2px 5px; text-align:left;}
360
- #wpcomm .wc-comment-footer .wc-footer-right .wc-comment-date{ margin-left:0px;}
 
 
361
  }
362
- @media screen and (max-width:420px){#wpcomm .wpdiscuz-sort-buttons,#wpcomm .wpdiscuz-sort-button{font-size:11px!important}
363
- #wpcomm .wc-share-link{line-height:30px}
364
- #wpcomm .wc-form-footer{margin-left:0}
365
- #wpcomm .wc-field-comment .wc-field-textarea{margin-left:0}
366
- #wpcomm .wc-field-comment .wc-field-avatararea .avatar{width:0;display:none}
367
- #wpcomm .wc-field-submit input[type="button"]{width:99%;font-size:10px;padding:5px 2px}
368
- .wpdiscuz_auth .wc-field-submit{width:100%!important}
369
- .wpdiscuz_auth .wc_notification_checkboxes{text-align:left!important}
370
- #wpcomm .wc-form-wrapper .ed_button{width:18%;padding:0;margin:3px 2px 3px 2px}
371
- #wpcomm .wc-field-comment .wc-field-textarea .wpdiscuz-quicktags-enabled .commentTextMaxLength{top:49px}
372
- #wpcomm .wc-comment-link{display: block; float: none; width: 100%;}
 
373
  }
315
  .wpdiscuz-edit-form-wrap{ display:block; margin:10px;}
316
  .wpd-cursor-pointer{cursor: pointer;}
317
  #wpcomm .wpdiscuz-item input[type=checkbox]:focus{line-height: 1;}
318
+ @media screen and (max-width:650px){
319
+ #wpcomm .wpdiscuz-subscribe-form-option{width:100%!important;padding:0!important}
320
+ #wpcomm .wpdiscuz-subscribe-form-email{width:100%!important;padding:0!important;margin-top:5px}
321
+ #wpcomm .wpdiscuz-subscribe-form-button{width:100%!important;padding:0!important}
322
+ #wpcomm .wpdiscuz-subscribe-form-button input[type="submit"]{width:100%!important;margin-top:5px}
323
+ #wpcomm .wpd-form-row .wpd-form-col-left{width:100%; float:none;}
324
+ #wpcomm .wpd-form-row .wpd-form-col-right{width:100%; float:none;}
325
+ #wpcomm .wc-field-comment .wc-field-avatararea{width:25px}
326
+ #wpcomm .wc-field-comment .wc-field-avatararea .avatar{width:25px}
327
+ #wpcomm .wc-field-comment .wc-field-textarea{margin-left:30px}
328
+ #wpcomm .wc-form-footer{margin-left:30px}
329
+ #wpcomm.wpdiscuz_no_avatar .wc-form-footer{margin-left:0}
330
+ #wpcomm .wpd-form-col-left{width:100%;float:none;display:block}
331
+ #wpcomm .wpd-form-col-right{width:100%;float:none;display:block;padding:0}
332
+ #wpcomm .wc-field-submit input[type="button"]{max-width:200px}
333
+ #wpcomm .wpd-form-row .wpdiscuz-item {width:100%;margin:0 auto;display:block;float:none}
334
+ #wpcomm .wpd-form-row .wpdiscuz-item .wc-captcha-label{padding-left:0;width:115px}
335
+ #wpcomm .wpd-form-row .wpdiscuz-item .wc-captcha-input{width:calc(100% - 116px)}
336
+ #wpcomm .wc-reply{margin-left:25px!important}
337
+ #wpcomm .wc_comment_level-3{margin-left:0!important}
338
+ #wpcomm .wc_comment_level-4{margin-left:0!important}
339
+ #wpcomm .wc_comment_level-5{margin-left:0!important}
340
+ #wpcomm .wc_comment_level-5{margin-left:0!important}
341
+ #wpcomm .wc_comment_level-6{margin-left:0!important}
342
+ #wpcomm .wc_comment_level-7{margin-left:0!important}
343
+ #wpcomm .wc_comment_level-8{margin-left:0!important}
344
+ #wpcomm .wc_comment_level-9{margin-left:0!important}
345
+ #wpcomm .wc_comment_level-10{margin-left:0!important}
346
+ #wpcomm .wc-comment-author a{ font-size:14px;}
347
+ #wpcomm .wc-comment-text{font-size:13px!important}
348
+ #wpcomm .wc-comment .wc-comment-left{float:none!important;margin-bottom:8px;width:100%!important}
349
+ #wpcomm .wc-comment .wc-comment-right,#wpcomm .wc-reply .wc-comment-right{margin-left:0!important}
350
+ #wpcomm .wc-comment .wc-comment-left .avatar{width:25px!important;height:25px!important;margin:0 5px 0 0!important;float:left!important;display:block!important}
351
+ #wpcomm .wc-comment .wc-comment-left .wc-comment-label{font-size:13px;padding:6px 5px 5px 5px;line-height:14px;display:block-inline!important;margin-left:33px}
352
+ .wpd-cf-label{ display:block; width: 100%; background: transparent; }
353
+ .wpd-cf-value{ display:block; width:100%; background: #f9f9f9;border-bottom:1px solid #bbb;}
354
+ #wpcomm .share_buttons_box{margin-top:9px}
355
+ #wpcomm .wc_notification_checkboxes{text-align:right}
356
+ #wpcomm .wc-field-submit{text-align:right}
357
+ #wpcomm .wc-comment-label{ width:auto;}
358
+ #wpcomm .wc-comment-label span{line-height:14px; padding:0px 2px;}
359
+ #wpcomm .wc-comment-footer .wc-footer-left{ float:none; display:block; padding:2px 5px; text-align:left;}
360
+ #wpcomm .wc-comment-footer .wc-footer-right{ float:none; display:block; padding:5px 5px 2px 5px; text-align:left;}
361
+ #wpcomm .wc-comment-footer .wc-footer-right .wc-comment-date{ margin-left:0px;}
362
+ #wpcomm .wc-comment-footer .wc-footer-left span{ margin-bottom:7px; }
363
  }
364
+ @media screen and (max-width:420px){
365
+ #wpcomm .wpdiscuz-sort-buttons,#wpcomm .wpdiscuz-sort-button{font-size:11px!important}
366
+ #wpcomm .wc-share-link{line-height:30px}
367
+ #wpcomm .wc-form-footer{margin-left:0}
368
+ #wpcomm .wc-field-comment .wc-field-textarea{margin-left:0}
369
+ #wpcomm .wc-field-comment .wc-field-avatararea .avatar{width:0;display:none}
370
+ #wpcomm .wc-field-submit input[type="button"]{width:99%;font-size:10px;padding:5px 2px}
371
+ .wpdiscuz_auth .wc-field-submit{width:100%!important}
372
+ .wpdiscuz_auth .wc_notification_checkboxes{text-align:left!important}
373
+ #wpcomm .wc-form-wrapper .ed_button{width:18%;padding:0;margin:3px 2px 3px 2px}
374
+ #wpcomm .wc-field-comment .wc-field-textarea .wpdiscuz-quicktags-enabled .commentTextMaxLength{top:49px}
375
+ #wpcomm .wc-comment-link{display: block; float: none; width: 100%;}
376
  }
assets/img/tips/custom-form.png ADDED
Binary file
assets/js/wpdiscuz-notes.js CHANGED
@@ -1,3 +1,7 @@
1
  jQuery(document).on( 'click', '.wpdiscuz_addon_note .notice-dismiss', function() {
2
  jQuery.ajax({url: ajaxurl, data: { action: 'dismiss_wpdiscuz_addon_note'}})
 
 
 
 
3
  })
1
  jQuery(document).on( 'click', '.wpdiscuz_addon_note .notice-dismiss', function() {
2
  jQuery.ajax({url: ajaxurl, data: { action: 'dismiss_wpdiscuz_addon_note'}})
3
+ })
4
+ jQuery(document).on( 'click', '.wpdiscuz_tip_note .notice-dismiss', function() {
5
+ var tipid = jQuery('#wpdiscuz_tip_note_value').val();
6
+ jQuery.ajax({url: ajaxurl, data: { action: 'dismiss_wpdiscuz_tip_note', tip: tipid}})
7
  })
assets/js/wpdiscuz.js CHANGED
@@ -85,8 +85,12 @@ jQuery(document).ready(function ($) {
85
 
86
  $(document).delegate('.wc-share-link', 'click', function () {
87
  var parent = $(this).parents('.wc-comment-right');
88
- $('.share_buttons_box', parent).slideToggle(1000);
89
  $(this).toggleClass('wc-cta-active');
 
 
 
 
 
90
  });
91
 
92
  $(document).delegate('.wpdiscuz-nofollow,.wc_captcha_refresh_img,.wc-toggle,.wc-load-more-link', 'click', function (e) {
@@ -1062,7 +1066,7 @@ jQuery(document).ready(function ($) {
1062
  $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'click', function () {
1063
  wpdiscuzRemoveError($(this));
1064
  });
1065
-
1066
  $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'focus', function () {
1067
  wpdiscuzRemoveError($(this));
1068
  });
85
 
86
  $(document).delegate('.wc-share-link', 'click', function () {
87
  var parent = $(this).parents('.wc-comment-right');
 
88
  $(this).toggleClass('wc-cta-active');
89
+ if ($(this).hasClass('wc-cta-active')) {
90
+ $('.share_buttons_box', parent).show();
91
+ } else {
92
+ $('.share_buttons_box', parent).hide();
93
+ }
94
  });
95
 
96
  $(document).delegate('.wpdiscuz-nofollow,.wc_captcha_refresh_img,.wc-toggle,.wc-load-more-link', 'click', function (e) {
1066
  $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'click', function () {
1067
  wpdiscuzRemoveError($(this));
1068
  });
1069
+
1070
  $(document).delegate('.wpdiscuz-item input,.wpdiscuz-item textarea,.wpdiscuz-item select', 'focus', function () {
1071
  wpdiscuzRemoveError($(this));
1072
  });
assets/third-party/easy-responsive-tabs/js/easy-responsive-tabs.js CHANGED
@@ -2,7 +2,7 @@
2
  // Author: Samson.Onna <Email : samson3d@gmail.com>
3
  (function ($) {
4
  $.fn.extend({
5
- easyResponsiveTabs: function (options) {
6
  //Set the default values, use comma to separate the settings, example:
7
  var defaults = {
8
  type: 'default', //default, vertical, accordion;
2
  // Author: Samson.Onna <Email : samson3d@gmail.com>
3
  (function ($) {
4
  $.fn.extend({
5
+ wpdiscuzEasyResponsiveTabs: function (options) {
6
  //Set the default values, use comma to separate the settings, example:
7
  var defaults = {
8
  type: 'default', //default, vertical, accordion;
assets/third-party/easy-responsive-tabs/js/easy-responsive-tabs.min.js CHANGED
@@ -1 +1 @@
1
- (function(a){a.fn.extend({easyResponsiveTabs:function(k){var c={type:"default",width:"auto",fit:true,closed:false,tabidentify:"",activetab_bg:"white",inactive_bg:"#F9F9F9",active_border_color:"#c1c1c1",active_content_border_color:"#c1c1c1",activate:function(){}};var k=a.extend(c,k);var b=k,g=b.type,j=b.fit,i=b.width,e="vertical",f="accordion";var d=window.location.hash;var h=!!(window.history&&history.replaceState);a(this).bind("tabactivate",function(l,m){if(typeof k.activate==="function"){k.activate.call(m,l)}});this.each(function(){var p=a(this);var t=p.find("ul.resp-tabs-list."+k.tabidentify);var s=p.attr("id");p.find("ul.resp-tabs-list."+k.tabidentify+" li").addClass("resp-tab-item").addClass(k.tabidentify);p.css({display:"block",width:i});p.find(".resp-tabs-container."+k.tabidentify).css("border-color",k.active_content_border_color);p.find(".resp-tabs-container."+k.tabidentify+" > div").addClass("resp-tab-content").addClass(k.tabidentify);r();function r(){if(g==e){p.addClass("resp-vtabs").addClass(k.tabidentify)}if(j==true){p.css({width:"100%",margin:"0px"})}if(g==f){p.addClass("resp-easy-accordion").addClass(k.tabidentify);p.find(".resp-tabs-list").css("display","none")}}var m;p.find(".resp-tab-content."+k.tabidentify).before("<h2 class='resp-accordion "+k.tabidentify+"' role='tab'><span class='resp-arrow'></span></h2>");p.find(".resp-tab-content."+k.tabidentify).prev("h2").css({"background-color":k.inactive_bg,"border-color":k.active_border_color});var l=0;p.find(".resp-accordion").each(function(){m=a(this);var w=p.find(".resp-tab-item:eq("+l+")");var v=p.find(".resp-accordion:eq("+l+")");v.append(w.html());v.data(w.data());m.attr("aria-controls",k.tabidentify+"_tab_item-"+(l));l++});var q=0,u;p.find(".resp-tab-item").each(function(){$tabItem=a(this);$tabItem.attr("aria-controls",k.tabidentify+"_tab_item-"+(q));$tabItem.attr("role","tab");$tabItem.css({"background-color":k.inactive_bg,"border-color":"none"});var v=0;p.find(".resp-tab-content."+k.tabidentify).each(function(){u=a(this);u.attr("aria-labelledby",k.tabidentify+"_tab_item-"+(v)).css({"border-color":k.active_border_color});v++});q++});var n=0;if(d!=""){var o=d.match(new RegExp(s+"([0-9]+)"));if(o!==null&&o.length===2){n=parseInt(o[1],10)-1;if(n>q){n=0}}}a(p.find(".resp-tab-item."+k.tabidentify)[n]).addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});if(k.closed!==true&&!(k.closed==="accordion"&&!t.is(":visible"))&&!(k.closed==="tabs"&&t.is(":visible"))){a(p.find(".resp-accordion."+k.tabidentify)[n]).addClass("resp-tab-active").css({"background-color":k.activetab_bg+" !important","border-color":k.active_border_color,background:"none"});a(p.find(".resp-tab-content."+k.tabidentify)[n]).addClass("resp-tab-content-active").addClass(k.tabidentify).attr("style","display:block")}else{}p.find("[role=tab]").each(function(){var v=a(this);v.click(function(){var B=a(this);var w=B.attr("aria-controls");if(B.hasClass("resp-accordion")&&B.hasClass("resp-tab-active")){p.find(".resp-tab-content-active."+k.tabidentify).slideUp("",function(){a(this).addClass("resp-accordion-closed")});B.removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});return false}if(!B.hasClass("resp-tab-active")&&B.hasClass("resp-accordion")){p.find(".resp-tab-active."+k.tabidentify).removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});p.find(".resp-tab-content-active."+k.tabidentify).slideUp().removeClass("resp-tab-content-active resp-accordion-closed");p.find("[aria-controls="+w+"]").addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});p.find(".resp-tab-content[aria-labelledby = "+w+"]."+k.tabidentify).slideDown().addClass("resp-tab-content-active")}else{p.find(".resp-tab-active."+k.tabidentify).removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});p.find(".resp-tab-content-active."+k.tabidentify).removeAttr("style").removeClass("resp-tab-content-active").removeClass("resp-accordion-closed");p.find("[aria-controls="+w+"]").addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});p.find(".resp-tab-content[aria-labelledby = "+w+"]."+k.tabidentify).addClass("resp-tab-content-active").attr("style","display:block")}B.trigger("tabactivate",B);if(h){var z=window.location.hash;var A=w.split("tab_item-");var y=s+(parseInt(A[1],10)+1).toString();if(z!=""){var x=new RegExp(s+"[0-9]+");if(z.match(x)!=null){y=z.replace(x,y)}else{y=z+"|"+y}}else{y="#"+y}history.replaceState(null,null,y)}})});a(window).resize(function(){p.find(".resp-accordion-closed").removeAttr("style")})})}})})(jQuery);
1
+ (function(a){a.fn.extend({wpdiscuzEasyResponsiveTabs:function(k){var c={type:"default",width:"auto",fit:true,closed:false,tabidentify:"",activetab_bg:"white",inactive_bg:"#F9F9F9",active_border_color:"#c1c1c1",active_content_border_color:"#c1c1c1",activate:function(){}};var k=a.extend(c,k);var b=k,g=b.type,j=b.fit,i=b.width,e="vertical",f="accordion";var d=window.location.hash;var h=!!(window.history&&history.replaceState);a(this).bind("tabactivate",function(l,m){if(typeof k.activate==="function"){k.activate.call(m,l)}});this.each(function(){var p=a(this);var t=p.find("ul.resp-tabs-list."+k.tabidentify);var s=p.attr("id");p.find("ul.resp-tabs-list."+k.tabidentify+" li").addClass("resp-tab-item").addClass(k.tabidentify);p.css({display:"block",width:i});p.find(".resp-tabs-container."+k.tabidentify).css("border-color",k.active_content_border_color);p.find(".resp-tabs-container."+k.tabidentify+" > div").addClass("resp-tab-content").addClass(k.tabidentify);r();function r(){if(g==e){p.addClass("resp-vtabs").addClass(k.tabidentify)}if(j==true){p.css({width:"100%",margin:"0px"})}if(g==f){p.addClass("resp-easy-accordion").addClass(k.tabidentify);p.find(".resp-tabs-list").css("display","none")}}var m;p.find(".resp-tab-content."+k.tabidentify).before("<h2 class='resp-accordion "+k.tabidentify+"' role='tab'><span class='resp-arrow'></span></h2>");p.find(".resp-tab-content."+k.tabidentify).prev("h2").css({"background-color":k.inactive_bg,"border-color":k.active_border_color});var l=0;p.find(".resp-accordion").each(function(){m=a(this);var w=p.find(".resp-tab-item:eq("+l+")");var v=p.find(".resp-accordion:eq("+l+")");v.append(w.html());v.data(w.data());m.attr("aria-controls",k.tabidentify+"_tab_item-"+(l));l++});var q=0,u;p.find(".resp-tab-item").each(function(){$tabItem=a(this);$tabItem.attr("aria-controls",k.tabidentify+"_tab_item-"+(q));$tabItem.attr("role","tab");$tabItem.css({"background-color":k.inactive_bg,"border-color":"none"});var v=0;p.find(".resp-tab-content."+k.tabidentify).each(function(){u=a(this);u.attr("aria-labelledby",k.tabidentify+"_tab_item-"+(v)).css({"border-color":k.active_border_color});v++});q++});var n=0;if(d!=""){var o=d.match(new RegExp(s+"([0-9]+)"));if(o!==null&&o.length===2){n=parseInt(o[1],10)-1;if(n>q){n=0}}}a(p.find(".resp-tab-item."+k.tabidentify)[n]).addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});if(k.closed!==true&&!(k.closed==="accordion"&&!t.is(":visible"))&&!(k.closed==="tabs"&&t.is(":visible"))){a(p.find(".resp-accordion."+k.tabidentify)[n]).addClass("resp-tab-active").css({"background-color":k.activetab_bg+" !important","border-color":k.active_border_color,background:"none"});a(p.find(".resp-tab-content."+k.tabidentify)[n]).addClass("resp-tab-content-active").addClass(k.tabidentify).attr("style","display:block")}else{}p.find("[role=tab]").each(function(){var v=a(this);v.click(function(){var B=a(this);var w=B.attr("aria-controls");if(B.hasClass("resp-accordion")&&B.hasClass("resp-tab-active")){p.find(".resp-tab-content-active."+k.tabidentify).slideUp("",function(){a(this).addClass("resp-accordion-closed")});B.removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});return false}if(!B.hasClass("resp-tab-active")&&B.hasClass("resp-accordion")){p.find(".resp-tab-active."+k.tabidentify).removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});p.find(".resp-tab-content-active."+k.tabidentify).slideUp().removeClass("resp-tab-content-active resp-accordion-closed");p.find("[aria-controls="+w+"]").addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});p.find(".resp-tab-content[aria-labelledby = "+w+"]."+k.tabidentify).slideDown().addClass("resp-tab-content-active")}else{p.find(".resp-tab-active."+k.tabidentify).removeClass("resp-tab-active").css({"background-color":k.inactive_bg,"border-color":"none"});p.find(".resp-tab-content-active."+k.tabidentify).removeAttr("style").removeClass("resp-tab-content-active").removeClass("resp-accordion-closed");p.find("[aria-controls="+w+"]").addClass("resp-tab-active").css({"background-color":k.activetab_bg,"border-color":k.active_border_color});p.find(".resp-tab-content[aria-labelledby = "+w+"]."+k.tabidentify).addClass("resp-tab-content-active").attr("style","display:block")}B.trigger("tabactivate",B);if(h){var z=window.location.hash;var A=w.split("tab_item-");var y=s+(parseInt(A[1],10)+1).toString();if(z!=""){var x=new RegExp(s+"[0-9]+");if(z.match(x)!=null){y=z.replace(x,y)}else{y=z+"|"+y}}else{y="#"+y}history.replaceState(null,null,y)}})});a(window).resize(function(){p.find(".resp-accordion-closed").removeAttr("style")})})}})})(jQuery);
class.WpdiscuzCore.php CHANGED
@@ -3,7 +3,7 @@
3
  /*
4
  * Plugin Name: Comments - wpDiscuz
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
- * Version: 4.0.2
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: http://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
@@ -45,10 +45,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
45
  public $wpdiscuzForm;
46
 
47
  public function __construct() {
48
- $this->version = get_option(self::OPTION_SLUG_VERSION);
49
- if (!$this->version) {
50
- $this->version = '1.0.0';
51
- }
52
  $this->dbManager = new WpdiscuzDBManager();
53
  $this->optionsSerialized = new WpdiscuzOptionsSerialized($this->dbManager);
54
  $this->options = new WpdiscuzOptions($this->optionsSerialized, $this->dbManager);
@@ -58,8 +55,10 @@ class WpdiscuzCore implements WpDiscuzConstants {
58
  $this->optimizationHelper = new WpdiscuzOptimizationHelper($this->optionsSerialized, $this->dbManager, $this->emailHelper, $this->wpdiscuzForm);
59
  $this->css = new WpdiscuzCss($this->optionsSerialized, $this->helper);
60
  $this->wpdiscuzWalker = new WpdiscuzWalker($this->helper, $this->optimizationHelper, $this->dbManager, $this->optionsSerialized);
61
- register_activation_hook(__FILE__, array($this->dbManager, 'dbCreateTables'));
62
  register_deactivation_hook(__FILE__, array(&$this->wpdiscuzForm, 'removeAllFiles'));
 
 
63
  add_action('wp_head', array(&$this, 'initCurrentPostType'));
64
  add_action('wp_head', array(&$this->css, 'initCustomCss'));
65
 
@@ -73,6 +72,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
73
  if (version_compare($wp_version, '4.2.0', '>=')) {
74
  add_action('wp_ajax_dismiss_wpdiscuz_addon_note', array(&$this->options, 'dismissAddonNote'));
75
  add_action('admin_notices', array(&$this->options, 'addonNote'));
 
 
76
  }
77
 
78
  add_action('wp_ajax_loadMoreComments', array(&$this, 'loadMoreComments'));
@@ -121,6 +122,49 @@ class WpdiscuzCore implements WpDiscuzConstants {
121
  add_action('wp_loaded', array(&$this, 'addNewRoles'));
122
  }
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  public function wpdiscuzTextDomain() {
125
  load_plugin_textdomain('wpdiscuz', false, dirname(plugin_basename(__FILE__)) . '/languages/');
126
  }
@@ -685,12 +729,12 @@ class WpdiscuzCore implements WpDiscuzConstants {
685
  */
686
  public function addPluginOptionsPage() {
687
  add_submenu_page('edit-comments.php', 'WPDISCUZ', 'WPDISCUZ', 'manage_options', '#', '');
688
- add_submenu_page('edit-comments.php', '&raquo; '.__('Settings','wpdiscuz'), '&raquo; '.__('Settings','wpdiscuz'), 'manage_options', self::PAGE_SETTINGS, array(&$this->options, 'mainOptionsForm'));
689
  if (!$this->optionsSerialized->isUsePoMo) {
690
- add_submenu_page('edit-comments.php', '&raquo; '.__('Phrases','wpdiscuz'), '&raquo; '.__('Phrases','wpdiscuz'), 'manage_options', self::PAGE_PHRASES, array(&$this->options, 'phrasesOptionsForm'));
691
  }
692
- add_submenu_page('edit-comments.php', '&raquo; '.__('Tools','wpdiscuz'), '&raquo; '.__('Tools','wpdiscuz'), 'manage_options', self::PAGE_TOOLS, array(&$this->options, 'tools'));
693
- add_submenu_page('edit-comments.php', '&raquo; '.__('Addons','wpdiscuz'), '&raquo; '.__('Addons','wpdiscuz'), 'manage_options', self::PAGE_ADDONS, array(&$this->options, 'addons'));
694
  }
695
 
696
  /**
@@ -737,12 +781,12 @@ class WpdiscuzCore implements WpDiscuzConstants {
737
  if (!$this->optionsSerialized->disableFontAwesome) {
738
  wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-4.6.3/css/font-awesome.min.css'), null, '4.5.0');
739
  }
 
740
  if ($this->helper->isLoadWpdiscuz($post)) {
741
  if (!$this->optionsSerialized->disableFontAwesome) {
742
  wp_enqueue_style('wpdiscuz-font-awesome');
743
  }
744
 
745
- $u_agent = $_SERVER['HTTP_USER_AGENT'];
746
  $this->helper->registerWpDiscuzStyle($this->version);
747
  wp_enqueue_style('wpdiscuz-frontend-css');
748
 
@@ -782,6 +826,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
782
  public function pluginNewVersion() {
783
  $this->dbManager->createEmailNotificationTable();
784
  $wc_plugin_data = get_plugin_data(__FILE__);
 
785
  if (version_compare($wc_plugin_data['Version'], $this->version, '>')) {
786
  $this->wpdiscuzForm->createDefaultForm($this->version);
787
  $options = $this->changeOldOptions(get_option(self::OPTION_SLUG_OPTIONS));
@@ -875,8 +920,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
875
  }
876
 
877
  public function getCommentListArgs($postId) {
878
- $postsAuthors = $this->dbManager->getPostsAuthors();
879
  $post = get_post($postId);
 
880
  $args = array(
881
  'style' => 'div',
882
  'echo' => false,
3
  /*
4
  * Plugin Name: Comments - wpDiscuz
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
+ * Version: 4.0.3
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: http://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
45
  public $wpdiscuzForm;
46
 
47
  public function __construct() {
48
+ $this->version = get_option(self::OPTION_SLUG_VERSION,'1.0.0');
 
 
 
49
  $this->dbManager = new WpdiscuzDBManager();
50
  $this->optionsSerialized = new WpdiscuzOptionsSerialized($this->dbManager);
51
  $this->options = new WpdiscuzOptions($this->optionsSerialized, $this->dbManager);
55
  $this->optimizationHelper = new WpdiscuzOptimizationHelper($this->optionsSerialized, $this->dbManager, $this->emailHelper, $this->wpdiscuzForm);
56
  $this->css = new WpdiscuzCss($this->optionsSerialized, $this->helper);
57
  $this->wpdiscuzWalker = new WpdiscuzWalker($this->helper, $this->optimizationHelper, $this->dbManager, $this->optionsSerialized);
58
+ register_activation_hook(__FILE__, array(&$this, 'pluginActivation'));
59
  register_deactivation_hook(__FILE__, array(&$this->wpdiscuzForm, 'removeAllFiles'));
60
+ add_action('wpmu_new_blog', array(&$this, 'addNewBlog'));
61
+ add_action('delete_blog', array(&$this, 'deleteBlog'));
62
  add_action('wp_head', array(&$this, 'initCurrentPostType'));
63
  add_action('wp_head', array(&$this->css, 'initCustomCss'));
64
 
72
  if (version_compare($wp_version, '4.2.0', '>=')) {
73
  add_action('wp_ajax_dismiss_wpdiscuz_addon_note', array(&$this->options, 'dismissAddonNote'));
74
  add_action('admin_notices', array(&$this->options, 'addonNote'));
75
+ add_action('wp_ajax_dismiss_wpdiscuz_tip_note', array(&$this->options, 'dismissTipNote'));
76
+ add_action('admin_notices', array(&$this->options, 'tipNote'));
77
  }
78
 
79
  add_action('wp_ajax_loadMoreComments', array(&$this, 'loadMoreComments'));
122
  add_action('wp_loaded', array(&$this, 'addNewRoles'));
123
  }
124
 
125
+ public function pluginActivation($networkwide) {
126
+ if (function_exists('is_multisite') && is_multisite() && $networkwide) {
127
+ $oldBlogID = $this->dbManager->getBlogID();
128
+ $oldSitePluginVersion = $this->version;
129
+ $blogIDs = $this->dbManager->getBlogIDs();
130
+ foreach ($blogIDs as $blogID) {
131
+ switch_to_blog($blogID);
132
+ $this->version = get_option(self::OPTION_SLUG_VERSION,'1.0.0');
133
+ $this->actiavteWpDiscuz();
134
+ }
135
+ switch_to_blog($oldBlogID);
136
+ $this->version = $oldSitePluginVersion;
137
+ return;
138
+ }
139
+ $this->actiavteWpDiscuz();
140
+ }
141
+
142
+ public function addNewBlog($blogID) {
143
+ if (is_plugin_active_for_network('wpdiscuz/class.WpdiscuzCore.php')) {
144
+ $oldBlogID = $this->dbManager->getBlogID();
145
+ $oldSitePluginVersion = $this->version;
146
+ switch_to_blog($blogID);
147
+ $this->version = get_option(self::OPTION_SLUG_VERSION,'1.0.0');
148
+ $this->actiavteWpDiscuz();
149
+ switch_to_blog($oldBlogID);
150
+ $this->version = $oldSitePluginVersion;
151
+ }
152
+ }
153
+
154
+ public function deleteBlog($blogID){
155
+ if (is_plugin_active_for_network('wpdiscuz/class.WpdiscuzCore.php')) {
156
+ $oldBlogID = $this->dbManager->getBlogID();
157
+ switch_to_blog($blogID);
158
+ $this->dbManager->dropTables();
159
+ switch_to_blog($oldBlogID);
160
+ }
161
+ }
162
+
163
+ private function actiavteWpDiscuz() {
164
+ $this->dbManager->dbCreateTables();
165
+ $this->pluginNewVersion();
166
+ }
167
+
168
  public function wpdiscuzTextDomain() {
169
  load_plugin_textdomain('wpdiscuz', false, dirname(plugin_basename(__FILE__)) . '/languages/');
170
  }
729
  */
730
  public function addPluginOptionsPage() {
731
  add_submenu_page('edit-comments.php', 'WPDISCUZ', 'WPDISCUZ', 'manage_options', '#', '');
732
+ add_submenu_page('edit-comments.php', '&raquo; ' . __('Settings', 'wpdiscuz'), '&raquo; ' . __('Settings', 'wpdiscuz'), 'manage_options', self::PAGE_SETTINGS, array(&$this->options, 'mainOptionsForm'));
733
  if (!$this->optionsSerialized->isUsePoMo) {
734
+ add_submenu_page('edit-comments.php', '&raquo; ' . __('Phrases', 'wpdiscuz'), '&raquo; ' . __('Phrases', 'wpdiscuz'), 'manage_options', self::PAGE_PHRASES, array(&$this->options, 'phrasesOptionsForm'));
735
  }
736
+ add_submenu_page('edit-comments.php', '&raquo; ' . __('Tools', 'wpdiscuz'), '&raquo; ' . __('Tools', 'wpdiscuz'), 'manage_options', self::PAGE_TOOLS, array(&$this->options, 'tools'));
737
+ add_submenu_page('edit-comments.php', '&raquo; ' . __('Addons', 'wpdiscuz'), '&raquo; ' . __('Addons', 'wpdiscuz'), 'manage_options', self::PAGE_ADDONS, array(&$this->options, 'addons'));
738
  }
739
 
740
  /**
781
  if (!$this->optionsSerialized->disableFontAwesome) {
782
  wp_register_style('wpdiscuz-font-awesome', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/font-awesome-4.6.3/css/font-awesome.min.css'), null, '4.5.0');
783
  }
784
+
785
  if ($this->helper->isLoadWpdiscuz($post)) {
786
  if (!$this->optionsSerialized->disableFontAwesome) {
787
  wp_enqueue_style('wpdiscuz-font-awesome');
788
  }
789
 
 
790
  $this->helper->registerWpDiscuzStyle($this->version);
791
  wp_enqueue_style('wpdiscuz-frontend-css');
792
 
826
  public function pluginNewVersion() {
827
  $this->dbManager->createEmailNotificationTable();
828
  $wc_plugin_data = get_plugin_data(__FILE__);
829
+ // $this->initPluginVersion();
830
  if (version_compare($wc_plugin_data['Version'], $this->version, '>')) {
831
  $this->wpdiscuzForm->createDefaultForm($this->version);
832
  $options = $this->changeOldOptions(get_option(self::OPTION_SLUG_OPTIONS));
920
  }
921
 
922
  public function getCommentListArgs($postId) {
 
923
  $post = get_post($postId);
924
+ $postsAuthors = $post->comment_count ? $this->dbManager->getPostsAuthors() : array();
925
  $args = array(
926
  'style' => 'div',
927
  'echo' => false,
includes/class.WpdiscuzCss.php CHANGED
@@ -21,9 +21,9 @@ class WpdiscuzCss {
21
  global $post;
22
  if ($this->helper->isLoadWpdiscuz($post)) {
23
  ?>
24
- <style type="text/css">#wpcomm .wc_new_comment{background:<?php echo $this->optionsSerialized->primaryColor; ?>;}#wpcomm .wc_new_reply{background:<?php echo $this->optionsSerialized->primaryColor; ?>;}#wpcomm .wc-form-wrapper{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor:'#f9f9f9'; ?>;}#wpcomm select,#wpcomm input[type="text"],#wpcomm input[type="email"],#wpcomm input[type="url"],#wpcomm input[type="date"],#wpcomm input[type="color"]{border:<?php echo $this->optionsSerialized->inputBorderColor; ?> 1px solid;}#wpcomm .wc-comment .wc-comment-right{background:<?php echo $this->optionsSerialized->commentBGColor; ?>;}#wpcomm .wc-reply .wc-comment-right{background:<?php echo $this->optionsSerialized->replyBGColor; ?>;}#wpcomm .wc-comment-text{font-size:<?php echo isset($this->optionsSerialized->commentTextSize)?$this->optionsSerialized->commentTextSize:'14px'; ?>;color:<?php echo $this->optionsSerialized->commentTextColor; ?>;}<?php $blogRoles=$this->optionsSerialized->blogRoles;if(!$blogRoles){echo '.wc-comment-author a{color:#00B38F;} .wc-comment-label{background:#00B38F;}';}foreach($blogRoles as $role=>$color){echo '#wpcomm .wc-blog-'.$role.' > .wc-comment-right .wc-comment-author,#wpcomm .wc-blog-'.$role.' > .wc-comment-right .wc-comment-author a{color:'.$color.';}';echo '#wpcomm .wc-blog-'.$role.' > .wc-comment-left .wc-comment-label{background:'.$color.';}';}?>.wc-load-more-submit{border:1px solid <?php echo $this->optionsSerialized->inputBorderColor; ?>;}#wpcomm .wc-new-loaded-comment > .wc-comment-right{background:<?php echo $this->optionsSerialized->newLoadedCommentBGColor; ?>;}<?php echo stripslashes($this->optionsSerialized->customCss); ?>.wpdiscuz-front-actions{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor:'#f9f9f9'; ?>;}.wpdiscuz-subscribe-bar{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor : '#f9f9f9'; ?>;}.wpdiscuz-sort-buttons{color:<?php echo $this->optionsSerialized->buttonColor; ?>;}.wpdiscuz-sort-button{color:<?php echo $this->optionsSerialized->buttonColor; ?>; cursor:pointer;}.wpdiscuz-sort-button:hover{color:<?php echo $this->optionsSerialized->primaryColor; ?>;cursor:pointer;}.wpdiscuz-sort-button-active{color:<?php echo $this->optionsSerialized->primaryColor; ?>!important;cursor:default!important;}#wpcomm .page-numbers{color:<?php echo $this->optionsSerialized->commentTextColor; ?>;border:<?php echo $this->optionsSerialized->commentTextColor; ?> 1px solid;}#wpcomm span.current{background:<?php echo $this->optionsSerialized->commentTextColor; ?>;}#wpcomm .wpdiscuz-readmore{cursor:pointer;color:<?php echo $this->optionsSerialized->primaryColor; ?>;}<?php do_action('wpdiscuz_dynamic_css'); ?> #wpcomm .wpdiscuz-textarea-wrap{border:<?php echo $this->optionsSerialized->inputBorderColor; ?> 1px solid;} .wpd-custom-field .wcf-pasiv-star, #wpcomm .wpdiscuz-item .wpdiscuz-rating > label {color: <?php echo $this->optionsSerialized->ratingInactivColor; ?>;}#wpcomm .wpdiscuz-item .wpdiscuz-rating:not(:checked) > label:hover,.wpdiscuz-rating:not(:checked) > label:hover ~ label { }#wpcomm .wpdiscuz-item .wpdiscuz-rating > input ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:not(:checked) ~ label:hover ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:not(:checked) ~ label:hover ~ label{color: <?php echo $this->optionsSerialized->ratingHoverColor; ?>;} #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > label:hover ~ input:checked ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked + label:hover ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover ~ label, .wpd-custom-field .wcf-activ-star, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label{ color:<?php echo $this->optionsSerialized->ratingActivColor;; ?>;} #wpcomm .wc-cta-button:hover{border: 1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; color:#fff!important;} #wpcomm .wc-cta-active{border: 1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; color:#fff!important;}#wpcomm .wpf-cta:hover{color:#fff!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; border:1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important;}
25
 
26
- #wpcomm .wpf-cta{ border: 1px solid <?php echo $this->optionsSerialized->buttonColor['shb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['vbc'] ?>; }
27
  #wpcomm .wc-cta-button{ background:<?php echo $this->optionsSerialized->buttonColor['abb'] ?>; border:1px solid <?php echo $this->optionsSerialized->buttonColor['abb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['abc'] ?>;}
28
  #wpcomm .wc-cta-button-x{ background:<?php echo $this->optionsSerialized->buttonColor['abb'] ?>; border:1px solid <?php echo $this->optionsSerialized->buttonColor['abb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['abc'] ?>;}
29
  #wpcomm .wc-vote-link{border:1px solid <?php echo $this->optionsSerialized->buttonColor['vbb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['vbc'] ?>;}
21
  global $post;
22
  if ($this->helper->isLoadWpdiscuz($post)) {
23
  ?>
24
+ <style type="text/css">#wpcomm .wc_new_comment{background:<?php echo $this->optionsSerialized->primaryColor; ?>;}#wpcomm .wc_new_reply{background:<?php echo $this->optionsSerialized->primaryColor; ?>;}#wpcomm .wc-form-wrapper{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor:'#f9f9f9'; ?>;}#wpcomm select,#wpcomm input[type="text"],#wpcomm input[type="email"],#wpcomm input[type="url"],#wpcomm input[type="date"],#wpcomm input[type="color"]{border:<?php echo $this->optionsSerialized->inputBorderColor; ?> 1px solid;}#wpcomm .wc-comment .wc-comment-right{background:<?php echo $this->optionsSerialized->commentBGColor; ?>;}#wpcomm .wc-reply .wc-comment-right{background:<?php echo $this->optionsSerialized->replyBGColor; ?>;}#wpcomm .wc-comment-text{font-size:<?php echo isset($this->optionsSerialized->commentTextSize)?$this->optionsSerialized->commentTextSize:'14px'; ?>;color:<?php echo $this->optionsSerialized->commentTextColor; ?>;}<?php $blogRoles=$this->optionsSerialized->blogRoles;if(!$blogRoles){echo '.wc-comment-author a{color:#00B38F;} .wc-comment-label{background:#00B38F;}';}foreach($blogRoles as $role=>$color){echo '#wpcomm .wc-blog-'.$role.' > .wc-comment-right .wc-comment-author,#wpcomm .wc-blog-'.$role.' > .wc-comment-right .wc-comment-author a{color:'.$color.';}';echo '#wpcomm .wc-blog-'.$role.' > .wc-comment-left .wc-comment-label{background:'.$color.';}';}?>.wc-load-more-submit{border:1px solid <?php echo $this->optionsSerialized->inputBorderColor; ?>;}#wpcomm .wc-new-loaded-comment > .wc-comment-right{background:<?php echo $this->optionsSerialized->newLoadedCommentBGColor; ?>;}<?php echo stripslashes($this->optionsSerialized->customCss); ?>.wpdiscuz-front-actions{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor:'#f9f9f9'; ?>;}.wpdiscuz-subscribe-bar{background:<?php echo isset($this->optionsSerialized->formBGColor)?$this->optionsSerialized->formBGColor : '#f9f9f9'; ?>;}.wpdiscuz-sort-buttons{color:<?php echo $this->optionsSerialized->buttonColor['vbb']; ?>;}.wpdiscuz-sort-button{color:<?php echo $this->optionsSerialized->buttonColor['vbb']; ?>; cursor:pointer;}.wpdiscuz-sort-button:hover{color:<?php echo $this->optionsSerialized->primaryColor; ?>;cursor:pointer;}.wpdiscuz-sort-button-active{color:<?php echo $this->optionsSerialized->primaryColor; ?>!important;cursor:default!important;}#wpcomm .page-numbers{color:<?php echo $this->optionsSerialized->commentTextColor; ?>;border:<?php echo $this->optionsSerialized->commentTextColor; ?> 1px solid;}#wpcomm span.current{background:<?php echo $this->optionsSerialized->commentTextColor; ?>;}#wpcomm .wpdiscuz-readmore{cursor:pointer;color:<?php echo $this->optionsSerialized->primaryColor; ?>;}<?php do_action('wpdiscuz_dynamic_css'); ?> #wpcomm .wpdiscuz-textarea-wrap{border:<?php echo $this->optionsSerialized->inputBorderColor; ?> 1px solid;} .wpd-custom-field .wcf-pasiv-star, #wpcomm .wpdiscuz-item .wpdiscuz-rating > label {color: <?php echo $this->optionsSerialized->ratingInactivColor; ?>;}#wpcomm .wpdiscuz-item .wpdiscuz-rating:not(:checked) > label:hover,.wpdiscuz-rating:not(:checked) > label:hover ~ label { }#wpcomm .wpdiscuz-item .wpdiscuz-rating > input ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:not(:checked) ~ label:hover ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:not(:checked) ~ label:hover ~ label{color: <?php echo $this->optionsSerialized->ratingHoverColor; ?>;} #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover, #wpcomm .wpdiscuz-item .wpdiscuz-rating > label:hover ~ input:checked ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked + label:hover ~ label, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label:hover ~ label, .wpd-custom-field .wcf-activ-star, #wpcomm .wpdiscuz-item .wpdiscuz-rating > input:checked ~ label{ color:<?php echo $this->optionsSerialized->ratingActivColor;; ?>;} #wpcomm .wc-cta-button:hover{border: 1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; color:#fff!important;} #wpcomm .wc-cta-active{border: 1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; color:#fff!important;}#wpcomm .wpf-cta:hover{color:#fff!important; background:<?php echo $this->optionsSerialized->primaryColor; ?>!important; border:1px solid <?php echo $this->optionsSerialized->primaryColor; ?>!important;}
25
 
26
+ #wpcomm .wpf-cta{ border: 1px solid <?php echo $this->optionsSerialized->buttonColor['shb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['shc'] ?>; }
27
  #wpcomm .wc-cta-button{ background:<?php echo $this->optionsSerialized->buttonColor['abb'] ?>; border:1px solid <?php echo $this->optionsSerialized->buttonColor['abb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['abc'] ?>;}
28
  #wpcomm .wc-cta-button-x{ background:<?php echo $this->optionsSerialized->buttonColor['abb'] ?>; border:1px solid <?php echo $this->optionsSerialized->buttonColor['abb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['abc'] ?>;}
29
  #wpcomm .wc-vote-link{border:1px solid <?php echo $this->optionsSerialized->buttonColor['vbb'] ?>; color:<?php echo $this->optionsSerialized->buttonColor['vbc'] ?>;}
languages/wpdiscuz.pot CHANGED
@@ -3,8 +3,8 @@ msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: Comments - wpDiscuz\n"
6
- "POT-Creation-Date: 2016-11-15 19:10+0400\n"
7
- "PO-Revision-Date: 2016-11-15 19:09+0400\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
- #: class.WpdiscuzCore.php:688 class.WpdiscuzCore.php:857
24
  #: options/options-layouts/settings-social.php:40
25
  #: options/options-layouts/settings-social.php:42
26
  #: options/options-layouts/settings-social.php:44
@@ -28,33 +28,33 @@ msgstr ""
28
  msgid "Settings"
29
  msgstr ""
30
 
31
- #: class.WpdiscuzCore.php:690 class.WpdiscuzCore.php:859
32
  msgid "Phrases"
33
  msgstr ""
34
 
35
- #: class.WpdiscuzCore.php:692
36
  msgid "Tools"
37
  msgstr ""
38
 
39
- #: class.WpdiscuzCore.php:693 options/html-options.php:21
40
  #: options/html-options.php:61 options/options-layouts/settings-addons.php:7
41
  msgid "Addons"
42
  msgstr ""
43
 
44
- #: class.WpdiscuzCore.php:900 options/phrases-layouts/phrases-comment.php:116
45
  msgid "Admin"
46
  msgstr ""
47
 
48
- #: class.WpdiscuzCore.php:902 class.WpdiscuzCore.php:911
49
  #: options/phrases-layouts/phrases-comment.php:118
50
  msgid "Author"
51
  msgstr ""
52
 
53
- #: class.WpdiscuzCore.php:906 options/phrases-layouts/phrases-comment.php:124
54
  msgid "Member"
55
  msgstr ""
56
 
57
- #: class.WpdiscuzCore.php:912 options/phrases-layouts/phrases-comment.php:122
58
  msgid "Guest"
59
  msgstr ""
60
 
@@ -136,7 +136,7 @@ msgid "Add Field"
136
  msgstr ""
137
 
138
  #: forms/wpDiscuzForm.php:214 forms/wpdFormAttr/Field/Field.php:58
139
- #: options/class.WpdiscuzOptionsSerialized.php:567
140
  #: options/phrases-layouts/phrases-comment.php:32
141
  msgid "Edit"
142
  msgstr ""
@@ -193,7 +193,7 @@ msgstr ""
193
 
194
  #: forms/wpDiscuzForm.php:408 forms/wpdFormAttr/Field/DefaultField/Email.php:64
195
  #: forms/wpdFormAttr/Form.php:665
196
- #: options/class.WpdiscuzOptionsSerialized.php:554 options/html-phrases.php:24
197
  msgid "Email"
198
  msgstr ""
199
 
@@ -493,295 +493,433 @@ msgstr ""
493
  msgid "Comment Form Fields"
494
  msgstr ""
495
 
496
- #: options/class.WpdiscuzOptions.php:22 options/class.WpdiscuzOptions.php:92
497
- #: options/class.WpdiscuzOptions.php:207
498
  msgid "Hacker?"
499
  msgstr ""
500
 
501
- #: options/class.WpdiscuzOptions.php:242
502
  msgid ""
503
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
504
  "package."
505
  msgstr ""
506
 
507
- #: options/class.WpdiscuzOptions.php:243
508
  msgid ""
509
  "A full-fledged tool-kit for advertising in comment section of your website. "
510
  "Separate banner and ad managment."
511
  msgstr ""
512
 
513
- #: options/class.WpdiscuzOptions.php:244
514
  msgid ""
515
  "Allows to mention comments and users in comment text using #comment-id and "
516
  "@username tags."
517
  msgstr ""
518
 
519
- #: options/class.WpdiscuzOptions.php:245
520
  msgid ""
521
  "See comment likers and voters of each comment. Adds user reputation and "
522
  "badges based on received likes."
523
  msgstr ""
524
 
525
- #: options/class.WpdiscuzOptions.php:246
526
  msgid ""
527
  "Comment reporting tools. Auto-moderates comments based on number of flags "
528
  "and dislikes."
529
  msgstr ""
530
 
531
- #: options/class.WpdiscuzOptions.php:247
532
  msgid ""
533
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
534
  "options. Uses free translation API."
535
  msgstr ""
536
 
537
- #: options/class.WpdiscuzOptions.php:248
538
  msgid ""
539
  "AJAX powered front-end comment search. It starts searching while you type "
540
  "search words. "
541
  msgstr ""
542
 
543
- #: options/class.WpdiscuzOptions.php:249
544
  msgid ""
545
  "Most voted comments, Active comment threads, Most commented posts, Active "
546
  "comment authors"
547
  msgstr ""
548
 
549
- #: options/class.WpdiscuzOptions.php:250
550
  msgid ""
551
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
552
  "end."
553
  msgstr ""
554
 
555
- #: options/class.WpdiscuzOptions.php:251
556
  msgid ""
557
  "Extended comment attachment system. Allows to upload images, videos, audios "
558
  "and other file types."
559
  msgstr ""
560
 
561
- #: options/class.WpdiscuzOptions.php:252
562
  msgid ""
563
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
564
  "Google reCAPTCHA"
565
  msgstr ""
566
 
567
- #: options/class.WpdiscuzOptions.php:253
568
  msgid ""
569
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
570
  "myCRED points. "
571
  msgstr ""
572
 
573
- #: options/class.WpdiscuzOptions.php:254
574
  msgid ""
575
  "Allows censoring comment words. Filters comments and replaces those phrases "
576
  "with custom words."
577
  msgstr ""
578
 
579
- #: options/class.WpdiscuzOptions.php:266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  msgid "New Addons are available for wpDiscuz Comments Plugin"
581
  msgstr ""
582
 
583
- #: options/class.WpdiscuzOptions.php:273 options/class.WpdiscuzOptions.php:279
584
  msgid "Go to wpDiscuz Addons subMenu"
585
  msgstr ""
586
 
587
- #: options/class.WpdiscuzOptionsSerialized.php:548
 
 
 
 
 
 
 
 
588
  msgid "Be the First to Comment!"
589
  msgstr ""
590
 
591
- #: options/class.WpdiscuzOptionsSerialized.php:549 options/html-phrases.php:22
592
  #: options/phrases-layouts/phrases-general.php:22
593
  msgid "Comment"
594
  msgstr ""
595
 
596
- #: options/class.WpdiscuzOptionsSerialized.php:550
597
  msgid "Comments"
598
  msgstr ""
599
 
600
- #: options/class.WpdiscuzOptionsSerialized.php:551
601
  msgid "on"
602
  msgstr ""
603
 
604
- #: options/class.WpdiscuzOptionsSerialized.php:552
605
  msgid "Start the discussion"
606
  msgstr ""
607
 
608
- #: options/class.WpdiscuzOptionsSerialized.php:553
609
  msgid "Join the discussion"
610
  msgstr ""
611
 
612
- #: options/class.WpdiscuzOptionsSerialized.php:555
613
  #: options/phrases-layouts/phrases-form.php:42
614
  #: options/phrases-layouts/phrases-form.php:46
615
  msgid "Notify of"
616
  msgstr ""
617
 
618
- #: options/class.WpdiscuzOptionsSerialized.php:556
619
  #: options/phrases-layouts/phrases-form.php:56
620
  msgid "new follow-up comments"
621
  msgstr ""
622
 
623
- #: options/class.WpdiscuzOptionsSerialized.php:557
624
  msgid "new replies to my comments"
625
  msgstr ""
626
 
627
- #: options/class.WpdiscuzOptionsSerialized.php:558
628
  #: options/phrases-layouts/phrases-form.php:76
629
  msgid "Notify of new replies to this comment"
630
  msgstr ""
631
 
632
- #: options/class.WpdiscuzOptionsSerialized.php:559
633
  #: options/phrases-layouts/phrases-form.php:82
634
  #: options/phrases-layouts/phrases-form.php:86
635
  msgid "Sort by"
636
  msgstr ""
637
 
638
- #: options/class.WpdiscuzOptionsSerialized.php:560
639
  #: options/phrases-layouts/phrases-form.php:92
640
  #: options/phrases-layouts/phrases-form.php:96
641
  msgid "newest"
642
  msgstr ""
643
 
644
- #: options/class.WpdiscuzOptionsSerialized.php:561
645
  #: options/phrases-layouts/phrases-form.php:102
646
  #: options/phrases-layouts/phrases-form.php:106
647
  msgid "oldest"
648
  msgstr ""
649
 
650
- #: options/class.WpdiscuzOptionsSerialized.php:562
651
  #: options/phrases-layouts/phrases-form.php:112
652
  #: options/phrases-layouts/phrases-form.php:116
653
  msgid "most voted"
654
  msgstr ""
655
 
656
- #: options/class.WpdiscuzOptionsSerialized.php:563
657
  msgid "Load More Comments"
658
  msgstr ""
659
 
660
- #: options/class.WpdiscuzOptionsSerialized.php:564
661
  #: options/phrases-layouts/phrases-general.php:62
662
  msgid "Load Rest of Comments"
663
  msgstr ""
664
 
665
- #: options/class.WpdiscuzOptionsSerialized.php:565
666
  #: options/phrases-layouts/phrases-comment.php:12
667
  msgid "Reply"
668
  msgstr ""
669
 
670
- #: options/class.WpdiscuzOptionsSerialized.php:566
671
  #: options/phrases-layouts/phrases-comment.php:22
672
  msgid "Share"
673
  msgstr ""
674
 
675
- #: options/class.WpdiscuzOptionsSerialized.php:568
676
  #: options/phrases-layouts/phrases-comment.php:42
677
  msgid "Share On Facebook"
678
  msgstr ""
679
 
680
- #: options/class.WpdiscuzOptionsSerialized.php:569
681
  #: options/phrases-layouts/phrases-comment.php:52
682
  msgid "Share On Twitter"
683
  msgstr ""
684
 
685
- #: options/class.WpdiscuzOptionsSerialized.php:570
686
  #: options/phrases-layouts/phrases-comment.php:62
687
  msgid "Share On Google"
688
  msgstr ""
689
 
690
- #: options/class.WpdiscuzOptionsSerialized.php:571
691
  #: options/phrases-layouts/phrases-comment.php:72
692
  msgid "Share On VKontakte"
693
  msgstr ""
694
 
695
- #: options/class.WpdiscuzOptionsSerialized.php:572
696
  #: options/phrases-layouts/phrases-comment.php:82
697
  msgid "Share On Odnoklassniki"
698
  msgstr ""
699
 
700
- #: options/class.WpdiscuzOptionsSerialized.php:573
701
  #: options/phrases-layouts/phrases-comment.php:92
702
  msgid "Hide Replies"
703
  msgstr ""
704
 
705
- #: options/class.WpdiscuzOptionsSerialized.php:574
706
  #: options/phrases-layouts/phrases-comment.php:102
707
  msgid "Show Replies"
708
  msgstr ""
709
 
710
- #: options/class.WpdiscuzOptionsSerialized.php:575
711
  #: options/phrases-layouts/phrases-general.php:76
712
  msgid "New Comment"
713
  msgstr ""
714
 
715
- #: options/class.WpdiscuzOptionsSerialized.php:576
716
  msgid "New comment on the discussion section you've been interested in"
717
  msgstr ""
718
 
719
- #: options/class.WpdiscuzOptionsSerialized.php:577
720
  #: options/phrases-layouts/phrases-email.php:36
721
  #: options/phrases-layouts/phrases-general.php:96
722
- #: utils/class.WpdiscuzEmailHelper.php:154
723
  msgid "New Reply"
724
  msgstr ""
725
 
726
- #: options/class.WpdiscuzOptionsSerialized.php:578
727
- #: utils/class.WpdiscuzEmailHelper.php:155
728
  msgid "New reply on the discussion section you've been interested in"
729
  msgstr ""
730
 
731
- #: options/class.WpdiscuzOptionsSerialized.php:579
732
  msgid "You're subscribed for new replies on this comment"
733
  msgstr ""
734
 
735
- #: options/class.WpdiscuzOptionsSerialized.php:580
736
  msgid "You're subscribed for new replies on all your comments"
737
  msgstr ""
738
 
739
- #: options/class.WpdiscuzOptionsSerialized.php:581
740
  msgid "You're subscribed for new follow-up comments on this post"
741
  msgstr ""
742
 
743
- #: options/class.WpdiscuzOptionsSerialized.php:582
744
  #: options/phrases-layouts/phrases-email.php:52
745
  #: options/phrases-layouts/phrases-email.php:56
746
  msgid "Unsubscribe"
747
  msgstr ""
748
 
749
- #: options/class.WpdiscuzOptionsSerialized.php:583
750
  #: options/phrases-layouts/phrases-email.php:66
751
  msgid "Cancel subscription"
752
  msgstr ""
753
 
754
- #: options/class.WpdiscuzOptionsSerialized.php:584
755
  #: options/phrases-layouts/phrases-notification.php:32
756
  msgid "You've successfully unsubscribed."
757
  msgstr ""
758
 
759
- #: options/class.WpdiscuzOptionsSerialized.php:585
760
  #: options/phrases-layouts/phrases-notification.php:22
761
  msgid "You've successfully subscribed."
762
  msgstr ""
763
 
764
- #: options/class.WpdiscuzOptionsSerialized.php:586
765
  #: options/phrases-layouts/phrases-email.php:72
766
  #: options/phrases-layouts/phrases-email.php:76
767
  msgid "Confirm your subscription"
768
  msgstr ""
769
 
770
- #: options/class.WpdiscuzOptionsSerialized.php:587
771
  #: options/phrases-layouts/phrases-email.php:82
772
  #: options/phrases-layouts/phrases-email.php:86
773
  msgid "You've successfully confirmed your subscription."
774
  msgstr ""
775
 
776
- #: options/class.WpdiscuzOptionsSerialized.php:588
777
  #: options/phrases-layouts/phrases-email.php:96
778
- #: utils/class.WpdiscuzEmailHelper.php:47
779
  msgid "Subscribe Confirmation"
780
  msgstr ""
781
 
782
- #: options/class.WpdiscuzOptionsSerialized.php:589
783
  #: options/phrases-layouts/phrases-email.php:106
784
- #: utils/class.WpdiscuzEmailHelper.php:48
785
  msgid ""
786
  "Hi, <br/> You just subscribed for new comments on our website. This means "
787
  "you will receive an email when new comments are posted according to "
@@ -790,231 +928,231 @@ msgid ""
790
  "you again."
791
  msgstr ""
792
 
793
- #: options/class.WpdiscuzOptionsSerialized.php:590
794
  msgid "please fill out this field to comment"
795
  msgstr ""
796
 
797
- #: options/class.WpdiscuzOptionsSerialized.php:591
798
  msgid "email address is invalid"
799
  msgstr ""
800
 
801
- #: options/class.WpdiscuzOptionsSerialized.php:592
802
  msgid "url is invalid"
803
  msgstr ""
804
 
805
- #: options/class.WpdiscuzOptionsSerialized.php:593
806
  msgid "year"
807
  msgstr ""
808
 
809
- #: options/class.WpdiscuzOptionsSerialized.php:594
810
  msgid "years"
811
  msgstr ""
812
 
813
- #: options/class.WpdiscuzOptionsSerialized.php:595
814
  msgid "month"
815
  msgstr ""
816
 
817
- #: options/class.WpdiscuzOptionsSerialized.php:596
818
  msgid "months"
819
  msgstr ""
820
 
821
- #: options/class.WpdiscuzOptionsSerialized.php:597
822
  msgid "day"
823
  msgstr ""
824
 
825
- #: options/class.WpdiscuzOptionsSerialized.php:598
826
  msgid "days"
827
  msgstr ""
828
 
829
- #: options/class.WpdiscuzOptionsSerialized.php:599
830
  msgid "hour"
831
  msgstr ""
832
 
833
- #: options/class.WpdiscuzOptionsSerialized.php:600
834
  msgid "hours"
835
  msgstr ""
836
 
837
- #: options/class.WpdiscuzOptionsSerialized.php:601
838
  msgid "minute"
839
  msgstr ""
840
 
841
- #: options/class.WpdiscuzOptionsSerialized.php:602
842
  msgid "minutes"
843
  msgstr ""
844
 
845
- #: options/class.WpdiscuzOptionsSerialized.php:603
846
  msgid "second"
847
  msgstr ""
848
 
849
- #: options/class.WpdiscuzOptionsSerialized.php:604
850
  msgid "seconds"
851
  msgstr ""
852
 
853
- #: options/class.WpdiscuzOptionsSerialized.php:605
854
  msgid "right now"
855
  msgstr ""
856
 
857
- #: options/class.WpdiscuzOptionsSerialized.php:606
858
  msgid "ago"
859
  msgstr ""
860
 
861
- #: options/class.WpdiscuzOptionsSerialized.php:607
862
  #: options/phrases-layouts/phrases-datetime.php:156
863
  msgid "Today"
864
  msgstr ""
865
 
866
- #: options/class.WpdiscuzOptionsSerialized.php:608
867
  #: options/phrases-layouts/phrases-notification.php:84
868
  msgid "You must be"
869
  msgstr ""
870
 
871
- #: options/class.WpdiscuzOptionsSerialized.php:609
872
  msgid "You are logged in as"
873
  msgstr ""
874
 
875
- #: options/class.WpdiscuzOptionsSerialized.php:610
876
  #: options/phrases-layouts/phrases-notification.php:104
877
  msgid "Log out"
878
  msgstr ""
879
 
880
- #: options/class.WpdiscuzOptionsSerialized.php:611
881
  msgid "logged in"
882
  msgstr ""
883
 
884
- #: options/class.WpdiscuzOptionsSerialized.php:612
885
  msgid "to post a comment."
886
  msgstr ""
887
 
888
- #: options/class.WpdiscuzOptionsSerialized.php:613
889
  #: options/phrases-layouts/phrases-comment.php:138
890
  msgid "Vote Up"
891
  msgstr ""
892
 
893
- #: options/class.WpdiscuzOptionsSerialized.php:614
894
  #: options/phrases-layouts/phrases-comment.php:148
895
  msgid "Vote Down"
896
  msgstr ""
897
 
898
- #: options/class.WpdiscuzOptionsSerialized.php:615
899
  #: options/phrases-layouts/phrases-notification.php:134
900
  msgid "Vote Counted"
901
  msgstr ""
902
 
903
- #: options/class.WpdiscuzOptionsSerialized.php:616
904
  msgid "You've already voted for this comment"
905
  msgstr ""
906
 
907
- #: options/class.WpdiscuzOptionsSerialized.php:617
908
  #: options/phrases-layouts/phrases-notification.php:154
909
  msgid "Voting Error"
910
  msgstr ""
911
 
912
- #: options/class.WpdiscuzOptionsSerialized.php:618
913
  msgid "You Must Be Logged In To Vote"
914
  msgstr ""
915
 
916
- #: options/class.WpdiscuzOptionsSerialized.php:619
917
  msgid "You cannot vote for your comment"
918
  msgstr ""
919
 
920
- #: options/class.WpdiscuzOptionsSerialized.php:620
921
  msgid "You are not allowed to vote for this comment"
922
  msgstr ""
923
 
924
- #: options/class.WpdiscuzOptionsSerialized.php:621
925
  #: options/phrases-layouts/phrases-notification.php:194
926
  msgid "Invalid Captcha Code"
927
  msgstr ""
928
 
929
- #: options/class.WpdiscuzOptionsSerialized.php:622
930
  #: options/phrases-layouts/phrases-notification.php:204
931
  msgid "Some of field value is invalid"
932
  msgstr ""
933
 
934
- #: options/class.WpdiscuzOptionsSerialized.php:623
935
  msgid "new comment"
936
  msgstr ""
937
 
938
- #: options/class.WpdiscuzOptionsSerialized.php:624
939
  msgid "new comments"
940
  msgstr ""
941
 
942
- #: options/class.WpdiscuzOptionsSerialized.php:625
943
  msgid "Comment awaiting moderation"
944
  msgstr ""
945
 
946
- #: options/class.WpdiscuzOptionsSerialized.php:626
947
  msgid "new reply on your comment"
948
  msgstr ""
949
 
950
- #: options/class.WpdiscuzOptionsSerialized.php:627
951
  msgid "new replies on your comments"
952
  msgstr ""
953
 
954
- #: options/class.WpdiscuzOptionsSerialized.php:628
955
  #: options/phrases-layouts/phrases-general.php:116
956
  msgid "New"
957
  msgstr ""
958
 
959
- #: options/class.WpdiscuzOptionsSerialized.php:629
960
  #: options/phrases-layouts/phrases-notification.php:249
961
  msgid "Sorry, the comment was not updated"
962
  msgstr ""
963
 
964
- #: options/class.WpdiscuzOptionsSerialized.php:630
965
  #: options/phrases-layouts/phrases-notification.php:259
966
  msgid "Sorry, this comment no longer possible to edit"
967
  msgstr ""
968
 
969
- #: options/class.WpdiscuzOptionsSerialized.php:631
970
  msgid "You've not made any changes"
971
  msgstr ""
972
 
973
- #: options/class.WpdiscuzOptionsSerialized.php:632
974
  #: options/phrases-layouts/phrases-comment.php:162
975
  msgid "Save"
976
  msgstr ""
977
 
978
- #: options/class.WpdiscuzOptionsSerialized.php:633
979
  #: options/phrases-layouts/phrases-comment.php:172
980
  msgid "Cancel"
981
  msgstr ""
982
 
983
- #: options/class.WpdiscuzOptionsSerialized.php:634
984
  msgid "Input is too short"
985
  msgstr ""
986
 
987
- #: options/class.WpdiscuzOptionsSerialized.php:635
988
  msgid "Input is too long"
989
  msgstr ""
990
 
991
- #: options/class.WpdiscuzOptionsSerialized.php:636
992
  #: options/phrases-layouts/phrases-comment.php:182
993
  msgid "Read more &raquo;"
994
  msgstr ""
995
 
996
- #: options/class.WpdiscuzOptionsSerialized.php:637
997
  #: options/phrases-layouts/phrases-comment.php:192
998
  msgid "Anonymous"
999
  msgstr ""
1000
 
1001
- #: options/class.WpdiscuzOptionsSerialized.php:638
1002
  #: options/phrases-layouts/phrases-notification.php:275
1003
  #: options/phrases-layouts/phrases-notification.php:279
1004
  msgid "Please fill out required fields"
1005
  msgstr ""
1006
 
1007
- #: options/class.WpdiscuzOptionsSerialized.php:639
1008
  #: options/phrases-layouts/phrases-form.php:152
1009
  #: options/phrases-layouts/phrases-form.php:156
1010
  msgid "Connect with"
1011
  msgstr ""
1012
 
1013
- #: options/class.WpdiscuzOptionsSerialized.php:640
1014
  msgid "You're subscribed to"
1015
  msgstr ""
1016
 
1017
- #: options/class.WpdiscuzOptionsSerialized.php:641
1018
  msgid "Participate in this discussion via email"
1019
  msgstr ""
1020
 
@@ -1192,111 +1330,115 @@ msgid "Google Map API Key"
1192
  msgstr ""
1193
 
1194
  #: options/options-layouts/settings-general.php:11
 
 
 
 
1195
  msgid "Enable Quicktags"
1196
  msgstr ""
1197
 
1198
- #: options/options-layouts/settings-general.php:16
1199
  msgid "Use guest email to detect registered account"
1200
  msgstr ""
1201
 
1202
- #: options/options-layouts/settings-general.php:18
1203
  msgid ""
1204
  "Sometimes registered users comment as guest using the same email address. "
1205
  "wpDiscuz can detect the account role using guest email and display commenter "
1206
  "label correctly."
1207
  msgstr ""
1208
 
1209
- #: options/options-layouts/settings-general.php:25
1210
  msgid "Comment author name min length (for guests only)"
1211
  msgstr ""
1212
 
1213
- #: options/options-layouts/settings-general.php:29
1214
- #: options/options-layouts/settings-general.php:52
1215
  msgid "Min"
1216
  msgstr ""
1217
 
1218
- #: options/options-layouts/settings-general.php:32
1219
- #: options/options-layouts/settings-general.php:55
1220
  msgid "Max"
1221
  msgstr ""
1222
 
1223
- #: options/options-layouts/settings-general.php:38
1224
  msgid "Keep guest commenter credentials in browser cookies for x days"
1225
  msgstr ""
1226
 
1227
- #: options/options-layouts/settings-general.php:40
1228
  msgid "Set this option value -1 to make it unlimited."
1229
  msgstr ""
1230
 
1231
- #: options/options-layouts/settings-general.php:41
1232
  msgid "Set this option value 0 to clear those data when user closes browser."
1233
  msgstr ""
1234
 
1235
- #: options/options-layouts/settings-general.php:48
1236
  msgid "Comment text length"
1237
  msgstr ""
1238
 
1239
- #: options/options-layouts/settings-general.php:61
1240
  msgid ""
1241
  "The number of words before breaking comment text and showing \"Read more\" "
1242
  "link"
1243
  msgstr ""
1244
 
1245
- #: options/options-layouts/settings-general.php:63
1246
  msgid "Set this option value 0, to turn off comment text breaking function."
1247
  msgstr ""
1248
 
1249
- #: options/options-layouts/settings-general.php:69
1250
  msgid "Comment text size in pixels"
1251
  msgstr ""
1252
 
1253
- #: options/options-layouts/settings-general.php:82
1254
  msgid "Allow comment editing for"
1255
  msgstr ""
1256
 
1257
- #: options/options-layouts/settings-general.php:86
1258
  msgid "Do not allow"
1259
  msgstr ""
1260
 
1261
- #: options/options-layouts/settings-general.php:87
1262
- #: options/options-layouts/settings-general.php:88
1263
  #: options/options-layouts/settings-live-update.php:52
1264
  #: options/options-layouts/settings-live-update.php:53
1265
  #: options/options-layouts/settings-live-update.php:54
1266
  msgid "Minutes"
1267
  msgstr ""
1268
 
1269
- #: options/options-layouts/settings-general.php:89
1270
  #: options/phrases-layouts/phrases-datetime.php:72
1271
  msgid "Hour"
1272
  msgstr ""
1273
 
1274
- #: options/options-layouts/settings-general.php:90
1275
- #: options/options-layouts/settings-general.php:91
1276
  msgid "Hours"
1277
  msgstr ""
1278
 
1279
- #: options/options-layouts/settings-general.php:92
1280
  msgid "Unlimit"
1281
  msgstr ""
1282
 
1283
- #: options/options-layouts/settings-general.php:98
1284
  msgid "Redirect first commenter to"
1285
  msgstr ""
1286
 
1287
- #: options/options-layouts/settings-general.php:105
1288
  msgid "Do not redirect"
1289
  msgstr ""
1290
 
1291
- #: options/options-layouts/settings-general.php:112
1292
  msgid "Allow guests to vote on comments"
1293
  msgstr ""
1294
 
1295
- #: options/options-layouts/settings-general.php:117
1296
  msgid "Comments loading/pagination type"
1297
  msgstr ""
1298
 
1299
- #: options/options-layouts/settings-general.php:119
1300
  msgid ""
1301
  "You can manage the number of comments for [Load more] option in Settings > "
1302
  "Discussion page, using \"Break comments into pages with [X] top level "
@@ -1304,40 +1446,40 @@ msgid ""
1304
  "you should enable the checkbox on bigining of the same option."
1305
  msgstr ""
1306
 
1307
- #: options/options-layouts/settings-general.php:125
1308
- #: options/options-layouts/settings-general.php:127
1309
- msgid "[Load more] Button"
1310
- msgstr ""
1311
-
1312
  #: options/options-layouts/settings-general.php:129
1313
  #: options/options-layouts/settings-general.php:131
1314
- msgid "[Load rest of all comments] Button"
1315
  msgstr ""
1316
 
1317
  #: options/options-layouts/settings-general.php:133
1318
  #: options/options-layouts/settings-general.php:135
 
 
 
 
 
1319
  msgid "Lazy load comments on scrolling"
1320
  msgstr ""
1321
 
1322
- #: options/options-layouts/settings-general.php:142
1323
  msgid "Use WordPress Date/Time format"
1324
  msgstr ""
1325
 
1326
- #: options/options-layouts/settings-general.php:143
1327
  msgid ""
1328
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
1329
  "show the date/time format set in WordPress General Settings."
1330
  msgstr ""
1331
 
1332
- #: options/options-layouts/settings-general.php:149
1333
  msgid "Current Wordpress date/time format"
1334
  msgstr ""
1335
 
1336
- #: options/options-layouts/settings-general.php:155
1337
  msgid "Use Plugin .PO/.MO files"
1338
  msgstr ""
1339
 
1340
- #: options/options-layouts/settings-general.php:156
1341
  msgid ""
1342
  "wpDiscuz phrase system allows you to translate all front-end phrases. "
1343
  "However if you have a multi-language website it'll not allow you to add more "
@@ -1347,13 +1489,13 @@ msgid ""
1347
  "translate all phrases based on language files according to current language."
1348
  msgstr ""
1349
 
1350
- #: options/options-layouts/settings-general.php:163
1351
  msgid ""
1352
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
1353
  "use"
1354
  msgstr ""
1355
 
1356
- #: options/options-layouts/settings-general.php:165
1357
  msgid ""
1358
  "Please check this option on to help wpDiscuz get more popularity as your "
1359
  "thank to the hard work we do for you totally free. This option adds a very "
@@ -1361,7 +1503,7 @@ msgid ""
1361
  "visitors recognize the name of comment solution you use."
1362
  msgstr ""
1363
 
1364
- #: options/options-layouts/settings-general.php:170
1365
  msgid "Thank you!"
1366
  msgstr ""
1367
 
@@ -1566,6 +1708,10 @@ msgstr ""
1566
  msgid "Enable automatic image URL to image HTML conversion"
1567
  msgstr ""
1568
 
 
 
 
 
1569
  #: options/options-layouts/settings-social.php:50
1570
  #: options/options-layouts/settings-social.php:61
1571
  #: options/options-layouts/settings-social.php:72
@@ -2055,7 +2201,7 @@ msgstr ""
2055
  msgid "Subscription not successed"
2056
  msgstr ""
2057
 
2058
- #: templates/comment/comment-form.php:307
2059
  msgid "wpDiscuz"
2060
  msgstr ""
2061
 
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: Comments - wpDiscuz\n"
6
+ "POT-Creation-Date: 2017-01-23 18:12+0400\n"
7
+ "PO-Revision-Date: 2017-01-23 18:12+0400\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
+ #: class.WpdiscuzCore.php:732 class.WpdiscuzCore.php:902
24
  #: options/options-layouts/settings-social.php:40
25
  #: options/options-layouts/settings-social.php:42
26
  #: options/options-layouts/settings-social.php:44
28
  msgid "Settings"
29
  msgstr ""
30
 
31
+ #: class.WpdiscuzCore.php:734 class.WpdiscuzCore.php:904
32
  msgid "Phrases"
33
  msgstr ""
34
 
35
+ #: class.WpdiscuzCore.php:736
36
  msgid "Tools"
37
  msgstr ""
38
 
39
+ #: class.WpdiscuzCore.php:737 options/html-options.php:21
40
  #: options/html-options.php:61 options/options-layouts/settings-addons.php:7
41
  msgid "Addons"
42
  msgstr ""
43
 
44
+ #: class.WpdiscuzCore.php:945 options/phrases-layouts/phrases-comment.php:116
45
  msgid "Admin"
46
  msgstr ""
47
 
48
+ #: class.WpdiscuzCore.php:947 class.WpdiscuzCore.php:956
49
  #: options/phrases-layouts/phrases-comment.php:118
50
  msgid "Author"
51
  msgstr ""
52
 
53
+ #: class.WpdiscuzCore.php:951 options/phrases-layouts/phrases-comment.php:124
54
  msgid "Member"
55
  msgstr ""
56
 
57
+ #: class.WpdiscuzCore.php:957 options/phrases-layouts/phrases-comment.php:122
58
  msgid "Guest"
59
  msgstr ""
60
 
136
  msgstr ""
137
 
138
  #: forms/wpDiscuzForm.php:214 forms/wpdFormAttr/Field/Field.php:58
139
+ #: options/class.WpdiscuzOptionsSerialized.php:584
140
  #: options/phrases-layouts/phrases-comment.php:32
141
  msgid "Edit"
142
  msgstr ""
193
 
194
  #: forms/wpDiscuzForm.php:408 forms/wpdFormAttr/Field/DefaultField/Email.php:64
195
  #: forms/wpdFormAttr/Form.php:665
196
+ #: options/class.WpdiscuzOptionsSerialized.php:571 options/html-phrases.php:24
197
  msgid "Email"
198
  msgstr ""
199
 
493
  msgid "Comment Form Fields"
494
  msgstr ""
495
 
496
+ #: options/class.WpdiscuzOptions.php:24 options/class.WpdiscuzOptions.php:96
497
+ #: options/class.WpdiscuzOptions.php:211
498
  msgid "Hacker?"
499
  msgstr ""
500
 
501
+ #: options/class.WpdiscuzOptions.php:246
502
  msgid ""
503
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
504
  "package."
505
  msgstr ""
506
 
507
+ #: options/class.WpdiscuzOptions.php:247
508
  msgid ""
509
  "A full-fledged tool-kit for advertising in comment section of your website. "
510
  "Separate banner and ad managment."
511
  msgstr ""
512
 
513
+ #: options/class.WpdiscuzOptions.php:248
514
  msgid ""
515
  "Allows to mention comments and users in comment text using #comment-id and "
516
  "@username tags."
517
  msgstr ""
518
 
519
+ #: options/class.WpdiscuzOptions.php:249
520
  msgid ""
521
  "See comment likers and voters of each comment. Adds user reputation and "
522
  "badges based on received likes."
523
  msgstr ""
524
 
525
+ #: options/class.WpdiscuzOptions.php:250
526
  msgid ""
527
  "Comment reporting tools. Auto-moderates comments based on number of flags "
528
  "and dislikes."
529
  msgstr ""
530
 
531
+ #: options/class.WpdiscuzOptions.php:251
532
  msgid ""
533
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
534
  "options. Uses free translation API."
535
  msgstr ""
536
 
537
+ #: options/class.WpdiscuzOptions.php:252
538
  msgid ""
539
  "AJAX powered front-end comment search. It starts searching while you type "
540
  "search words. "
541
  msgstr ""
542
 
543
+ #: options/class.WpdiscuzOptions.php:253
544
  msgid ""
545
  "Most voted comments, Active comment threads, Most commented posts, Active "
546
  "comment authors"
547
  msgstr ""
548
 
549
+ #: options/class.WpdiscuzOptions.php:254
550
  msgid ""
551
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
552
  "end."
553
  msgstr ""
554
 
555
+ #: options/class.WpdiscuzOptions.php:255
556
  msgid ""
557
  "Extended comment attachment system. Allows to upload images, videos, audios "
558
  "and other file types."
559
  msgstr ""
560
 
561
+ #: options/class.WpdiscuzOptions.php:256
562
  msgid ""
563
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
564
  "Google reCAPTCHA"
565
  msgstr ""
566
 
567
+ #: options/class.WpdiscuzOptions.php:257
568
  msgid ""
569
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
570
  "myCRED points. "
571
  msgstr ""
572
 
573
+ #: options/class.WpdiscuzOptions.php:258
574
  msgid ""
575
  "Allows censoring comment words. Filters comments and replaces those phrases "
576
  "with custom words."
577
  msgstr ""
578
 
579
+ #: options/class.WpdiscuzOptions.php:264
580
+ msgid "Custom Comment Forms"
581
+ msgstr ""
582
+
583
+ #: options/class.WpdiscuzOptions.php:265
584
+ msgid ""
585
+ "You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with "
586
+ "custom comment forms and fields. You can create custom comment forms for "
587
+ "each post type, each form can beceated with different form fields, for "
588
+ "eaxample: text, dropdown, rating, checkboxes, etc..."
589
+ msgstr ""
590
+
591
+ #: options/class.WpdiscuzOptions.php:268
592
+ msgid "Emoticons"
593
+ msgstr ""
594
+
595
+ #: options/class.WpdiscuzOptions.php:269
596
+ msgid ""
597
+ "You can add more emotions to your comments using wpDiscuz Emoticons addon."
598
+ msgstr ""
599
+
600
+ #: options/class.WpdiscuzOptions.php:272
601
+ msgid "Ads Manager"
602
+ msgstr ""
603
+
604
+ #: options/class.WpdiscuzOptions.php:273
605
+ msgid ""
606
+ "Increase your income using ad banners. Comment area is the most active "
607
+ "sections for advertising. wpDiscuz Ads Manager addon is designed to help you "
608
+ "add banners and control ads in this section."
609
+ msgstr ""
610
+
611
+ #: options/class.WpdiscuzOptions.php:276
612
+ msgid "User and Comment Mentioning"
613
+ msgstr ""
614
+
615
+ #: options/class.WpdiscuzOptions.php:277
616
+ msgid ""
617
+ "Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters "
618
+ "mention comments and users in comment text using #comment-id and @username "
619
+ "tags."
620
+ msgstr ""
621
+
622
+ #: options/class.WpdiscuzOptions.php:280
623
+ msgid "Advanced Likers"
624
+ msgstr ""
625
+
626
+ #: options/class.WpdiscuzOptions.php:281
627
+ msgid ""
628
+ "wpDiscuz Advanced Likers addon displays likers and voters of each comment. "
629
+ "Adds user reputation and badges based on received likes."
630
+ msgstr ""
631
+
632
+ #: options/class.WpdiscuzOptions.php:284
633
+ msgid "Report and Flagging"
634
+ msgstr ""
635
+
636
+ #: options/class.WpdiscuzOptions.php:285
637
+ msgid ""
638
+ "Let your commenters help you to determine and remove spam comments. wpDiscuz "
639
+ "Report and Flagging addon comes with comment reporting tools. Automaticaly "
640
+ "auto-moderates comments based on number of flags and dislikes."
641
+ msgstr ""
642
+
643
+ #: options/class.WpdiscuzOptions.php:288
644
+ msgid "Comment Translate"
645
+ msgstr ""
646
+
647
+ #: options/class.WpdiscuzOptions.php:289
648
+ msgid ""
649
+ "In most cases the big part of your visitors are not a native speakers of "
650
+ "your language. Make your comments comprehensible for all visitors using "
651
+ "wpDiscuz Comment Translation addon. It adds smart and intuitive AJAX "
652
+ "\"Translate\" button with 60 language translation options. Uses free "
653
+ "translation API."
654
+ msgstr ""
655
+
656
+ #: options/class.WpdiscuzOptions.php:292
657
+ msgid "Comment Search"
658
+ msgstr ""
659
+
660
+ #: options/class.WpdiscuzOptions.php:293
661
+ msgid ""
662
+ "You can let website visitor search in comments. It's always more attractive "
663
+ "to find a comment about something that interest you. Using wpDiscuz Comment "
664
+ "Search addon you'll get a nice, AJAX powered front-end comment search form "
665
+ "above comment list."
666
+ msgstr ""
667
+
668
+ #: options/class.WpdiscuzOptions.php:296
669
+ msgid "wpDiscuz Widgets"
670
+ msgstr ""
671
+
672
+ #: options/class.WpdiscuzOptions.php:297
673
+ msgid ""
674
+ "More Comment Widgets! Most voted comments, Active comment threads, Most "
675
+ "commented posts, Active comment authors widgets are available in wpDiscuz "
676
+ "Widgets Addon"
677
+ msgstr ""
678
+
679
+ #: options/class.WpdiscuzOptions.php:300
680
+ msgid "Front-end Moderation"
681
+ msgstr ""
682
+
683
+ #: options/class.WpdiscuzOptions.php:301
684
+ msgid ""
685
+ "You can moderate comments on front-end using all in one powerful yet simple "
686
+ "wpDiscuz Frontend Moderation addon."
687
+ msgstr ""
688
+
689
+ #: options/class.WpdiscuzOptions.php:304
690
+ msgid "Media Uploader"
691
+ msgstr ""
692
+
693
+ #: options/class.WpdiscuzOptions.php:305
694
+ msgid ""
695
+ "You can let website visitors attach images and files to comments and embed "
696
+ "video/audio content using wpDiscuz Media Uploader addon."
697
+ msgstr ""
698
+
699
+ #: options/class.WpdiscuzOptions.php:308
700
+ msgid "Google ReCaptcha"
701
+ msgstr ""
702
+
703
+ #: options/class.WpdiscuzOptions.php:309
704
+ msgid ""
705
+ "Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon "
706
+ "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
707
+ msgstr ""
708
+
709
+ #: options/class.WpdiscuzOptions.php:323
710
  msgid "New Addons are available for wpDiscuz Comments Plugin"
711
  msgstr ""
712
 
713
+ #: options/class.WpdiscuzOptions.php:330 options/class.WpdiscuzOptions.php:336
714
  msgid "Go to wpDiscuz Addons subMenu"
715
  msgstr ""
716
 
717
+ #: options/class.WpdiscuzOptions.php:367
718
+ msgid "Do you know?"
719
+ msgstr ""
720
+
721
+ #: options/class.WpdiscuzOptions.php:379
722
+ msgid "More info"
723
+ msgstr ""
724
+
725
+ #: options/class.WpdiscuzOptionsSerialized.php:565
726
  msgid "Be the First to Comment!"
727
  msgstr ""
728
 
729
+ #: options/class.WpdiscuzOptionsSerialized.php:566 options/html-phrases.php:22
730
  #: options/phrases-layouts/phrases-general.php:22
731
  msgid "Comment"
732
  msgstr ""
733
 
734
+ #: options/class.WpdiscuzOptionsSerialized.php:567
735
  msgid "Comments"
736
  msgstr ""
737
 
738
+ #: options/class.WpdiscuzOptionsSerialized.php:568
739
  msgid "on"
740
  msgstr ""
741
 
742
+ #: options/class.WpdiscuzOptionsSerialized.php:569
743
  msgid "Start the discussion"
744
  msgstr ""
745
 
746
+ #: options/class.WpdiscuzOptionsSerialized.php:570
747
  msgid "Join the discussion"
748
  msgstr ""
749
 
750
+ #: options/class.WpdiscuzOptionsSerialized.php:572
751
  #: options/phrases-layouts/phrases-form.php:42
752
  #: options/phrases-layouts/phrases-form.php:46
753
  msgid "Notify of"
754
  msgstr ""
755
 
756
+ #: options/class.WpdiscuzOptionsSerialized.php:573
757
  #: options/phrases-layouts/phrases-form.php:56
758
  msgid "new follow-up comments"
759
  msgstr ""
760
 
761
+ #: options/class.WpdiscuzOptionsSerialized.php:574
762
  msgid "new replies to my comments"
763
  msgstr ""
764
 
765
+ #: options/class.WpdiscuzOptionsSerialized.php:575
766
  #: options/phrases-layouts/phrases-form.php:76
767
  msgid "Notify of new replies to this comment"
768
  msgstr ""
769
 
770
+ #: options/class.WpdiscuzOptionsSerialized.php:576
771
  #: options/phrases-layouts/phrases-form.php:82
772
  #: options/phrases-layouts/phrases-form.php:86
773
  msgid "Sort by"
774
  msgstr ""
775
 
776
+ #: options/class.WpdiscuzOptionsSerialized.php:577
777
  #: options/phrases-layouts/phrases-form.php:92
778
  #: options/phrases-layouts/phrases-form.php:96
779
  msgid "newest"
780
  msgstr ""
781
 
782
+ #: options/class.WpdiscuzOptionsSerialized.php:578
783
  #: options/phrases-layouts/phrases-form.php:102
784
  #: options/phrases-layouts/phrases-form.php:106
785
  msgid "oldest"
786
  msgstr ""
787
 
788
+ #: options/class.WpdiscuzOptionsSerialized.php:579
789
  #: options/phrases-layouts/phrases-form.php:112
790
  #: options/phrases-layouts/phrases-form.php:116
791
  msgid "most voted"
792
  msgstr ""
793
 
794
+ #: options/class.WpdiscuzOptionsSerialized.php:580
795
  msgid "Load More Comments"
796
  msgstr ""
797
 
798
+ #: options/class.WpdiscuzOptionsSerialized.php:581
799
  #: options/phrases-layouts/phrases-general.php:62
800
  msgid "Load Rest of Comments"
801
  msgstr ""
802
 
803
+ #: options/class.WpdiscuzOptionsSerialized.php:582
804
  #: options/phrases-layouts/phrases-comment.php:12
805
  msgid "Reply"
806
  msgstr ""
807
 
808
+ #: options/class.WpdiscuzOptionsSerialized.php:583
809
  #: options/phrases-layouts/phrases-comment.php:22
810
  msgid "Share"
811
  msgstr ""
812
 
813
+ #: options/class.WpdiscuzOptionsSerialized.php:585
814
  #: options/phrases-layouts/phrases-comment.php:42
815
  msgid "Share On Facebook"
816
  msgstr ""
817
 
818
+ #: options/class.WpdiscuzOptionsSerialized.php:586
819
  #: options/phrases-layouts/phrases-comment.php:52
820
  msgid "Share On Twitter"
821
  msgstr ""
822
 
823
+ #: options/class.WpdiscuzOptionsSerialized.php:587
824
  #: options/phrases-layouts/phrases-comment.php:62
825
  msgid "Share On Google"
826
  msgstr ""
827
 
828
+ #: options/class.WpdiscuzOptionsSerialized.php:588
829
  #: options/phrases-layouts/phrases-comment.php:72
830
  msgid "Share On VKontakte"
831
  msgstr ""
832
 
833
+ #: options/class.WpdiscuzOptionsSerialized.php:589
834
  #: options/phrases-layouts/phrases-comment.php:82
835
  msgid "Share On Odnoklassniki"
836
  msgstr ""
837
 
838
+ #: options/class.WpdiscuzOptionsSerialized.php:590
839
  #: options/phrases-layouts/phrases-comment.php:92
840
  msgid "Hide Replies"
841
  msgstr ""
842
 
843
+ #: options/class.WpdiscuzOptionsSerialized.php:591
844
  #: options/phrases-layouts/phrases-comment.php:102
845
  msgid "Show Replies"
846
  msgstr ""
847
 
848
+ #: options/class.WpdiscuzOptionsSerialized.php:592
849
  #: options/phrases-layouts/phrases-general.php:76
850
  msgid "New Comment"
851
  msgstr ""
852
 
853
+ #: options/class.WpdiscuzOptionsSerialized.php:593
854
  msgid "New comment on the discussion section you've been interested in"
855
  msgstr ""
856
 
857
+ #: options/class.WpdiscuzOptionsSerialized.php:594
858
  #: options/phrases-layouts/phrases-email.php:36
859
  #: options/phrases-layouts/phrases-general.php:96
860
+ #: utils/class.WpdiscuzEmailHelper.php:158
861
  msgid "New Reply"
862
  msgstr ""
863
 
864
+ #: options/class.WpdiscuzOptionsSerialized.php:595
865
+ #: utils/class.WpdiscuzEmailHelper.php:159
866
  msgid "New reply on the discussion section you've been interested in"
867
  msgstr ""
868
 
869
+ #: options/class.WpdiscuzOptionsSerialized.php:596
870
  msgid "You're subscribed for new replies on this comment"
871
  msgstr ""
872
 
873
+ #: options/class.WpdiscuzOptionsSerialized.php:597
874
  msgid "You're subscribed for new replies on all your comments"
875
  msgstr ""
876
 
877
+ #: options/class.WpdiscuzOptionsSerialized.php:598
878
  msgid "You're subscribed for new follow-up comments on this post"
879
  msgstr ""
880
 
881
+ #: options/class.WpdiscuzOptionsSerialized.php:599
882
  #: options/phrases-layouts/phrases-email.php:52
883
  #: options/phrases-layouts/phrases-email.php:56
884
  msgid "Unsubscribe"
885
  msgstr ""
886
 
887
+ #: options/class.WpdiscuzOptionsSerialized.php:600
888
  #: options/phrases-layouts/phrases-email.php:66
889
  msgid "Cancel subscription"
890
  msgstr ""
891
 
892
+ #: options/class.WpdiscuzOptionsSerialized.php:601
893
  #: options/phrases-layouts/phrases-notification.php:32
894
  msgid "You've successfully unsubscribed."
895
  msgstr ""
896
 
897
+ #: options/class.WpdiscuzOptionsSerialized.php:602
898
  #: options/phrases-layouts/phrases-notification.php:22
899
  msgid "You've successfully subscribed."
900
  msgstr ""
901
 
902
+ #: options/class.WpdiscuzOptionsSerialized.php:603
903
  #: options/phrases-layouts/phrases-email.php:72
904
  #: options/phrases-layouts/phrases-email.php:76
905
  msgid "Confirm your subscription"
906
  msgstr ""
907
 
908
+ #: options/class.WpdiscuzOptionsSerialized.php:604
909
  #: options/phrases-layouts/phrases-email.php:82
910
  #: options/phrases-layouts/phrases-email.php:86
911
  msgid "You've successfully confirmed your subscription."
912
  msgstr ""
913
 
914
+ #: options/class.WpdiscuzOptionsSerialized.php:605
915
  #: options/phrases-layouts/phrases-email.php:96
916
+ #: utils/class.WpdiscuzEmailHelper.php:51
917
  msgid "Subscribe Confirmation"
918
  msgstr ""
919
 
920
+ #: options/class.WpdiscuzOptionsSerialized.php:606
921
  #: options/phrases-layouts/phrases-email.php:106
922
+ #: utils/class.WpdiscuzEmailHelper.php:52
923
  msgid ""
924
  "Hi, <br/> You just subscribed for new comments on our website. This means "
925
  "you will receive an email when new comments are posted according to "
928
  "you again."
929
  msgstr ""
930
 
931
+ #: options/class.WpdiscuzOptionsSerialized.php:607
932
  msgid "please fill out this field to comment"
933
  msgstr ""
934
 
935
+ #: options/class.WpdiscuzOptionsSerialized.php:608
936
  msgid "email address is invalid"
937
  msgstr ""
938
 
939
+ #: options/class.WpdiscuzOptionsSerialized.php:609
940
  msgid "url is invalid"
941
  msgstr ""
942
 
943
+ #: options/class.WpdiscuzOptionsSerialized.php:610
944
  msgid "year"
945
  msgstr ""
946
 
947
+ #: options/class.WpdiscuzOptionsSerialized.php:611
948
  msgid "years"
949
  msgstr ""
950
 
951
+ #: options/class.WpdiscuzOptionsSerialized.php:612
952
  msgid "month"
953
  msgstr ""
954
 
955
+ #: options/class.WpdiscuzOptionsSerialized.php:613
956
  msgid "months"
957
  msgstr ""
958
 
959
+ #: options/class.WpdiscuzOptionsSerialized.php:614
960
  msgid "day"
961
  msgstr ""
962
 
963
+ #: options/class.WpdiscuzOptionsSerialized.php:615
964
  msgid "days"
965
  msgstr ""
966
 
967
+ #: options/class.WpdiscuzOptionsSerialized.php:616
968
  msgid "hour"
969
  msgstr ""
970
 
971
+ #: options/class.WpdiscuzOptionsSerialized.php:617
972
  msgid "hours"
973
  msgstr ""
974
 
975
+ #: options/class.WpdiscuzOptionsSerialized.php:618
976
  msgid "minute"
977
  msgstr ""
978
 
979
+ #: options/class.WpdiscuzOptionsSerialized.php:619
980
  msgid "minutes"
981
  msgstr ""
982
 
983
+ #: options/class.WpdiscuzOptionsSerialized.php:620
984
  msgid "second"
985
  msgstr ""
986
 
987
+ #: options/class.WpdiscuzOptionsSerialized.php:621
988
  msgid "seconds"
989
  msgstr ""
990
 
991
+ #: options/class.WpdiscuzOptionsSerialized.php:622
992
  msgid "right now"
993
  msgstr ""
994
 
995
+ #: options/class.WpdiscuzOptionsSerialized.php:623
996
  msgid "ago"
997
  msgstr ""
998
 
999
+ #: options/class.WpdiscuzOptionsSerialized.php:624
1000
  #: options/phrases-layouts/phrases-datetime.php:156
1001
  msgid "Today"
1002
  msgstr ""
1003
 
1004
+ #: options/class.WpdiscuzOptionsSerialized.php:625
1005
  #: options/phrases-layouts/phrases-notification.php:84
1006
  msgid "You must be"
1007
  msgstr ""
1008
 
1009
+ #: options/class.WpdiscuzOptionsSerialized.php:626
1010
  msgid "You are logged in as"
1011
  msgstr ""
1012
 
1013
+ #: options/class.WpdiscuzOptionsSerialized.php:627
1014
  #: options/phrases-layouts/phrases-notification.php:104
1015
  msgid "Log out"
1016
  msgstr ""
1017
 
1018
+ #: options/class.WpdiscuzOptionsSerialized.php:628
1019
  msgid "logged in"
1020
  msgstr ""
1021
 
1022
+ #: options/class.WpdiscuzOptionsSerialized.php:629
1023
  msgid "to post a comment."
1024
  msgstr ""
1025
 
1026
+ #: options/class.WpdiscuzOptionsSerialized.php:630
1027
  #: options/phrases-layouts/phrases-comment.php:138
1028
  msgid "Vote Up"
1029
  msgstr ""
1030
 
1031
+ #: options/class.WpdiscuzOptionsSerialized.php:631
1032
  #: options/phrases-layouts/phrases-comment.php:148
1033
  msgid "Vote Down"
1034
  msgstr ""
1035
 
1036
+ #: options/class.WpdiscuzOptionsSerialized.php:632
1037
  #: options/phrases-layouts/phrases-notification.php:134
1038
  msgid "Vote Counted"
1039
  msgstr ""
1040
 
1041
+ #: options/class.WpdiscuzOptionsSerialized.php:633
1042
  msgid "You've already voted for this comment"
1043
  msgstr ""
1044
 
1045
+ #: options/class.WpdiscuzOptionsSerialized.php:634
1046
  #: options/phrases-layouts/phrases-notification.php:154
1047
  msgid "Voting Error"
1048
  msgstr ""
1049
 
1050
+ #: options/class.WpdiscuzOptionsSerialized.php:635
1051
  msgid "You Must Be Logged In To Vote"
1052
  msgstr ""
1053
 
1054
+ #: options/class.WpdiscuzOptionsSerialized.php:636
1055
  msgid "You cannot vote for your comment"
1056
  msgstr ""
1057
 
1058
+ #: options/class.WpdiscuzOptionsSerialized.php:637
1059
  msgid "You are not allowed to vote for this comment"
1060
  msgstr ""
1061
 
1062
+ #: options/class.WpdiscuzOptionsSerialized.php:638
1063
  #: options/phrases-layouts/phrases-notification.php:194
1064
  msgid "Invalid Captcha Code"
1065
  msgstr ""
1066
 
1067
+ #: options/class.WpdiscuzOptionsSerialized.php:639
1068
  #: options/phrases-layouts/phrases-notification.php:204
1069
  msgid "Some of field value is invalid"
1070
  msgstr ""
1071
 
1072
+ #: options/class.WpdiscuzOptionsSerialized.php:640
1073
  msgid "new comment"
1074
  msgstr ""
1075
 
1076
+ #: options/class.WpdiscuzOptionsSerialized.php:641
1077
  msgid "new comments"
1078
  msgstr ""
1079
 
1080
+ #: options/class.WpdiscuzOptionsSerialized.php:642
1081
  msgid "Comment awaiting moderation"
1082
  msgstr ""
1083
 
1084
+ #: options/class.WpdiscuzOptionsSerialized.php:643
1085
  msgid "new reply on your comment"
1086
  msgstr ""
1087
 
1088
+ #: options/class.WpdiscuzOptionsSerialized.php:644
1089
  msgid "new replies on your comments"
1090
  msgstr ""
1091
 
1092
+ #: options/class.WpdiscuzOptionsSerialized.php:645
1093
  #: options/phrases-layouts/phrases-general.php:116
1094
  msgid "New"
1095
  msgstr ""
1096
 
1097
+ #: options/class.WpdiscuzOptionsSerialized.php:646
1098
  #: options/phrases-layouts/phrases-notification.php:249
1099
  msgid "Sorry, the comment was not updated"
1100
  msgstr ""
1101
 
1102
+ #: options/class.WpdiscuzOptionsSerialized.php:647
1103
  #: options/phrases-layouts/phrases-notification.php:259
1104
  msgid "Sorry, this comment no longer possible to edit"
1105
  msgstr ""
1106
 
1107
+ #: options/class.WpdiscuzOptionsSerialized.php:648
1108
  msgid "You've not made any changes"
1109
  msgstr ""
1110
 
1111
+ #: options/class.WpdiscuzOptionsSerialized.php:649
1112
  #: options/phrases-layouts/phrases-comment.php:162
1113
  msgid "Save"
1114
  msgstr ""
1115
 
1116
+ #: options/class.WpdiscuzOptionsSerialized.php:650
1117
  #: options/phrases-layouts/phrases-comment.php:172
1118
  msgid "Cancel"
1119
  msgstr ""
1120
 
1121
+ #: options/class.WpdiscuzOptionsSerialized.php:651
1122
  msgid "Input is too short"
1123
  msgstr ""
1124
 
1125
+ #: options/class.WpdiscuzOptionsSerialized.php:652
1126
  msgid "Input is too long"
1127
  msgstr ""
1128
 
1129
+ #: options/class.WpdiscuzOptionsSerialized.php:653
1130
  #: options/phrases-layouts/phrases-comment.php:182
1131
  msgid "Read more &raquo;"
1132
  msgstr ""
1133
 
1134
+ #: options/class.WpdiscuzOptionsSerialized.php:654
1135
  #: options/phrases-layouts/phrases-comment.php:192
1136
  msgid "Anonymous"
1137
  msgstr ""
1138
 
1139
+ #: options/class.WpdiscuzOptionsSerialized.php:655
1140
  #: options/phrases-layouts/phrases-notification.php:275
1141
  #: options/phrases-layouts/phrases-notification.php:279
1142
  msgid "Please fill out required fields"
1143
  msgstr ""
1144
 
1145
+ #: options/class.WpdiscuzOptionsSerialized.php:656
1146
  #: options/phrases-layouts/phrases-form.php:152
1147
  #: options/phrases-layouts/phrases-form.php:156
1148
  msgid "Connect with"
1149
  msgstr ""
1150
 
1151
+ #: options/class.WpdiscuzOptionsSerialized.php:657
1152
  msgid "You're subscribed to"
1153
  msgstr ""
1154
 
1155
+ #: options/class.WpdiscuzOptionsSerialized.php:658
1156
  msgid "Participate in this discussion via email"
1157
  msgstr ""
1158
 
1330
  msgstr ""
1331
 
1332
  #: options/options-layouts/settings-general.php:11
1333
+ msgid "Enable wpdiscuz on home page"
1334
+ msgstr ""
1335
+
1336
+ #: options/options-layouts/settings-general.php:15
1337
  msgid "Enable Quicktags"
1338
  msgstr ""
1339
 
1340
+ #: options/options-layouts/settings-general.php:20
1341
  msgid "Use guest email to detect registered account"
1342
  msgstr ""
1343
 
1344
+ #: options/options-layouts/settings-general.php:22
1345
  msgid ""
1346
  "Sometimes registered users comment as guest using the same email address. "
1347
  "wpDiscuz can detect the account role using guest email and display commenter "
1348
  "label correctly."
1349
  msgstr ""
1350
 
1351
+ #: options/options-layouts/settings-general.php:29
1352
  msgid "Comment author name min length (for guests only)"
1353
  msgstr ""
1354
 
1355
+ #: options/options-layouts/settings-general.php:33
1356
+ #: options/options-layouts/settings-general.php:56
1357
  msgid "Min"
1358
  msgstr ""
1359
 
1360
+ #: options/options-layouts/settings-general.php:36
1361
+ #: options/options-layouts/settings-general.php:59
1362
  msgid "Max"
1363
  msgstr ""
1364
 
1365
+ #: options/options-layouts/settings-general.php:42
1366
  msgid "Keep guest commenter credentials in browser cookies for x days"
1367
  msgstr ""
1368
 
1369
+ #: options/options-layouts/settings-general.php:44
1370
  msgid "Set this option value -1 to make it unlimited."
1371
  msgstr ""
1372
 
1373
+ #: options/options-layouts/settings-general.php:45
1374
  msgid "Set this option value 0 to clear those data when user closes browser."
1375
  msgstr ""
1376
 
1377
+ #: options/options-layouts/settings-general.php:52
1378
  msgid "Comment text length"
1379
  msgstr ""
1380
 
1381
+ #: options/options-layouts/settings-general.php:65
1382
  msgid ""
1383
  "The number of words before breaking comment text and showing \"Read more\" "
1384
  "link"
1385
  msgstr ""
1386
 
1387
+ #: options/options-layouts/settings-general.php:67
1388
  msgid "Set this option value 0, to turn off comment text breaking function."
1389
  msgstr ""
1390
 
1391
+ #: options/options-layouts/settings-general.php:73
1392
  msgid "Comment text size in pixels"
1393
  msgstr ""
1394
 
1395
+ #: options/options-layouts/settings-general.php:86
1396
  msgid "Allow comment editing for"
1397
  msgstr ""
1398
 
1399
+ #: options/options-layouts/settings-general.php:90
1400
  msgid "Do not allow"
1401
  msgstr ""
1402
 
1403
+ #: options/options-layouts/settings-general.php:91
1404
+ #: options/options-layouts/settings-general.php:92
1405
  #: options/options-layouts/settings-live-update.php:52
1406
  #: options/options-layouts/settings-live-update.php:53
1407
  #: options/options-layouts/settings-live-update.php:54
1408
  msgid "Minutes"
1409
  msgstr ""
1410
 
1411
+ #: options/options-layouts/settings-general.php:93
1412
  #: options/phrases-layouts/phrases-datetime.php:72
1413
  msgid "Hour"
1414
  msgstr ""
1415
 
1416
+ #: options/options-layouts/settings-general.php:94
1417
+ #: options/options-layouts/settings-general.php:95
1418
  msgid "Hours"
1419
  msgstr ""
1420
 
1421
+ #: options/options-layouts/settings-general.php:96
1422
  msgid "Unlimit"
1423
  msgstr ""
1424
 
1425
+ #: options/options-layouts/settings-general.php:102
1426
  msgid "Redirect first commenter to"
1427
  msgstr ""
1428
 
1429
+ #: options/options-layouts/settings-general.php:109
1430
  msgid "Do not redirect"
1431
  msgstr ""
1432
 
1433
+ #: options/options-layouts/settings-general.php:116
1434
  msgid "Allow guests to vote on comments"
1435
  msgstr ""
1436
 
1437
+ #: options/options-layouts/settings-general.php:121
1438
  msgid "Comments loading/pagination type"
1439
  msgstr ""
1440
 
1441
+ #: options/options-layouts/settings-general.php:123
1442
  msgid ""
1443
  "You can manage the number of comments for [Load more] option in Settings > "
1444
  "Discussion page, using \"Break comments into pages with [X] top level "
1446
  "you should enable the checkbox on bigining of the same option."
1447
  msgstr ""
1448
 
 
 
 
 
 
1449
  #: options/options-layouts/settings-general.php:129
1450
  #: options/options-layouts/settings-general.php:131
1451
+ msgid "[Load more] Button"
1452
  msgstr ""
1453
 
1454
  #: options/options-layouts/settings-general.php:133
1455
  #: options/options-layouts/settings-general.php:135
1456
+ msgid "[Load rest of all comments] Button"
1457
+ msgstr ""
1458
+
1459
+ #: options/options-layouts/settings-general.php:137
1460
+ #: options/options-layouts/settings-general.php:139
1461
  msgid "Lazy load comments on scrolling"
1462
  msgstr ""
1463
 
1464
+ #: options/options-layouts/settings-general.php:146
1465
  msgid "Use WordPress Date/Time format"
1466
  msgstr ""
1467
 
1468
+ #: options/options-layouts/settings-general.php:147
1469
  msgid ""
1470
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
1471
  "show the date/time format set in WordPress General Settings."
1472
  msgstr ""
1473
 
1474
+ #: options/options-layouts/settings-general.php:153
1475
  msgid "Current Wordpress date/time format"
1476
  msgstr ""
1477
 
1478
+ #: options/options-layouts/settings-general.php:159
1479
  msgid "Use Plugin .PO/.MO files"
1480
  msgstr ""
1481
 
1482
+ #: options/options-layouts/settings-general.php:160
1483
  msgid ""
1484
  "wpDiscuz phrase system allows you to translate all front-end phrases. "
1485
  "However if you have a multi-language website it'll not allow you to add more "
1489
  "translate all phrases based on language files according to current language."
1490
  msgstr ""
1491
 
1492
+ #: options/options-layouts/settings-general.php:167
1493
  msgid ""
1494
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
1495
  "use"
1496
  msgstr ""
1497
 
1498
+ #: options/options-layouts/settings-general.php:169
1499
  msgid ""
1500
  "Please check this option on to help wpDiscuz get more popularity as your "
1501
  "thank to the hard work we do for you totally free. This option adds a very "
1503
  "visitors recognize the name of comment solution you use."
1504
  msgstr ""
1505
 
1506
+ #: options/options-layouts/settings-general.php:174
1507
  msgid "Thank you!"
1508
  msgstr ""
1509
 
1708
  msgid "Enable automatic image URL to image HTML conversion"
1709
  msgstr ""
1710
 
1711
+ #: options/options-layouts/settings-show-hide.php:122
1712
+ msgid "Disable wpDiscuz Tips"
1713
+ msgstr ""
1714
+
1715
  #: options/options-layouts/settings-social.php:50
1716
  #: options/options-layouts/settings-social.php:61
1717
  #: options/options-layouts/settings-social.php:72
2201
  msgid "Subscription not successed"
2202
  msgstr ""
2203
 
2204
+ #: templates/comment/comment-form.php:306
2205
  msgid "wpDiscuz"
2206
  msgstr ""
2207
 
manager/class.WpdiscuzDBManager.php CHANGED
@@ -9,6 +9,10 @@ class WpdiscuzDBManager {
9
  private $emailNotification;
10
 
11
  function __construct() {
 
 
 
 
12
  global $wpdb;
13
  $this->db = $wpdb;
14
  $this->dbprefix = $wpdb->prefix;
@@ -21,6 +25,7 @@ class WpdiscuzDBManager {
21
  * create table in db on activation if not exists
22
  */
23
  public function dbCreateTables() {
 
24
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
25
  if (!$this->isTableExists($this->users_voted)) {
26
  $sql = "CREATE TABLE `" . $this->users_voted . "`(`id` INT(11) NOT NULL AUTO_INCREMENT,`user_id` VARCHAR(255) NOT NULL, `comment_id` INT(11) NOT NULL, `vote_type` INT(11) DEFAULT NULL, `is_guest` TINYINT(1) DEFAULT 0, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `comment_id` (`comment_id`), KEY `vote_type` (`vote_type`), KEY `is_guest` (`is_guest`)) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=1;";
@@ -394,7 +399,7 @@ class WpdiscuzDBManager {
394
  $sql = $this->db->prepare($sql, $email);
395
  return $this->db->get_var($sql);
396
  }
397
-
398
  public function hasConfirmedSubscriptionByID($subscribID) {
399
  $sql = "SELECT `subscribtion_type` as `type` FROM `" . $this->emailNotification . "` WHERE `id` = %d AND `confirm` = 1;";
400
  $sql = $this->db->prepare($sql, $subscribID);
@@ -477,8 +482,11 @@ class WpdiscuzDBManager {
477
  * return users id who have published posts
478
  */
479
  public function getPostsAuthors() {
480
- $sql = "SELECT `post_author` FROM `" . $this->dbprefix . "posts` WHERE `post_type` = 'post' AND `post_status` IN ('publish', 'private') GROUP BY `post_author`;";
481
- $postsAuthors = $this->db->get_results($sql, ARRAY_N);
 
 
 
482
  return $this->matrixToArray($postsAuthors);
483
  }
484
 
@@ -542,4 +550,22 @@ class WpdiscuzDBManager {
542
  $this->db->query($sql);
543
  }
544
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
545
  }
9
  private $emailNotification;
10
 
11
  function __construct() {
12
+ $this->initDB();
13
+ }
14
+
15
+ private function initDB(){
16
  global $wpdb;
17
  $this->db = $wpdb;
18
  $this->dbprefix = $wpdb->prefix;
25
  * create table in db on activation if not exists
26
  */
27
  public function dbCreateTables() {
28
+ $this->initDB();
29
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
30
  if (!$this->isTableExists($this->users_voted)) {
31
  $sql = "CREATE TABLE `" . $this->users_voted . "`(`id` INT(11) NOT NULL AUTO_INCREMENT,`user_id` VARCHAR(255) NOT NULL, `comment_id` INT(11) NOT NULL, `vote_type` INT(11) DEFAULT NULL, `is_guest` TINYINT(1) DEFAULT 0, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `comment_id` (`comment_id`), KEY `vote_type` (`vote_type`), KEY `is_guest` (`is_guest`)) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=1;";
399
  $sql = $this->db->prepare($sql, $email);
400
  return $this->db->get_var($sql);
401
  }
402
+
403
  public function hasConfirmedSubscriptionByID($subscribID) {
404
  $sql = "SELECT `subscribtion_type` as `type` FROM `" . $this->emailNotification . "` WHERE `id` = %d AND `confirm` = 1;";
405
  $sql = $this->db->prepare($sql, $subscribID);
482
  * return users id who have published posts
483
  */
484
  public function getPostsAuthors() {
485
+ if (($postsAuthors = get_transient(WpdiscuzCore::TRS_POSTS_AUTHORS)) === false) {
486
+ $sql = "SELECT `post_author` FROM `" . $this->dbprefix . "posts` WHERE `post_type` = 'post' AND `post_status` IN ('publish', 'private') GROUP BY `post_author`;";
487
+ $postsAuthors = $this->db->get_results($sql, ARRAY_N);
488
+ set_transient(WpdiscuzCore::TRS_POSTS_AUTHORS, $postsAuthors, 6 * HOUR_IN_SECONDS);
489
+ }
490
  return $this->matrixToArray($postsAuthors);
491
  }
492
 
550
  $this->db->query($sql);
551
  }
552
  }
553
+
554
+ /* MULTI SITE */
555
+
556
+ public function getBlogID(){
557
+ return $this->db->blogid;
558
+ }
559
+
560
+ public function getBlogIDs(){
561
+ return $this->db->get_col("SELECT blog_id FROM {$this->db->blogs}");
562
+ }
563
+
564
+ public function dropTables(){
565
+ $this->initDB();
566
+ $this->db->query("DROP TABLE IF EXISTS `{$this->emailNotification}`");
567
+ $this->db->query("DROP TABLE IF EXISTS `{$this->phrases}`");
568
+ $this->db->query("DROP TABLE IF EXISTS `{$this->users_voted}`");
569
+ }
570
+
571
  }
options/class.WpdiscuzOptions.php CHANGED
@@ -7,12 +7,14 @@ class WpdiscuzOptions {
7
  private $blogRoles;
8
  private $shareButtons;
9
  private $addons;
 
10
 
11
  public function __construct($optionsSerialized, $dbManager) {
12
  $this->dbManager = $dbManager;
13
  $this->optionsSerialized = $optionsSerialized;
14
  $this->initShareButtons();
15
  $this->initAddons();
 
16
  }
17
 
18
  public function mainOptionsForm() {
@@ -26,6 +28,7 @@ class WpdiscuzOptions {
26
  check_admin_referer('wc_options_form');
27
  }
28
 
 
29
  $this->optionsSerialized->isQuickTagsEnabled = isset($_POST['wc_quick_tags']) ? $_POST['wc_quick_tags'] : 0;
30
  $this->optionsSerialized->commentListUpdateType = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
31
  $this->optionsSerialized->commentListUpdateTimer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
@@ -60,10 +63,11 @@ class WpdiscuzOptions {
60
  $this->optionsSerialized->ratingInactivColor = isset($_POST['wc_comment_rating_inactiv_color']) ? $_POST['wc_comment_rating_inactiv_color'] : '#DDDDDD';
61
  $this->optionsSerialized->ratingActivColor = isset($_POST['wc_comment_rating_activ_color']) ? $_POST['wc_comment_rating_activ_color'] : '#FFD700';
62
  $this->optionsSerialized->blogRoles = isset($_POST['wc_blog_roles']) ? wp_parse_args($_POST['wc_blog_roles'], $this->optionsSerialized->blogRoles) : $this->optionsSerialized->blogRoles;
63
- $this->optionsSerialized->buttonColor = isset($_POST['wc_link_button_color']) ? $_POST['wc_link_button_color'] : array('shc'=> '#bbbbbb','shb'=> '#cccccc','vbc'=> '#aaaaaa','vbb'=> '#bbbbbb','abc'=> '#ffffff','abb'=> '#888888');
64
  $this->optionsSerialized->inputBorderColor = isset($_POST['wc_input_border_color']) ? $_POST['wc_input_border_color'] : '#d9d9d9';
65
  $this->optionsSerialized->newLoadedCommentBGColor = isset($_POST['wc_new_loaded_comment_bg_color']) ? $_POST['wc_new_loaded_comment_bg_color'] : '#FFFAD6';
66
  $this->optionsSerialized->disableFontAwesome = isset($_POST['disableFontAwesome']) ? $_POST['disableFontAwesome'] : 0;
 
67
  $this->optionsSerialized->customCss = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
68
  $this->optionsSerialized->showPluginPoweredByLink = isset($_POST['wc_show_plugin_powerid_by']) ? $_POST['wc_show_plugin_powerid_by'] : 0;
69
  $this->optionsSerialized->isUsePoMo = isset($_POST['wc_is_use_po_mo']) ? $_POST['wc_is_use_po_mo'] : 0;
@@ -255,6 +259,59 @@ class WpdiscuzOptions {
255
  );
256
  }
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  public function addonNote() {
259
 
260
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
@@ -282,12 +339,67 @@ class WpdiscuzOptions {
282
  }
283
  }
284
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
285
  public function dismissAddonNote() {
286
  $hash = $this->addonHash();
287
  update_option('wpdiscuz-addon-note-dismissed', $hash);
288
  exit();
289
  }
290
 
 
 
 
 
 
 
291
  public function dismissAddonNoteOnPage() {
292
  $hash = $this->addonHash();
293
  update_option('wpdiscuz-addon-note-dismissed', $hash);
@@ -302,6 +414,28 @@ class WpdiscuzOptions {
302
  return $hash;
303
  }
304
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
305
  public function refreshAddonPage() {
306
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
307
  $currentHash = $this->addonHash();
7
  private $blogRoles;
8
  private $shareButtons;
9
  private $addons;
10
+ private $tips;
11
 
12
  public function __construct($optionsSerialized, $dbManager) {
13
  $this->dbManager = $dbManager;
14
  $this->optionsSerialized = $optionsSerialized;
15
  $this->initShareButtons();
16
  $this->initAddons();
17
+ $this->initTips();
18
  }
19
 
20
  public function mainOptionsForm() {
28
  check_admin_referer('wc_options_form');
29
  }
30
 
31
+ $this->optionsSerialized->isEnableOnHome = isset($_POST['isEnableOnHome']) ? $_POST['isEnableOnHome'] : 0;
32
  $this->optionsSerialized->isQuickTagsEnabled = isset($_POST['wc_quick_tags']) ? $_POST['wc_quick_tags'] : 0;
33
  $this->optionsSerialized->commentListUpdateType = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
34
  $this->optionsSerialized->commentListUpdateTimer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
63
  $this->optionsSerialized->ratingInactivColor = isset($_POST['wc_comment_rating_inactiv_color']) ? $_POST['wc_comment_rating_inactiv_color'] : '#DDDDDD';
64
  $this->optionsSerialized->ratingActivColor = isset($_POST['wc_comment_rating_activ_color']) ? $_POST['wc_comment_rating_activ_color'] : '#FFD700';
65
  $this->optionsSerialized->blogRoles = isset($_POST['wc_blog_roles']) ? wp_parse_args($_POST['wc_blog_roles'], $this->optionsSerialized->blogRoles) : $this->optionsSerialized->blogRoles;
66
+ $this->optionsSerialized->buttonColor = isset($_POST['wc_link_button_color']) ? $_POST['wc_link_button_color'] : array('shc' => '#bbbbbb', 'shb' => '#cccccc', 'vbc' => '#aaaaaa', 'vbb' => '#bbbbbb', 'abc' => '#ffffff', 'abb' => '#888888');
67
  $this->optionsSerialized->inputBorderColor = isset($_POST['wc_input_border_color']) ? $_POST['wc_input_border_color'] : '#d9d9d9';
68
  $this->optionsSerialized->newLoadedCommentBGColor = isset($_POST['wc_new_loaded_comment_bg_color']) ? $_POST['wc_new_loaded_comment_bg_color'] : '#FFFAD6';
69
  $this->optionsSerialized->disableFontAwesome = isset($_POST['disableFontAwesome']) ? $_POST['disableFontAwesome'] : 0;
70
+ $this->optionsSerialized->disableTips = isset($_POST['disableTips']) ? $_POST['disableTips'] : 0;
71
  $this->optionsSerialized->customCss = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
72
  $this->optionsSerialized->showPluginPoweredByLink = isset($_POST['wc_show_plugin_powerid_by']) ? $_POST['wc_show_plugin_powerid_by'] : 0;
73
  $this->optionsSerialized->isUsePoMo = isset($_POST['wc_is_use_po_mo']) ? $_POST['wc_is_use_po_mo'] : 0;
259
  );
260
  }
261
 
262
+ private function initTips() {
263
+ $this->tips = array(
264
+ 'custom-form' => array('title' => __('Custom Comment Forms','wpdiscuz'),
265
+ 'text' => __('You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with custom comment forms and fields. You can create custom comment forms for each post type, each form can beceated with different form fields, for eaxample: text, dropdown, rating, checkboxes, etc...','wpdiscuz'),
266
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'img' . WPDISCUZ_DS . 'tips' . WPDISCUZ_DS . 'custom-form.png'),
267
+ 'url' => admin_url() . 'edit.php?post_type=wpdiscuz_form'),
268
+ 'emoticons' => array('title' => __('Emoticons','wpdiscuz'),
269
+ 'text' => __('You can add more emotions to your comments using wpDiscuz Emoticons addon.','wpdiscuz'),
270
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'emoticons' . WPDISCUZ_DS . 'header.png'),
271
+ 'url' => 'http://gvectors.com/product/wpdiscuz-emoticons/'),
272
+ 'ads-manager' => array('title' => __('Ads Manager','wpdiscuz'),
273
+ 'text' => __('Increase your income using ad banners. Comment area is the most active sections for advertising. wpDiscuz Ads Manager addon is designed to help you add banners and control ads in this section.','wpdiscuz'),
274
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'ads-manager' . WPDISCUZ_DS . 'header.png'),
275
+ 'url' => 'http://gvectors.com/product/wpdiscuz-ads-manager/'),
276
+ 'user-mention' => array('title' => __('User and Comment Mentioning','wpdiscuz'),
277
+ 'text' => __('Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters mention comments and users in comment text using #comment-id and @username tags.','wpdiscuz'),
278
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'user-mention' . WPDISCUZ_DS . 'header.png'),
279
+ 'url' => 'http://gvectors.com/product/wpdiscuz-user-comment-mentioning/'),
280
+ 'likers' => array('title' => __('Advanced Likers','wpdiscuz'),
281
+ 'text' => __('wpDiscuz Advanced Likers addon displays likers and voters of each comment. Adds user reputation and badges based on received likes.','wpdiscuz'),
282
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'likers' . WPDISCUZ_DS . 'header.png'),
283
+ 'url' => 'http://gvectors.com/product/wpdiscuz-advanced-likers/'),
284
+ 'report-flagging' => array('title' => __('Report and Flagging','wpdiscuz'),
285
+ 'text' => __('Let your commenters help you to determine and remove spam comments. wpDiscuz Report and Flagging addon comes with comment reporting tools. Automaticaly auto-moderates comments based on number of flags and dislikes.','wpdiscuz'),
286
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'report' . WPDISCUZ_DS . 'header.png'),
287
+ 'url' => 'http://gvectors.com/product/wpdiscuz-report-flagging/'),
288
+ 'translate' => array('title' => __('Comment Translate','wpdiscuz'),
289
+ 'text' => __('In most cases the big part of your visitors are not a native speakers of your language. Make your comments comprehensible for all visitors using wpDiscuz Comment Translation addon. It adds smart and intuitive AJAX "Translate" button with 60 language translation options. Uses free translation API.','wpdiscuz'),
290
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'translate' . WPDISCUZ_DS . 'header.png'),
291
+ 'url' => 'http://gvectors.com/product/wpdiscuz-comment-translation/'),
292
+ 'search' => array('title' => __('Comment Search','wpdiscuz'),
293
+ 'text' => __('You can let website visitor search in comments. It\'s always more attractive to find a comment about something that interest you. Using wpDiscuz Comment Search addon you\'ll get a nice, AJAX powered front-end comment search form above comment list.','wpdiscuz'),
294
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'search' . WPDISCUZ_DS . 'header.png'),
295
+ 'url' => 'http://gvectors.com/product/wpdiscuz-comment-search/'),
296
+ 'widgets' => array('title' => __('wpDiscuz Widgets','wpdiscuz'),
297
+ 'text' => __('More Comment Widgets! Most voted comments, Active comment threads, Most commented posts, Active comment authors widgets are available in wpDiscuz Widgets Addon','wpdiscuz'),
298
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'widgets' . WPDISCUZ_DS . 'header.png'),
299
+ 'url' => 'http://gvectors.com/product/wpdiscuz-widgets/'),
300
+ 'frontend-moderation' => array('title' => __('Front-end Moderation','wpdiscuz'),
301
+ 'text' => __('You can moderate comments on front-end using all in one powerful yet simple wpDiscuz Frontend Moderation addon.','wpdiscuz'),
302
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'frontend-moderation' . WPDISCUZ_DS . 'header.png'),
303
+ 'url' => 'http://gvectors.com/product/wpdiscuz-frontend-moderation/'),
304
+ 'uploader' => array('title' => __('Media Uploader','wpdiscuz'),
305
+ 'text' => __('You can let website visitors attach images and files to comments and embed video/audio content using wpDiscuz Media Uploader addon.','wpdiscuz'),
306
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'uploader' . WPDISCUZ_DS . 'header.png'),
307
+ 'url' => 'http://gvectors.com/product/wpdiscuz-media-uploader/'),
308
+ 'recaptcha' => array('title' => __('Google ReCaptcha','wpdiscuz'),
309
+ 'text' => __('Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments.','wpdiscuz'),
310
+ 'thumb' => plugins_url(WPDISCUZ_DIR_NAME . WPDISCUZ_DS . 'assets' . WPDISCUZ_DS . 'addons' . WPDISCUZ_DS . 'recaptcha' . WPDISCUZ_DS . 'header.png'),
311
+ 'url' => 'http://gvectors.com/product/wpdiscuz-recaptcha/'),
312
+ );
313
+ }
314
+
315
  public function addonNote() {
316
 
317
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
339
  }
340
  }
341
 
342
+ public function tipNote() {
343
+ if ($this->optionsSerialized->disableTips) {
344
+ return false;
345
+ }
346
+ if (strpos($_SERVER['REQUEST_URI'], 'edit-comments.php') === FALSE && strpos($_SERVER['REQUEST_URI'], 'edit.php?post_type=wpdiscuz_form') === FALSE) {
347
+ return false;
348
+ }
349
+ else{
350
+ $show = mt_rand(1, 5); if ($show != 1) return false;
351
+ }
352
+ $lastHash = get_option('wpdiscuz-tip-note-dismissed');
353
+ $lastHashArray = explode(',', $lastHash);
354
+ $currentHash = $this->tipHash();
355
+ if ($lastHash != $currentHash) {
356
+ foreach ($this->tips as $key => $tip) {
357
+ if (in_array($tip['title'], $lastHashArray)) {
358
+ continue;
359
+ }
360
+ $notDisplayedTips[] = $tip;
361
+ }
362
+ if (empty($notDisplayedTips)) {
363
+ return false;
364
+ }
365
+ ?>
366
+ <div class="updated notice wpdiscuz_tip_note is-dismissible" style="margin-top:10px;">
367
+ <p style="font-weight: 600; font-size:15px; border-bottom:1px dotted #DCDCDC; padding-bottom:10px; width:95%;"><?php _e('Do you know?','wpdiscuz'); ?></p>
368
+ <div style="font-size:14px;">
369
+ <?php $cTipKey = array_rand($notDisplayedTips, 1);
370
+ $cTip = $notDisplayedTips[$cTipKey];
371
+ ?>
372
+ <div style="display:inline-block; width:100%; padding-right:10px; margin-bottom:10px;">
373
+ <input type="hidden" value="<?php echo esc_attr($cTip['title']) ?>" name="wpdiscuz_tip_note_value" id="wpdiscuz_tip_note_value" />
374
+ <table style="width:100%" width="100%" border="0" cellspacing="0" cellpadding="0">
375
+ <tbody>
376
+ <tr>
377
+ <td style="width:50px; vertical-align:middle; text-align:center;"><img src="<?php echo esc_url($cTip['thumb']) ?>" style="height:45px; width:auto; vertical-align:middle; margin:0px 10px; text-decoration:none;" /></td>
378
+ <td style="vertical-align:middle;"><?php echo $cTip['text']; ?></td>
379
+ <td style="width:100px; text-align:center; vertical-align:middle;"><a href="<?php echo esc_url($cTip['url']); ?>" class="button button-primary button-large" target="_blank"><?php _e('More info','wpdiscuz') ?></a></td>
380
+ </tr>
381
+ </tbody>
382
+ </table>
383
+ </div>
384
+ <div style="clear:both;"></div>
385
+ </div>
386
+ </div>
387
+ <?php
388
+ }
389
+ }
390
+
391
  public function dismissAddonNote() {
392
  $hash = $this->addonHash();
393
  update_option('wpdiscuz-addon-note-dismissed', $hash);
394
  exit();
395
  }
396
 
397
+ public function dismissTipNote() {
398
+ $hash = $this->tipDisplayed();
399
+ update_option('wpdiscuz-tip-note-dismissed', $hash);
400
+ exit();
401
+ }
402
+
403
  public function dismissAddonNoteOnPage() {
404
  $hash = $this->addonHash();
405
  update_option('wpdiscuz-addon-note-dismissed', $hash);
414
  return $hash;
415
  }
416
 
417
+ public function tipHash() {
418
+ $viewed = '';
419
+ foreach ($this->tips as $key => $tip) {
420
+ $viewed .= $tip['title'] . ',';
421
+ }
422
+ $hash = $viewed;
423
+ return $hash;
424
+ }
425
+
426
+ public function tipDisplayed() {
427
+ $tipTtile = substr(strip_tags($_GET['tip']), 0, 100);
428
+ $lastHash = get_option('wpdiscuz-tip-note-dismissed');
429
+ if ($lastHash) {
430
+ $lastHashArray = explode(',', $lastHash);
431
+ } else {
432
+ $lastHashArray = array();
433
+ }
434
+ $lastHashArray[] = $tipTtile;
435
+ $hash = implode(',', $lastHashArray);
436
+ return $hash;
437
+ }
438
+
439
  public function refreshAddonPage() {
440
  $lastHash = get_option('wpdiscuz-addon-note-dismissed');
441
  $currentHash = $this->addonHash();
options/class.WpdiscuzOptionsSerialized.php CHANGED
@@ -2,6 +2,14 @@
2
 
3
  class WpdiscuzOptionsSerialized {
4
 
 
 
 
 
 
 
 
 
5
  /**
6
  * Type - Checkbox
7
  * Available Values - Checked/Unchecked
@@ -241,10 +249,10 @@ class WpdiscuzOptionsSerialized {
241
  * Default Value - #00B38F
242
  */
243
  public $primaryColor;
244
-
245
-
246
  // == RATING == //
247
-
248
  /**
249
  * Type - Input
250
  * Available Values - color codes
@@ -252,7 +260,7 @@ class WpdiscuzOptionsSerialized {
252
  * Default Value - #FFED85
253
  */
254
  public $ratingHoverColor;
255
-
256
  /**
257
  * Type - Input
258
  * Available Values - color codes
@@ -260,8 +268,7 @@ class WpdiscuzOptionsSerialized {
260
  * Default Value - #DDDDDD
261
  */
262
  public $ratingInactivColor;
263
-
264
-
265
  /**
266
  * Type - Input
267
  * Available Values - color codes
@@ -269,7 +276,7 @@ class WpdiscuzOptionsSerialized {
269
  * Default Value - #FFD700
270
  */
271
  public $ratingActivColor;
272
-
273
  // == RATING == //
274
 
275
  /**
@@ -428,6 +435,14 @@ class WpdiscuzOptionsSerialized {
428
  * Default Value - 100 words
429
  */
430
  public $commenterNameMinLength;
 
 
 
 
 
 
 
 
431
 
432
  /**
433
  * Type - Input
@@ -441,7 +456,7 @@ class WpdiscuzOptionsSerialized {
441
  public $formContentTypeRel;
442
  public $formPostRel;
443
  public $guestCanComment;
444
-
445
  /**
446
  * Type - Input
447
  * Available Values - text
@@ -484,6 +499,7 @@ class WpdiscuzOptionsSerialized {
484
 
485
  public function initOptions($serialize_options) {
486
  $options = maybe_unserialize($serialize_options);
 
487
  $this->isQuickTagsEnabled = isset($options['wc_quick_tags']) ? $options['wc_quick_tags'] : 0;
488
  $this->commentListUpdateType = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
489
  $this->commentListUpdateTimer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
@@ -518,10 +534,11 @@ class WpdiscuzOptionsSerialized {
518
  $this->ratingInactivColor = isset($options['wc_comment_rating_inactiv_color']) ? $options['wc_comment_rating_inactiv_color'] : '#DDDDDD';
519
  $this->ratingActivColor = isset($options['wc_comment_rating_activ_color']) ? $options['wc_comment_rating_activ_color'] : '#FFD700';
520
  $this->blogRoles = isset($options['wc_blog_roles']) ? $options['wc_blog_roles'] : array();
521
- $this->buttonColor = isset($options['wc_link_button_color']) ? $options['wc_link_button_color'] : array('shc'=> '#bbbbbb','shb'=> '#cccccc','vbc'=> '#aaaaaa','vbb'=> '#bbbbbb','abc'=> '#ffffff','abb'=> '#888888');
522
  $this->inputBorderColor = isset($options['wc_input_border_color']) ? $options['wc_input_border_color'] : "#D9D9D9";
523
  $this->newLoadedCommentBGColor = isset($options['wc_new_loaded_comment_bg_color']) ? $options['wc_new_loaded_comment_bg_color'] : '#FFFAD6';
524
  $this->disableFontAwesome = isset($options['disableFontAwesome']) ? $options['disableFontAwesome'] : 0;
 
525
  $this->customCss = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
526
  $this->showPluginPoweredByLink = isset($options['wc_show_plugin_powerid_by']) ? $options['wc_show_plugin_powerid_by'] : 0;
527
  $this->isUsePoMo = isset($options['wc_is_use_po_mo']) ? $options['wc_is_use_po_mo'] : 0;
@@ -644,6 +661,7 @@ class WpdiscuzOptionsSerialized {
644
 
645
  public function toArray() {
646
  $options = array(
 
647
  'wc_quick_tags' => $this->isQuickTagsEnabled,
648
  'wc_comment_list_update_type' => $this->commentListUpdateType,
649
  'wc_comment_list_update_timer' => $this->commentListUpdateTimer,
@@ -682,6 +700,7 @@ class WpdiscuzOptionsSerialized {
682
  'wc_input_border_color' => $this->inputBorderColor,
683
  'wc_new_loaded_comment_bg_color' => $this->newLoadedCommentBGColor,
684
  'disableFontAwesome' => $this->disableFontAwesome,
 
685
  'wc_custom_css' => $this->customCss,
686
  'wc_show_plugin_powerid_by' => $this->showPluginPoweredByLink,
687
  'wc_is_use_po_mo' => $this->isUsePoMo,
@@ -707,6 +726,7 @@ class WpdiscuzOptionsSerialized {
707
 
708
  public function addOptions() {
709
  $options = array(
 
710
  'wc_quick_tags' => '0',
711
  'wc_comment_list_update_type' => '0',
712
  'wc_comment_list_update_timer' => '30',
@@ -746,10 +766,11 @@ class WpdiscuzOptionsSerialized {
746
  'wc_comment_rating_inactiv_color' => '#DDDDDD',
747
  'wc_comment_rating_activ_color' => '#FFD700',
748
  'wc_blog_roles' => $this->blogRoles,
749
- 'wc_link_button_color' => array('shc'=> '#bbbbbb','shb'=> '#cccccc','vbc'=> '#aaaaaa','vbb'=> '#bbbbbb','abc'=> '#ffffff','abb'=> '#888888'),
750
  'wc_input_border_color' => '#D9D9D9',
751
  'wc_new_loaded_comment_bg_color' => '#FFFAD6',
752
  'disableFontAwesome' => '0',
 
753
  'wc_custom_css' => '.comments-area{width:auto;}',
754
  'wc_show_plugin_powerid_by' => '0',
755
  'wc_is_use_po_mo' => '0',
@@ -765,7 +786,7 @@ class WpdiscuzOptionsSerialized {
765
  'commenterNameMinLength' => '3',
766
  'commenterNameMaxLength' => '50',
767
  'facebookAppID' => '',
768
- 'wcf_google_map_api_key' => '',
769
  );
770
  add_option(WpdiscuzCore::OPTION_SLUG_OPTIONS, serialize($options));
771
  }
@@ -832,13 +853,13 @@ class WpdiscuzOptionsSerialized {
832
  }
833
  $js_options['isCaptchaInSession'] = (boolean) $this->isCaptchaInSession;
834
  $js_options['isGoodbyeCaptchaActive'] = (boolean) $this->isGoodbyeCaptchaActive;
835
- $js_options['facebookAppID'] = $this->facebookAppID;
836
  return $js_options;
837
  }
838
-
839
- private function initGoodbyeCaptchaField(){
840
  $this->isGoodbyeCaptchaActive = is_callable(array('GdbcWordPressPublicModule', 'isCommentsProtectionActivated')) && GdbcWordPressPublicModule::isCommentsProtectionActivated();
841
- if($this->isGoodbyeCaptchaActive){
842
  $this->goodbyeCaptchaTocken = GdbcWordPressPublicModule::getInstance()->getTokenFieldHtml();
843
  }
844
  }
2
 
3
  class WpdiscuzOptionsSerialized {
4
 
5
+ /**
6
+ * Type - Checkbox
7
+ * Available Values - Checked/Unchecked
8
+ * Description - Enable wpdisucz on home page
9
+ * Default Value - Unchecked
10
+ */
11
+ public $isEnableOnHome;
12
+
13
  /**
14
  * Type - Checkbox
15
  * Available Values - Checked/Unchecked
249
  * Default Value - #00B38F
250
  */
251
  public $primaryColor;
252
+
253
+
254
  // == RATING == //
255
+
256
  /**
257
  * Type - Input
258
  * Available Values - color codes
260
  * Default Value - #FFED85
261
  */
262
  public $ratingHoverColor;
263
+
264
  /**
265
  * Type - Input
266
  * Available Values - color codes
268
  * Default Value - #DDDDDD
269
  */
270
  public $ratingInactivColor;
271
+
 
272
  /**
273
  * Type - Input
274
  * Available Values - color codes
276
  * Default Value - #FFD700
277
  */
278
  public $ratingActivColor;
279
+
280
  // == RATING == //
281
 
282
  /**
435
  * Default Value - 100 words
436
  */
437
  public $commenterNameMinLength;
438
+
439
+ /**
440
+ * Type - Checkbox
441
+ * Available Values - checked / unchecked
442
+ * Description - Disable disable tips
443
+ * Default Value - unchecked
444
+ */
445
+ public $disableTips;
446
 
447
  /**
448
  * Type - Input
456
  public $formContentTypeRel;
457
  public $formPostRel;
458
  public $guestCanComment;
459
+
460
  /**
461
  * Type - Input
462
  * Available Values - text
499
 
500
  public function initOptions($serialize_options) {
501
  $options = maybe_unserialize($serialize_options);
502
+ $this->isEnableOnHome = isset($options['isEnableOnHome']) ? $options['isEnableOnHome'] : 0;
503
  $this->isQuickTagsEnabled = isset($options['wc_quick_tags']) ? $options['wc_quick_tags'] : 0;
504
  $this->commentListUpdateType = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
505
  $this->commentListUpdateTimer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
534
  $this->ratingInactivColor = isset($options['wc_comment_rating_inactiv_color']) ? $options['wc_comment_rating_inactiv_color'] : '#DDDDDD';
535
  $this->ratingActivColor = isset($options['wc_comment_rating_activ_color']) ? $options['wc_comment_rating_activ_color'] : '#FFD700';
536
  $this->blogRoles = isset($options['wc_blog_roles']) ? $options['wc_blog_roles'] : array();
537
+ $this->buttonColor = isset($options['wc_link_button_color']) ? $options['wc_link_button_color'] : array('shc' => '#bbbbbb', 'shb' => '#cccccc', 'vbc' => '#aaaaaa', 'vbb' => '#bbbbbb', 'abc' => '#ffffff', 'abb' => '#888888');
538
  $this->inputBorderColor = isset($options['wc_input_border_color']) ? $options['wc_input_border_color'] : "#D9D9D9";
539
  $this->newLoadedCommentBGColor = isset($options['wc_new_loaded_comment_bg_color']) ? $options['wc_new_loaded_comment_bg_color'] : '#FFFAD6';
540
  $this->disableFontAwesome = isset($options['disableFontAwesome']) ? $options['disableFontAwesome'] : 0;
541
+ $this->disableTips = isset($options['disableTips']) ? $options['disableTips'] : 0;
542
  $this->customCss = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
543
  $this->showPluginPoweredByLink = isset($options['wc_show_plugin_powerid_by']) ? $options['wc_show_plugin_powerid_by'] : 0;
544
  $this->isUsePoMo = isset($options['wc_is_use_po_mo']) ? $options['wc_is_use_po_mo'] : 0;
661
 
662
  public function toArray() {
663
  $options = array(
664
+ 'isEnableOnHome' => $this->isEnableOnHome,
665
  'wc_quick_tags' => $this->isQuickTagsEnabled,
666
  'wc_comment_list_update_type' => $this->commentListUpdateType,
667
  'wc_comment_list_update_timer' => $this->commentListUpdateTimer,
700
  'wc_input_border_color' => $this->inputBorderColor,
701
  'wc_new_loaded_comment_bg_color' => $this->newLoadedCommentBGColor,
702
  'disableFontAwesome' => $this->disableFontAwesome,
703
+ 'disableTips' => $this->disableTips,
704
  'wc_custom_css' => $this->customCss,
705
  'wc_show_plugin_powerid_by' => $this->showPluginPoweredByLink,
706
  'wc_is_use_po_mo' => $this->isUsePoMo,
726
 
727
  public function addOptions() {
728
  $options = array(
729
+ 'isEnableOnHome' => '1',
730
  'wc_quick_tags' => '0',
731
  'wc_comment_list_update_type' => '0',
732
  'wc_comment_list_update_timer' => '30',
766
  'wc_comment_rating_inactiv_color' => '#DDDDDD',
767
  'wc_comment_rating_activ_color' => '#FFD700',
768
  'wc_blog_roles' => $this->blogRoles,
769
+ 'wc_link_button_color' => array('shc' => '#bbbbbb', 'shb' => '#cccccc', 'vbc' => '#aaaaaa', 'vbb' => '#bbbbbb', 'abc' => '#ffffff', 'abb' => '#888888'),
770
  'wc_input_border_color' => '#D9D9D9',
771
  'wc_new_loaded_comment_bg_color' => '#FFFAD6',
772
  'disableFontAwesome' => '0',
773
+ 'disableTips' => '0',
774
  'wc_custom_css' => '.comments-area{width:auto;}',
775
  'wc_show_plugin_powerid_by' => '0',
776
  'wc_is_use_po_mo' => '0',
786
  'commenterNameMinLength' => '3',
787
  'commenterNameMaxLength' => '50',
788
  'facebookAppID' => '',
789
+ 'wcf_google_map_api_key' => '',
790
  );
791
  add_option(WpdiscuzCore::OPTION_SLUG_OPTIONS, serialize($options));
792
  }
853
  }
854
  $js_options['isCaptchaInSession'] = (boolean) $this->isCaptchaInSession;
855
  $js_options['isGoodbyeCaptchaActive'] = (boolean) $this->isGoodbyeCaptchaActive;
856
+ $js_options['facebookAppID'] = $this->facebookAppID;
857
  return $js_options;
858
  }
859
+
860
+ private function initGoodbyeCaptchaField() {
861
  $this->isGoodbyeCaptchaActive = is_callable(array('GdbcWordPressPublicModule', 'isCommentsProtectionActivated')) && GdbcWordPressPublicModule::isCommentsProtectionActivated();
862
+ if ($this->isGoodbyeCaptchaActive) {
863
  $this->goodbyeCaptchaTocken = GdbcWordPressPublicModule::getInstance()->getTokenFieldHtml();
864
  }
865
  }
options/html-options.php CHANGED
@@ -100,7 +100,7 @@ if (!defined('ABSPATH')) {
100
  }
101
  }
102
  //Horizontal Tab
103
- $('#optionsTab').easyResponsiveTabs({
104
  type: optionsTabsType, //Types: default, vertical, accordion
105
  width: 'auto', //auto or any width like 600px
106
  fit: true, // 100% fit in a container
@@ -109,7 +109,7 @@ if (!defined('ABSPATH')) {
109
 
110
 
111
  // Child Tab
112
- $('#integrationsChild').easyResponsiveTabs({
113
  type: 'vertical',
114
  width: 'auto',
115
  fit: true,
@@ -117,7 +117,7 @@ if (!defined('ABSPATH')) {
117
  });
118
 
119
  // Child Tab
120
- $('#wpdiscuz-addons-options').easyResponsiveTabs({
121
  type: 'vertical',
122
  width: 'auto',
123
  fit: true,
100
  }
101
  }
102
  //Horizontal Tab
103
+ $('#optionsTab').wpdiscuzEasyResponsiveTabs({
104
  type: optionsTabsType, //Types: default, vertical, accordion
105
  width: 'auto', //auto or any width like 600px
106
  fit: true, // 100% fit in a container
109
 
110
 
111
  // Child Tab
112
+ $('#integrationsChild').wpdiscuzEasyResponsiveTabs({
113
  type: 'vertical',
114
  width: 'auto',
115
  fit: true,
117
  });
118
 
119
  // Child Tab
120
+ $('#wpdiscuz-addons-options').wpdiscuzEasyResponsiveTabs({
121
  type: 'vertical',
122
  width: 'auto',
123
  fit: true,
options/html-phrases.php CHANGED
@@ -44,7 +44,7 @@ if (!defined('ABSPATH')) {
44
  if (width > $('#phrasesTab').innerWidth()) {
45
  phrasesTabsType = 'vertical';
46
  }
47
- $('#phrasesTab').easyResponsiveTabs({
48
  type: phrasesTabsType, //Types: default, vertical, accordion
49
  width: 'auto', //auto or any width like 600px
50
  fit: true, // 100% fit in a container
44
  if (width > $('#phrasesTab').innerWidth()) {
45
  phrasesTabsType = 'vertical';
46
  }
47
+ $('#phrasesTab').wpdiscuzEasyResponsiveTabs({
48
  type: phrasesTabsType, //Types: default, vertical, accordion
49
  width: 'auto', //auto or any width like 600px
50
  fit: true, // 100% fit in a container
options/html-tools.php CHANGED
@@ -42,7 +42,7 @@ if (!defined('ABSPATH')) {
42
  }
43
 
44
  //Horizontal Tab
45
- $('#toolsTab').easyResponsiveTabs({
46
  type: toolsTabsType, //Types: default, vertical, accordion
47
  width: 'auto', //auto or any width like 600px
48
  fit: true, // 100% fit in a container
42
  }
43
 
44
  //Horizontal Tab
45
+ $('#toolsTab').wpdiscuzEasyResponsiveTabs({
46
  type: toolsTabsType, //Types: default, vertical, accordion
47
  width: 'auto', //auto or any width like 600px
48
  fit: true, // 100% fit in a container
options/options-layouts/settings-general.php CHANGED
@@ -7,6 +7,10 @@ if (!defined('ABSPATH')) {
7
  <h2 style="padding:5px 10px 10px 10px; margin:0px;"><?php _e('General Settings', 'wpdiscuz'); ?></h2>
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
 
 
 
 
10
  <tr valign="top">
11
  <th scope="row" style="width:55%;"><label for="wc_quick_tags"><?php _e('Enable Quicktags', 'wpdiscuz'); ?></label></th>
12
  <td><input type="checkbox" <?php checked($this->optionsSerialized->isQuickTagsEnabled == 1) ?> value="1" name="wc_quick_tags" id="wc_quick_tags" /></td>
7
  <h2 style="padding:5px 10px 10px 10px; margin:0px;"><?php _e('General Settings', 'wpdiscuz'); ?></h2>
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
+ <tr valign="top">
11
+ <th scope="row" style="width:55%;"><label for="isEnableOnHome"><?php _e('Enable wpdiscuz on home page', 'wpdiscuz'); ?></label></th>
12
+ <td><input type="checkbox" <?php checked($this->optionsSerialized->isEnableOnHome == 1) ?> value="1" name="isEnableOnHome" id="isEnableOnHome" /></td>
13
+ </tr>
14
  <tr valign="top">
15
  <th scope="row" style="width:55%;"><label for="wc_quick_tags"><?php _e('Enable Quicktags', 'wpdiscuz'); ?></label></th>
16
  <td><input type="checkbox" <?php checked($this->optionsSerialized->isQuickTagsEnabled == 1) ?> value="1" name="wc_quick_tags" id="wc_quick_tags" /></td>
options/options-layouts/settings-show-hide.php CHANGED
@@ -118,6 +118,10 @@ if (!defined('ABSPATH')) {
118
  <th scope="row"><label for="enableImageConversion"><?php _e('Enable automatic image URL to image HTML conversion', 'wpdiscuz'); ?></label></th>
119
  <td><input type="checkbox" <?php checked($this->optionsSerialized->enableImageConversion == 1) ?> value="1" name="enableImageConversion" id="enableImageConversion" /></td>
120
  </tr>
 
 
 
 
121
  </tbody>
122
  </table>
123
  </div>
118
  <th scope="row"><label for="enableImageConversion"><?php _e('Enable automatic image URL to image HTML conversion', 'wpdiscuz'); ?></label></th>
119
  <td><input type="checkbox" <?php checked($this->optionsSerialized->enableImageConversion == 1) ?> value="1" name="enableImageConversion" id="enableImageConversion" /></td>
120
  </tr>
121
+ <tr valign="top">
122
+ <th scope="row"><label for="disableTips"><?php _e('Disable wpDiscuz Tips', 'wpdiscuz'); ?></label></th>
123
+ <td><input type="checkbox" <?php checked($this->optionsSerialized->disableTips == 1) ?> value="1" name="disableTips" id="disableTips" /></td>
124
+ </tr>
125
  </tbody>
126
  </table>
127
  </div>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
3
  Tags: wordpress comments, ajax comments, ajax, custom form, custom fields, 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
4
  Requires at least: 3.8.0
5
  Tested up to: 4.7.1
6
- Stable tag: 4.0.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -138,12 +138,14 @@ Support Forum: http://gvectors.com/forum/
138
 
139
  == Changelog ==
140
 
141
- = 4.0.2 =
142
 
143
- * Fixed Bug: Translation Issues
144
- * Fixed Bug: Error open_basedir restriction in admin menu
145
- * Fixed Bug: Comment field validation issue, no message on Mac and iPhone
146
- * Fixed Bug: Submit button stopped working after update
 
 
147
 
148
  IMPORTANT:
149
 
@@ -153,6 +155,13 @@ IMPORTANT:
153
  - If your server PHP version is lower than 5.4, [please change it to hogher](https://wordpress.org/support/topic/wpdiscuz-4-requires-php-5-4-and-higher/)
154
 
155
 
 
 
 
 
 
 
 
156
  = 4.0.1 =
157
 
158
  * Fixed Bug: Unable to disable comment author labels
3
  Tags: wordpress comments, ajax comments, ajax, custom form, custom fields, 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
4
  Requires at least: 3.8.0
5
  Tested up to: 4.7.1
6
+ Stable tag: 4.0.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
138
 
139
  == Changelog ==
140
 
141
+ = 4.0.3 =
142
 
143
+ * Added: Option to enable wpDiscuz on home page.
144
+ * Added: Supports network activation in WordPress MultiSites
145
+ * Fixed Bug: Comment template and style overwriting problem in child theme folder.
146
+ * Fixed Bug: Missing Frontend Moderation button on replies (the addon is also updated).
147
+ * Fixed Bug: Error output in dynamic CSS file
148
+ * Security: Proper data filtering
149
 
150
  IMPORTANT:
151
 
155
  - If your server PHP version is lower than 5.4, [please change it to hogher](https://wordpress.org/support/topic/wpdiscuz-4-requires-php-5-4-and-higher/)
156
 
157
 
158
+ = 4.0.2 =
159
+
160
+ * Fixed Bug: Translation Issues
161
+ * Fixed Bug: Error open_basedir restriction in admin menu
162
+ * Fixed Bug: Comment field validation issue, no message on Mac and iPhone
163
+ * Fixed Bug: Submit button stopped working after update
164
+
165
  = 4.0.1 =
166
 
167
  * Fixed Bug: Unable to disable comment author labels
templates/comment/class.WpdiscuzWalker.php CHANGED
@@ -214,8 +214,8 @@ class WpdiscuzWalker extends Walker_Comment {
214
  $voteFaUpImg = '<i class="fa fa-thumbs-up fa-flip-horizontal wc-vote-img-up"></i><span>' . $voteUp . '</span>';
215
  $output .= apply_filters('wpdiscuz_vote_up_icon', $voteFaUpImg, $comment, $current_user);
216
  $output .= '</span>';
217
- $output .= '<div class="wc-vote-result wc-vote-result-like' . (($like) ? ' wc-positive' : '') . '">' . $like . '</div>';
218
- $output .= '<div class="wc-vote-result wc-vote-result-dislike' . (($dislike) ? ' wc-negative' : '') . '">' . $dislike . '</div>';
219
  $output .= '<span class="wc-vote-link wc-down wc-separate' . $voteClass . '">';
220
  $voteFaDownImg = '<i class="fa fa-thumbs-down wc-vote-img-down"></i><span>' . $voteDown . '</span>';
221
  $output .= apply_filters('wpdiscuz_vote_down_icon', $voteFaDownImg, $comment, $current_user);
@@ -228,7 +228,7 @@ class WpdiscuzWalker extends Walker_Comment {
228
  $voteFaUpImg = '<i class="fa fa-thumbs-up fa-flip-horizontal wc-vote-img-up"></i><span>' . $voteUp . '</span>';
229
  $output .= apply_filters('wpdiscuz_vote_up_icon', $voteFaUpImg, $comment, $current_user);
230
  $output .= '</span>';
231
- $output .= '<div class="wc-vote-result">' . intval($voteCount) . '</div>';
232
  $output .= '<span class="wc-vote-link wc-down ' . $voteClass . '">';
233
  $voteFaDownImg = '<i class="fa fa-thumbs-down wc-vote-img-down"></i><span>' . $voteDown . '</span>';
234
  $output .= apply_filters('wpdiscuz_vote_down_icon', $voteFaDownImg, $comment, $current_user);
214
  $voteFaUpImg = '<i class="fa fa-thumbs-up fa-flip-horizontal wc-vote-img-up"></i><span>' . $voteUp . '</span>';
215
  $output .= apply_filters('wpdiscuz_vote_up_icon', $voteFaUpImg, $comment, $current_user);
216
  $output .= '</span>';
217
+ $output .= '<span class="wc-vote-result wc-vote-result-like' . (($like) ? ' wc-positive' : '') . '">' . $like . '</span>';
218
+ $output .= '<span class="wc-vote-result wc-vote-result-dislike' . (($dislike) ? ' wc-negative' : '') . '">' . $dislike . '</span>';
219
  $output .= '<span class="wc-vote-link wc-down wc-separate' . $voteClass . '">';
220
  $voteFaDownImg = '<i class="fa fa-thumbs-down wc-vote-img-down"></i><span>' . $voteDown . '</span>';
221
  $output .= apply_filters('wpdiscuz_vote_down_icon', $voteFaDownImg, $comment, $current_user);
228
  $voteFaUpImg = '<i class="fa fa-thumbs-up fa-flip-horizontal wc-vote-img-up"></i><span>' . $voteUp . '</span>';
229
  $output .= apply_filters('wpdiscuz_vote_up_icon', $voteFaUpImg, $comment, $current_user);
230
  $output .= '</span>';
231
+ $output .= '<span class="wc-vote-result">' . intval($voteCount) . '</span>';
232
  $output .= '<span class="wc-vote-link wc-down ' . $voteClass . '">';
233
  $voteFaDownImg = '<i class="fa fa-thumbs-down wc-vote-img-down"></i><span>' . $voteDown . '</span>';
234
  $output .= apply_filters('wpdiscuz_vote_down_icon', $voteFaDownImg, $comment, $current_user);
templates/comment/comment-form.php CHANGED
@@ -103,7 +103,6 @@ if (!post_password_required($post->ID)) {
103
  <?php
104
  }
105
  ?>
106
-
107
  <div class="wpdiscuz_top_clearing"></div>
108
  <?php
109
  if ($post->comment_status == 'open') {
103
  <?php
104
  }
105
  ?>
 
106
  <div class="wpdiscuz_top_clearing"></div>
107
  <?php
108
  if ($post->comment_status == 'open') {
utils/class.WpdiscuzEmailHelper.php CHANGED
@@ -29,16 +29,20 @@ class WpdiscuzEmailHelper {
29
  $noNeedGuestsConfirm = (!$current_user->ID && $this->optionsSerialized->disableGuestsConfirm && $this->dbManager->hasConfirmedSubscription($email));
30
  if ($noNeedMemberConfirm || $noNeedGuestsConfirm) {
31
  $confirmData = $this->dbManager->addEmailNotification($postId, $postId, $email, $subscriptionType, 1);
32
- $success = 1;
 
 
33
  } else {
34
  $confirmData = $this->dbManager->addEmailNotification($postId, $postId, $email, $subscriptionType, 0);
35
- $success = $this->confirmEmailSender($postId, $email) ? 1 : -1;
36
- if ($success < 0) {
37
- $this->dbManager->unsubscribe($confirmData['id'], $confirmData['activation_key']);
 
 
38
  }
39
  }
40
  }
41
- $httpReferer .= $wp_rewrite->using_permalinks() ? "?subscribeAnchor&subscriptionSuccess=$success&subscriptionID=".$confirmData['id']."#wc_unsubscribe_message" : "&subscribeAnchor&subscriptionSuccess=$success#wc_unsubscribe_message";
42
  wp_redirect($httpReferer);
43
  exit();
44
  }
29
  $noNeedGuestsConfirm = (!$current_user->ID && $this->optionsSerialized->disableGuestsConfirm && $this->dbManager->hasConfirmedSubscription($email));
30
  if ($noNeedMemberConfirm || $noNeedGuestsConfirm) {
31
  $confirmData = $this->dbManager->addEmailNotification($postId, $postId, $email, $subscriptionType, 1);
32
+ if ($confirmData) {
33
+ $success = 1;
34
+ }
35
  } else {
36
  $confirmData = $this->dbManager->addEmailNotification($postId, $postId, $email, $subscriptionType, 0);
37
+ if ($confirmData) {
38
+ $success = $this->confirmEmailSender($postId, $email) ? 1 : -1;
39
+ if ($success < 0) {
40
+ $this->dbManager->unsubscribe($confirmData['id'], $confirmData['activation_key']);
41
+ }
42
  }
43
  }
44
  }
45
+ $httpReferer .= $wp_rewrite->using_permalinks() ? "?subscribeAnchor&subscriptionSuccess=$success&subscriptionID=" . $confirmData['id'] . "#wc_unsubscribe_message" : "&subscribeAnchor&subscriptionSuccess=$success#wc_unsubscribe_message";
46
  wp_redirect($httpReferer);
47
  exit();
48
  }
utils/class.WpdiscuzHelper.php CHANGED
@@ -20,14 +20,14 @@ class WpdiscuzHelper {
20
  private $wpdiscuzForm;
21
  public $wc_allowed_tags = array(
22
  'br' => array(),
23
- 'a' => array('href' => array(), 'title' => array(), 'target' => array(), 'rel' => array(), 'download' => array(), 'hreflang' => array(), 'media' => array(), 'type' => array(), 'class'=>array()),
24
  'i' => array(),
25
  'b' => array(),
26
  'u' => array(),
27
  'strong' => array(),
28
  's' => array(),
29
  'p' => array('class' => array()),
30
- 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array() , 'title' => array()),
31
  'blockquote' => array('cite' => array()),
32
  'ul' => array(),
33
  'li' => array(),
@@ -200,13 +200,17 @@ class WpdiscuzHelper {
200
 
201
  public function makeClickable($ret) {
202
  $ret = ' ' . $ret;
203
- $ret = preg_replace('#[^\"|\'](https?:\/\/[^\s]+(\.jpe?g|\.png|\.gif|\.bmp))#i', '<a href="$1"><img alt="comment image" src="$1" /></a>', $ret);
204
  // this one is not in an array because we need it to run last, for cleanup of accidental links within links
205
  $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
206
  $ret = trim($ret);
207
  return $ret;
208
  }
209
 
 
 
 
 
210
  /**
211
  * check if comment has been posted today or not
212
  * return boolean
@@ -298,13 +302,12 @@ class WpdiscuzHelper {
298
  return wp_trim_words($commentContent, $this->optionsSerialized->commentReadMoreLimit, $readMoreLink);
299
  }
300
 
301
-
302
  public function isLoadWpdiscuz($post) {
303
- if(!$post || !is_object($post)){
304
  return false;
305
  }
306
  $form = $this->wpdiscuzForm->getForm($post->ID);
307
- return $form->getFormID() && (comments_open($post) || $post->comment_count) && (is_singular() || is_front_page()) && post_type_supports($post->post_type, 'comments');
308
  }
309
 
310
  public function replaceCommentContentCode($content) {
@@ -318,23 +321,26 @@ class WpdiscuzHelper {
318
  $codeContent = str_replace(array('<', '>'), array('&lt;', '&gt;'), $codeContent);
319
  return '<code>' . $codeContent . '</code>';
320
  }
321
-
322
- public function getCurrentUserDisplayName($current_user){
323
- $displayName = trim($current_user->display_name);
324
- if(!$displayName){
325
  $displayName = trim($current_user->user_nicename) ? trim($current_user->user_nicename) : trim($current_user->user_login);
326
  }
327
  return $displayName;
328
  }
329
-
330
- public function registerWpDiscuzStyle($version){
331
- $templateDir = get_template_directory();
332
- $wpcTemplateStyleFile = $templateDir . DIRECTORY_SEPARATOR . 'wpdiscuz'. DIRECTORY_SEPARATOR .'wpdiscuz.css';
333
  $wpdiscuzStyleURL = plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz.css');
334
- if(file_exists($wpcTemplateStyleFile)){
335
- $wpdiscuzStyleURL = get_template_directory_uri() . '/wpdiscuz/wpdiscuz.css';
 
 
336
  }
337
- wp_register_style('wpdiscuz-frontend-css', $wpdiscuzStyleURL , null, $version);
338
  }
339
 
340
- }
 
20
  private $wpdiscuzForm;
21
  public $wc_allowed_tags = array(
22
  'br' => array(),
23
+ 'a' => array('href' => array(), 'title' => array(), 'target' => array(), 'rel' => array(), 'download' => array(), 'hreflang' => array(), 'media' => array(), 'type' => array(), 'class' => array()),
24
  'i' => array(),
25
  'b' => array(),
26
  'u' => array(),
27
  'strong' => array(),
28
  's' => array(),
29
  'p' => array('class' => array()),
30
+ 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array(), 'title' => array()),
31
  'blockquote' => array('cite' => array()),
32
  'ul' => array(),
33
  'li' => array(),
200
 
201
  public function makeClickable($ret) {
202
  $ret = ' ' . $ret;
203
+ $ret = preg_replace_callback('#[^\"|\'](https?:\/\/[^\s]+(\.jpe?g|\.png|\.gif|\.bmp))#i', array(&$this, 'replaceUrlToImg'), $ret);
204
  // this one is not in an array because we need it to run last, for cleanup of accidental links within links
205
  $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
206
  $ret = trim($ret);
207
  return $ret;
208
  }
209
 
210
+ public function replaceUrlToImg($matches) {
211
+ return '<a href="' . esc_url($matches[1]) . '"><img alt="comment image" src="' . esc_url($matches[1]) . '" /></a>';
212
+ }
213
+
214
  /**
215
  * check if comment has been posted today or not
216
  * return boolean
302
  return wp_trim_words($commentContent, $this->optionsSerialized->commentReadMoreLimit, $readMoreLink);
303
  }
304
 
 
305
  public function isLoadWpdiscuz($post) {
306
+ if (!$post || !is_object($post) || (is_front_page() && !$this->optionsSerialized->isEnableOnHome)) {
307
  return false;
308
  }
309
  $form = $this->wpdiscuzForm->getForm($post->ID);
310
+ return $form->getFormID() && (comments_open($post) || $post->comment_count) && is_singular() && post_type_supports($post->post_type, 'comments');
311
  }
312
 
313
  public function replaceCommentContentCode($content) {
321
  $codeContent = str_replace(array('<', '>'), array('&lt;', '&gt;'), $codeContent);
322
  return '<code>' . $codeContent . '</code>';
323
  }
324
+
325
+ public function getCurrentUserDisplayName($current_user) {
326
+ $displayName = trim($current_user->display_name);
327
+ if (!$displayName) {
328
  $displayName = trim($current_user->user_nicename) ? trim($current_user->user_nicename) : trim($current_user->user_login);
329
  }
330
  return $displayName;
331
  }
332
+
333
+ public function registerWpDiscuzStyle($version) {
334
+ $templateDir = get_stylesheet_directory();
335
+ $wpcTemplateStyleFile = $templateDir . DIRECTORY_SEPARATOR . 'wpdiscuz' . DIRECTORY_SEPARATOR . 'wpdiscuz.css';
336
  $wpdiscuzStyleURL = plugins_url(WPDISCUZ_DIR_NAME . '/assets/css/wpdiscuz.css');
337
+ if (file_exists($wpcTemplateStyleFile)) {
338
+ $wpdiscuzStyleURL = get_stylesheet_directory_uri() . '/wpdiscuz/wpdiscuz.css';
339
+ } elseif (file_exists(get_template_directory() . DIRECTORY_SEPARATOR . 'wpdiscuz' . DIRECTORY_SEPARATOR . 'wpdiscuz.css')) {
340
+ $wpdiscuzStyleURL = get_template_directory_uri() . '/wpdiscuz/wpdiscuz.css';
341
  }
342
+ wp_register_style('wpdiscuz-frontend-css', $wpdiscuzStyleURL, null, $version);
343
  }
344
 
345
+ }
346
+
utils/class.WpdiscuzOptimizationHelper.php CHANGED
@@ -104,7 +104,7 @@ class WpdiscuzOptimizationHelper {
104
  public function addCommentToTree($id, $comment) {
105
  $form = $this->wpdiscuzForm->getForm($comment->comment_post_ID);
106
  if ($form->getFormID()) {
107
- if ($comment->comment_approved == '1' && $comment->comment_parent) {
108
  $this->updateCommentTree($comment);
109
  }
110
  if (!$this->optionsSerialized->votingButtonsShowHide) {
@@ -125,7 +125,6 @@ class WpdiscuzOptimizationHelper {
125
  public function statusEventHandler($newStatus, $oldStatus, $comment) {
126
  if ($newStatus != $oldStatus) {
127
  if ($newStatus == 'approved') {
128
- $this->updateCommentTree($comment);
129
  $this->notifyOnApprove($comment);
130
  }
131
  }
104
  public function addCommentToTree($id, $comment) {
105
  $form = $this->wpdiscuzForm->getForm($comment->comment_post_ID);
106
  if ($form->getFormID()) {
107
+ if ($comment->comment_parent) {
108
  $this->updateCommentTree($comment);
109
  }
110
  if (!$this->optionsSerialized->votingButtonsShowHide) {
125
  public function statusEventHandler($newStatus, $oldStatus, $comment) {
126
  if ($newStatus != $oldStatus) {
127
  if ($newStatus == 'approved') {
 
128
  $this->notifyOnApprove($comment);
129
  }
130
  }
utils/functions.php CHANGED
@@ -1,11 +1,14 @@
1
  <?php
 
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
5
- $wpcCurrentThemDir = get_template_directory();
6
- $wpdiscuzWalkerThemePath = $wpcCurrentThemDir . DIRECTORY_SEPARATOR. 'wpdiscuz'. DIRECTORY_SEPARATOR .'class.WpdiscuzWalker.php';
7
  if (file_exists($wpdiscuzWalkerThemePath)) {
8
  include_once $wpdiscuzWalkerThemePath;
 
 
9
  } else {
10
- include_once apply_filters('wpdiscuz_walker_include', WPDISCUZ_DIR_PATH . DIRECTORY_SEPARATOR . 'templates'. DIRECTORY_SEPARATOR .'comment'. DIRECTORY_SEPARATOR .'class.WpdiscuzWalker.php');
11
  }
1
  <?php
2
+
3
  if (!defined('ABSPATH')) {
4
  exit();
5
  }
6
+ $wpcCurrentThemDir = get_stylesheet_directory();
7
+ $wpdiscuzWalkerThemePath = $wpcCurrentThemDir . DIRECTORY_SEPARATOR . 'wpdiscuz' . DIRECTORY_SEPARATOR . 'class.WpdiscuzWalker.php';
8
  if (file_exists($wpdiscuzWalkerThemePath)) {
9
  include_once $wpdiscuzWalkerThemePath;
10
+ } elseif (file_exists(get_template_directory() . DIRECTORY_SEPARATOR . 'wpdiscuz' . DIRECTORY_SEPARATOR . 'class.WpdiscuzWalker.php')) {
11
+ include_once get_template_directory() . DIRECTORY_SEPARATOR . 'wpdiscuz' . DIRECTORY_SEPARATOR . 'class.WpdiscuzWalker.php';
12
  } else {
13
+ include_once apply_filters('wpdiscuz_walker_include', WPDISCUZ_DIR_PATH . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'comment' . DIRECTORY_SEPARATOR . 'class.WpdiscuzWalker.php');
14
  }
utils/interface.WpDiscuzConstants.php CHANGED
@@ -19,4 +19,6 @@ interface WpDiscuzConstants {
19
  /* === POST ACTIONS === */
20
  const ACTION_FORM_NONCE = 'wpdiscuz_form_nonce_action';
21
  const ACTION_CAPTCHA_NONCE = 'wpdiscuz_captcha_nonce_action';
 
 
22
  }
19
  /* === POST ACTIONS === */
20
  const ACTION_FORM_NONCE = 'wpdiscuz_form_nonce_action';
21
  const ACTION_CAPTCHA_NONCE = 'wpdiscuz_captcha_nonce_action';
22
+ /* === TRANSIENT KEYS === */
23
+ const TRS_POSTS_AUTHORS = 'wpdiscuz_posts_authors';
24
  }