Comments – wpDiscuz - Version 4.0.15

Version Description

  • Now wpDiscuz requires at least WordPress 4.4 version
  • Added Option : Send notification to comment author when comment was approved
  • Added Phrase : Comment approved notification email subject
  • Added Phrase : Comment approved notification email message
  • Added Phrase : Top bar subscription submit button
  • Fixed Bug : Comment showing only after page refresh

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.15
Comparing to
See all releases

Code changes from version 4.0.14 to 4.0.15

assets/css/wpdiscuz.css CHANGED
@@ -130,7 +130,7 @@
130
  #wpcomm .wpdiscuz-subscribe-form-button{font-size:14px;float:left;display:block;box-sizing:border-box}
131
  #wpcomm .wpdiscuz-subscribe-form-email select{width:100%!important}
132
  #wpcomm .wpdiscuz-subscribe-form-email input[type="email"]{font-size:13px!important;padding:3px!important;width:100%!important;height:auto!important;line-height:20px!important;box-sizing:border-box!important;clear:both;float:none;margin:0}
133
- #wpcomm .wpdiscuz-subscribe-form-button input[type="submit"]{font-size:16px!important;min-height:29px!important;height:29px!important;padding:1px 3px 5px 3px!important;width:40px;line-height:14px!important;box-sizing:border-box!important;border:1px solid #ddd;clear:both;float:none;margin:0}
134
  #wpcomm .wc-comment-link{font-size:12px;float:right;text-align:right;line-height:20px;height:15px;padding:0 0 0 10px; margin:5px;}
135
  #wpcomm .wc-comment-link .wpf-cta{ cursor:pointer; font-size:13px; padding:3px 4px; min-width:22px; text-align:center; display:inline-block; margin:1px; line-height:16px;}
136
 
130
  #wpcomm .wpdiscuz-subscribe-form-button{font-size:14px;float:left;display:block;box-sizing:border-box}
131
  #wpcomm .wpdiscuz-subscribe-form-email select{width:100%!important}
132
  #wpcomm .wpdiscuz-subscribe-form-email input[type="email"]{font-size:13px!important;padding:3px!important;width:100%!important;height:auto!important;line-height:20px!important;box-sizing:border-box!important;clear:both;float:none;margin:0}
133
+ #wpcomm .wpdiscuz-subscribe-form-button input[type="submit"]{font-size:16px!important;min-height:29px!important;height:29px!important;padding:1px 3px 5px 3px!important;min-width:40px;line-height:14px!important;box-sizing:border-box!important;border:1px solid #ddd;clear:both;float:none;margin:0}
134
  #wpcomm .wc-comment-link{font-size:12px;float:right;text-align:right;line-height:20px;height:15px;padding:0 0 0 10px; margin:5px;}
135
  #wpcomm .wc-comment-link .wpf-cta{ cursor:pointer; font-size:13px; padding:3px 4px; min-width:22px; text-align:center; display:inline-block; margin:1px; line-height:16px;}
136
 
assets/js/wpdiscuz-options.js CHANGED
@@ -19,13 +19,26 @@ jQuery(document).ready(function ($) {
19
  } else {
20
  $('#row_mostVotedByDefault').addClass('wc-hidden');
21
  }
22
- });
23
-
24
- $('#wc_share_button_fb').click(function(){
25
  if ($(this).is(':checked')) {
26
- $('#wpc-fb-api-cont').attr('style','');
27
  } else {
28
- $('#wpc-fb-api-cont').attr('style','display:none');
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  }
30
- });
31
  });
19
  } else {
20
  $('#row_mostVotedByDefault').addClass('wc-hidden');
21
  }
22
+ });
23
+
24
+ $('#wc_share_button_fb').click(function () {
25
  if ($(this).is(':checked')) {
26
+ $('#wpc-fb-api-cont').attr('style', '');
27
  } else {
28
+ $('#wpc-fb-api-cont').attr('style', 'display:none');
29
+ }
30
+ });
31
+
32
+ $('#wpdiscuz-reset-options').click(function (e) {
33
+ if (!confirm(wpdiscuzObj.msgConfirmResetOptions)) {
34
+ e.preventDefault();
35
+ return false;
36
+ }
37
+ });
38
+ $('#wpdiscuz-remove-votes').click(function (e) {
39
+ if (!confirm(wpdiscuzObj.msgConfirmRemoveVotes)) {
40
+ e.preventDefault();
41
+ return false;
42
  }
43
+ });
44
  });
assets/js/wpdiscuz.js CHANGED
@@ -25,6 +25,7 @@ jQuery(document).ready(function ($) {
25
  var commentTextMaxLength = wpdiscuzAjaxObj.wpdiscuz_options.commentTextMaxLength;
26
  var wpdGoogleRecaptchaValid = true;
27
  var wpdiscuzReplyButton = '';
 
28
 
29
  loginButtonsClone();
30
  displayShowHideReplies();
@@ -252,12 +253,12 @@ jQuery(document).ready(function ($) {
252
  data.append('fileName', fileName);
253
  }
254
 
255
- if (Cookies.get('wc_author_name') && !$('.wc_name', wcForm).val()) {
256
- data.append('wc_name', Cookies.get('wc_author_name'));
257
  }
258
 
259
- if (Cookies.get('wc_author_email') && !$('.wc_email', wcForm).val()) {
260
- data.append('wc_email', Cookies.get('wc_author_email'));
261
  }
262
 
263
  if (wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs) {
@@ -374,14 +375,14 @@ jQuery(document).ready(function ($) {
374
  }
375
 
376
  function setCookieInForm() {
377
- if (Cookies.get('wc_author_name') && Cookies.get('wc_author_name').indexOf('Anonymous') < 0) {
378
- $('.wc_comm_form .wc_name').val(Cookies.get('wc_author_name'));
379
  }
380
- if (Cookies.get('wc_author_email') && Cookies.get('wc_author_email').indexOf('@example.com') < 0) {
381
- $('.wc_comm_form .wc_email').val(Cookies.get('wc_author_email'));
382
  }
383
- if (Cookies.get('wc_author_website')) {
384
- $('.wc_comm_form .wc_website').val(Cookies.get('wc_author_website'));
385
  }
386
  }
387
 
@@ -399,17 +400,17 @@ jQuery(document).ready(function ($) {
399
  name = obj.user_name;
400
  }
401
  if (storeCommenterData == null) {
402
- Cookies.set('wc_author_email', email);
403
- Cookies.set('wc_author_name', name);
404
  if ($('.wc_website', wcForm).length) {
405
- Cookies.set('wc_author_website', $('.wc_website', wcForm).val());
406
  }
407
  } else {
408
  storeCommenterData = parseInt(storeCommenterData);
409
- Cookies.set('wc_author_email', email, {expires: storeCommenterData, path: '/'});
410
- Cookies.set('wc_author_name', name, {expires: storeCommenterData, path: '/'});
411
  if ($('.wc_website', wcForm).length) {
412
- Cookies.set('wc_author_website', $('.wc_website', wcForm).val(), {expires: storeCommenterData, path: '/'});
413
  }
414
  }
415
  }
@@ -748,7 +749,7 @@ jQuery(document).ready(function ($) {
748
 
749
  function liveUpdate() {
750
  var visibleCommentIds = getVisibleCommentIds();
751
- var email = (Cookies.get('wc_author_email') != undefined && Cookies.get('wc_author_email') != '') ? Cookies.get('wc_author_email') : '';
752
  var data = new FormData();
753
  data.append('action', 'updateAutomatically');
754
  data.append('loadLastCommentId', loadLastCommentId);
25
  var commentTextMaxLength = wpdiscuzAjaxObj.wpdiscuz_options.commentTextMaxLength;
26
  var wpdGoogleRecaptchaValid = true;
27
  var wpdiscuzReplyButton = '';
28
+ var wpdiscuzCookiehash = wpdiscuzAjaxObj.wpdiscuz_options.cookiehash;;
29
 
30
  loginButtonsClone();
31
  displayShowHideReplies();
253
  data.append('fileName', fileName);
254
  }
255
 
256
+ if (Cookies.get('comment_author_' + wpdiscuzCookiehash) && !$('.wc_name', wcForm).val()) {
257
+ data.append('wc_name', Cookies.get('comment_author_' + wpdiscuzCookiehash));
258
  }
259
 
260
+ if (Cookies.get('comment_author_email_' + wpdiscuzCookiehash) && !$('.wc_email', wcForm).val()) {
261
+ data.append('wc_email', Cookies.get('comment_author_email_' + wpdiscuzCookiehash));
262
  }
263
 
264
  if (wpdiscuzAjaxObj.wpdiscuz_options.wpdiscuz_zs) {
375
  }
376
 
377
  function setCookieInForm() {
378
+ if (Cookies.get('comment_author_' + wpdiscuzCookiehash) && Cookies.get('comment_author_' + wpdiscuzCookiehash).indexOf('Anonymous') < 0) {
379
+ $('.wc_comm_form .wc_name').val(Cookies.get('comment_author_' + wpdiscuzCookiehash));
380
  }
381
+ if (Cookies.get('comment_author_email_' + wpdiscuzCookiehash) && Cookies.get('comment_author_email_' + wpdiscuzCookiehash).indexOf('@example.com') < 0) {
382
+ $('.wc_comm_form .wc_email').val(Cookies.get('comment_author_email_' + wpdiscuzCookiehash));
383
  }
384
+ if (Cookies.get('comment_author_url_' + wpdiscuzCookiehash)) {
385
+ $('.wc_comm_form .wc_website').val(Cookies.get('comment_author_url_' + wpdiscuzCookiehash));
386
  }
387
  }
388
 
400
  name = obj.user_name;
401
  }
402
  if (storeCommenterData == null) {
403
+ Cookies.set('comment_author_email_' + wpdiscuzCookiehash, email);
404
+ Cookies.set('comment_author_' + wpdiscuzCookiehash, name);
405
  if ($('.wc_website', wcForm).length) {
406
+ Cookies.set('comment_author_url_' + wpdiscuzCookiehash, $('.wc_website', wcForm).val());
407
  }
408
  } else {
409
  storeCommenterData = parseInt(storeCommenterData);
410
+ Cookies.set('comment_author_email_' + wpdiscuzCookiehash, email, {expires: storeCommenterData, path: '/'});
411
+ Cookies.set('comment_author_' + wpdiscuzCookiehash, name, {expires: storeCommenterData, path: '/'});
412
  if ($('.wc_website', wcForm).length) {
413
+ Cookies.set('comment_author_url_' + wpdiscuzCookiehash, $('.wc_website', wcForm).val(), {expires: storeCommenterData, path: '/'});
414
  }
415
  }
416
  }
749
 
750
  function liveUpdate() {
751
  var visibleCommentIds = getVisibleCommentIds();
752
+ var email = (Cookies.get('comment_author_email_' + wpdiscuzCookiehash) != undefined && Cookies.get('comment_author_email_' + wpdiscuzCookiehash) != '') ? Cookies.get('comment_author_email_' + wpdiscuzCookiehash) : '';
753
  var data = new FormData();
754
  data.append('action', 'updateAutomatically');
755
  data.append('loadLastCommentId', loadLastCommentId);
class.WpdiscuzCore.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
  /*
4
- * Plugin Name: WordPress Comments Plugin – 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.14
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
@@ -18,8 +18,8 @@ define('WPDISCUZ_DS', DIRECTORY_SEPARATOR);
18
  define('WPDISCUZ_DIR_PATH', dirname(__FILE__));
19
  define('WPDISCUZ_DIR_NAME', basename(WPDISCUZ_DIR_PATH));
20
 
21
- include_once 'utils/functions.php';
22
  include_once 'utils/interface.WpDiscuzConstants.php';
 
23
  include_once 'options/class.WpdiscuzOptions.php';
24
  include_once 'options/class.WpdiscuzOptionsSerialized.php';
25
  include_once 'utils/class.WpdiscuzHelper.php';
@@ -92,13 +92,9 @@ class WpdiscuzCore implements WpDiscuzConstants {
92
  add_action('wp_ajax_nopriv_checkNotificationType', array(&$this->emailHelper, 'checkNotificationType'));
93
  add_action('wp_ajax_redirect', array(&$this, 'redirect'));
94
  add_action('wp_ajax_nopriv_redirect', array(&$this, 'redirect'));
95
- add_action('admin_post_clearChildrenData', array(&$this->optimizationHelper, 'clearChildrenData'));
96
  add_action('admin_post_removeVoteData', array(&$this->optimizationHelper, 'removeVoteData'));
97
- add_action('wp_insert_comment', array(&$this->optimizationHelper, 'addCommentToTree'), 2689, 2);
98
  add_action('comment_post', array(&$this->emailHelper, 'notificationFromDashboard'), 2712, 2);
99
  add_action('transition_comment_status', array(&$this->optimizationHelper, 'statusEventHandler'), 265, 3);
100
- add_action('delete_comment', array(&$this->optimizationHelper, 'initSubComments'), 266);
101
- add_action('deleted_comment', array(&$this->optimizationHelper, 'deleteCommentFromTree'), 267);
102
  $plugin = plugin_basename(__FILE__);
103
  add_filter("plugin_action_links_$plugin", array(&$this, 'addPluginSettingsLink'));
104
  add_filter('comments_clauses', array(&$this, 'getCommentsArgs'));
@@ -121,6 +117,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
121
  }
122
 
123
  add_action('wp_loaded', array(&$this, 'addNewRoles'));
 
 
124
  }
125
 
126
  public function pluginActivation($networkwide) {
@@ -441,7 +439,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
441
  'comment_ID' => $commentId,
442
  'comment_content' => $commentContent,
443
  'comment_author_IP' => $author_ip,
444
- 'comment_agent' => $userAgent,
445
  'comment_approved' => $comment->comment_approved
446
  );
447
  wp_update_comment(wp_slash($commentarr));
@@ -486,7 +484,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
486
  $tree = array();
487
  $tree = $this->optimizationHelper->getTreeByParentId($parentComment->comment_ID, $tree);
488
  $this->commentsArgs = $this->getDefaultCommentsArgs();
489
- $this->commentsArgs['wc_comments'] = array_merge(array($parentComment->comment_ID), $tree);
490
  $comments = get_comments($this->commentsArgs);
491
  $commentListArgs = $this->getCommentListArgs($postId);
492
  $commentListArgs['isSingle'] = true;
@@ -570,11 +568,6 @@ class WpdiscuzCore implements WpDiscuzConstants {
570
  if ($isUserVoted != '') {
571
  $vote = intval($isUserVoted) + $voteType;
572
 
573
- // if ($isUserVoted == 0 && !$this->optionsSerialized->votingButtonsStyle) {
574
- // $messageArray['code'] = 'wc_vote_only_one_time';
575
- // wp_die(json_encode($messageArray));
576
- // }
577
-
578
  if ($vote >= -1 && $vote <= 1) {
579
  $this->dbManager->updateVoteType($userIdOrIp, $commentId, $vote);
580
  $voteCount = intval(get_comment_meta($commentId, self::META_KEY_VOTES, true)) + $voteType;
@@ -684,44 +677,64 @@ class WpdiscuzCore implements WpDiscuzConstants {
684
  }
685
 
686
  private function _getWPComments(&$commentListArgs, &$commentData) {
 
687
  if (!$this->optionsSerialized->wordpressIsPaginate) {
688
- $this->commentsArgs['wc_comments'] = $this->dbManager->getCommentList($this->commentsArgs);
689
- $commentData['last_parent_id'] = $this->commentsArgs['wc_comments'] ? $this->commentsArgs['wc_comments'][count($this->commentsArgs['wc_comments']) - 1] : 0;
690
  if ($this->commentsArgs['is_threaded']) {
691
- $commentmetaIds = $this->optimizationHelper->getCommentListByParentIds($this->commentsArgs['wc_comments'], $this->commentsArgs['post_id']);
692
- $this->commentsArgs['wc_comments'] = array_merge($this->commentsArgs['wc_comments'], $commentmetaIds);
 
 
 
 
 
 
 
 
 
 
 
 
693
  }
694
  $commentListArgs['page'] = 1;
695
  $commentListArgs['last_parent_id'] = $commentData['last_parent_id'];
696
- $commentData['is_show_load_more'] = $this->helper->isShowLoadMore($commentData['last_parent_id'], $this->commentsArgs);
697
- }
698
- if (isset($_COOKIE['wc_moderate_comments_' . $this->commentsArgs['post_id']])) {
699
- $moderateComments = explode(',', $_COOKIE['wc_moderate_comments_' . $this->commentsArgs['post_id']]);
700
- if ($moderateComments && is_array($moderateComments) && is_array($this->commentsArgs['wc_comments'])) {
701
- $this->commentsArgs['status'] = 'all';
702
- $this->commentsArgs['wc_comments'] = array_merge($this->commentsArgs['wc_comments'], $moderateComments);
703
- $commentListArgs['comment_status'] = array_merge($commentListArgs['comment_status'], array(0));
704
- }
705
  }
706
- $commentList = get_comments($this->commentsArgs);
707
  return $commentList;
708
  }
709
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
710
  /**
711
  * add comments clauses
712
  * add new orderby clause when sort type is vote and wordpress commnts order is older (ASC)
713
  */
714
  public function getCommentsArgs($args) {
715
  global $wpdb;
716
- if ($this->commentsArgs['caller'] === 'wpdiscuz' && $this->commentsArgs['wc_comments']) {
717
  $orderby = '';
718
- $args['caller'] = 'wpdiscuz-';
719
- $comments = implode(',', $this->commentsArgs['wc_comments']);
720
- $commentIds = trim($comments, ',');
721
- $args['where'] .= " AND " . $wpdb->comments . ".comment_ID IN ($commentIds) ";
722
  if (!$this->optionsSerialized->votingButtonsShowHide) {
723
  $args['join'] .= "INNER JOIN " . $wpdb->commentmeta . " ON " . $wpdb->comments . ".comment_ID = " . $wpdb->commentmeta . ".comment_id";
724
- $args['where'] .= "AND (" . $wpdb->commentmeta . ".meta_key = '" . self::META_KEY_VOTES . "')";
725
  }
726
  if ($this->commentsArgs['orderby'] == 'by_vote') {
727
  $orderby = $wpdb->commentmeta . ".meta_value+0 DESC, ";
@@ -733,6 +746,8 @@ class WpdiscuzCore implements WpDiscuzConstants {
733
  }
734
 
735
  private function getDefaultCommentsArgs($postId = 0) {
 
 
736
  $args = array(
737
  'caller' => 'wpdiscuz',
738
  'post_id' => intval($postId),
@@ -744,8 +759,23 @@ class WpdiscuzCore implements WpDiscuzConstants {
744
  'limit' => $this->optionsSerialized->wordpressCommentPerPage,
745
  'is_threaded' => $this->optionsSerialized->wordpressThreadComments,
746
  'status' => 'approve',
747
- 'wc_comments' => ''
 
 
 
748
  );
 
 
 
 
 
 
 
 
 
 
 
 
749
  return apply_filters('wpdiscuz_comments_args', $args);
750
  }
751
 
@@ -767,8 +797,13 @@ class WpdiscuzCore implements WpDiscuzConstants {
767
  */
768
  public function adminPageStylesScripts() {
769
  global $typenow;
770
- $wpdiscuzPages = apply_filters('wpdiscuz_admin_pages',array(self::PAGE_SETTINGS, self::PAGE_PHRASES, self::PAGE_TOOLS, self::PAGE_ADDONS));
771
  if ((isset($_GET['page']) && in_array($_GET['page'], $wpdiscuzPages)) || ($typenow == 'wpdiscuz_form')) {
 
 
 
 
 
772
  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.6.3');
773
  wp_enqueue_style('wpdiscuz-font-awesome');
774
  wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'));
@@ -789,6 +824,7 @@ class WpdiscuzCore implements WpDiscuzConstants {
789
  wp_enqueue_style('wpdiscuz-options-css');
790
  wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.js'), array('jquery'));
791
  wp_enqueue_script('wpdiscuz-options-js');
 
792
  wp_enqueue_script('thickbox');
793
  wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'), '2.1.3', true);
794
  wp_enqueue_script('wpdiscuz-jquery-cookie');
@@ -828,11 +864,14 @@ class WpdiscuzCore implements WpDiscuzConstants {
828
  wp_enqueue_script('wpdiscuz-cookie-js');
829
  wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
830
  wp_enqueue_script('autogrowtextarea-js');
831
- $cArgs = $this->getDefaultCommentsArgs($post->ID);
832
  $this->wpdiscuzOptionsJs = $this->optionsSerialized->getOptionsForJs();
833
  $this->wpdiscuzOptionsJs['version'] = $this->version;
834
  $this->wpdiscuzOptionsJs['wc_post_id'] = $post->ID;
835
- $this->wpdiscuzOptionsJs['loadLastCommentId'] = $this->dbManager->getLastCommentId($cArgs);
 
 
 
 
836
  $this->wpdiscuzOptionsJs = apply_filters('wpdiscuz_js_options', $this->wpdiscuzOptionsJs);
837
  wp_enqueue_script('jquery-form');
838
  wp_register_script('wpdiscuz-ajax-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz.js'), array('jquery'), $this->version);
@@ -855,7 +894,6 @@ class WpdiscuzCore implements WpDiscuzConstants {
855
  public function pluginNewVersion() {
856
  $this->dbManager->createEmailNotificationTable();
857
  $wc_plugin_data = get_plugin_data(__FILE__);
858
- // $this->initPluginVersion();
859
  if (version_compare($wc_plugin_data['Version'], $this->version, '>')) {
860
  $this->wpdiscuzForm->createDefaultForm($this->version);
861
  $options = $this->changeOldOptions(get_option(self::OPTION_SLUG_OPTIONS));
1
  <?php
2
 
3
  /*
4
+ * Plugin Name: wpDiscuz
5
  * Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
+ * Version: 4.0.15
7
  * Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  * Author URI: https://gvectors.com/
9
  * Plugin URI: http://wpdiscuz.com/
18
  define('WPDISCUZ_DIR_PATH', dirname(__FILE__));
19
  define('WPDISCUZ_DIR_NAME', basename(WPDISCUZ_DIR_PATH));
20
 
 
21
  include_once 'utils/interface.WpDiscuzConstants.php';
22
+ include_once 'utils/functions.php';
23
  include_once 'options/class.WpdiscuzOptions.php';
24
  include_once 'options/class.WpdiscuzOptionsSerialized.php';
25
  include_once 'utils/class.WpdiscuzHelper.php';
92
  add_action('wp_ajax_nopriv_checkNotificationType', array(&$this->emailHelper, 'checkNotificationType'));
93
  add_action('wp_ajax_redirect', array(&$this, 'redirect'));
94
  add_action('wp_ajax_nopriv_redirect', array(&$this, 'redirect'));
 
95
  add_action('admin_post_removeVoteData', array(&$this->optimizationHelper, 'removeVoteData'));
 
96
  add_action('comment_post', array(&$this->emailHelper, 'notificationFromDashboard'), 2712, 2);
97
  add_action('transition_comment_status', array(&$this->optimizationHelper, 'statusEventHandler'), 265, 3);
 
 
98
  $plugin = plugin_basename(__FILE__);
99
  add_filter("plugin_action_links_$plugin", array(&$this, 'addPluginSettingsLink'));
100
  add_filter('comments_clauses', array(&$this, 'getCommentsArgs'));
117
  }
118
 
119
  add_action('wp_loaded', array(&$this, 'addNewRoles'));
120
+ add_filter('comments_template_query_args', array(&$this, 'commentsTemplateQueryArgs'));
121
+ add_action('pre_get_comments', array(&$this, 'preGetComments'));
122
  }
123
 
124
  public function pluginActivation($networkwide) {
439
  'comment_ID' => $commentId,
440
  'comment_content' => $commentContent,
441
  'comment_author_IP' => $author_ip,
442
+ 'comment_agent' => $userAgent,
443
  'comment_approved' => $comment->comment_approved
444
  );
445
  wp_update_comment(wp_slash($commentarr));
484
  $tree = array();
485
  $tree = $this->optimizationHelper->getTreeByParentId($parentComment->comment_ID, $tree);
486
  $this->commentsArgs = $this->getDefaultCommentsArgs();
487
+ $this->commentsArgs['comment__in'] = array_merge(array($parentComment->comment_ID), $tree);
488
  $comments = get_comments($this->commentsArgs);
489
  $commentListArgs = $this->getCommentListArgs($postId);
490
  $commentListArgs['isSingle'] = true;
568
  if ($isUserVoted != '') {
569
  $vote = intval($isUserVoted) + $voteType;
570
 
 
 
 
 
 
571
  if ($vote >= -1 && $vote <= 1) {
572
  $this->dbManager->updateVoteType($userIdOrIp, $commentId, $vote);
573
  $voteCount = intval(get_comment_meta($commentId, self::META_KEY_VOTES, true)) + $voteType;
677
  }
678
 
679
  private function _getWPComments(&$commentListArgs, &$commentData) {
680
+ $commentList = array();
681
  if (!$this->optionsSerialized->wordpressIsPaginate) {
682
+ $this->commentsArgs['comment__in'] = $this->dbManager->getCommentList($this->commentsArgs);
683
+ $commentData['last_parent_id'] = $this->commentsArgs['comment__in'] ? $this->commentsArgs['comment__in'][count($this->commentsArgs['comment__in']) - 1] : 0;
684
  if ($this->commentsArgs['is_threaded']) {
685
+ $parentComments = get_comments($this->commentsArgs);
686
+ foreach ($parentComments as $parentComment) {
687
+ $commentList[] = $parentComment;
688
+ $childComments = $parentComment->get_children(array(
689
+ 'format' => 'flat',
690
+ 'status' => $this->commentsArgs['status'],
691
+ 'orderby' => $this->commentsArgs['orderby']
692
+ ));
693
+ foreach ($childComments as $childComment) {
694
+ $commentList[] = $childComment;
695
+ }
696
+ }
697
+ } else {
698
+ $commentList = get_comments($this->commentsArgs);
699
  }
700
  $commentListArgs['page'] = 1;
701
  $commentListArgs['last_parent_id'] = $commentData['last_parent_id'];
702
+ $commentData['is_show_load_more'] = $this->dbManager->isShowLoadMore;
703
+ } else {
704
+ unset($commentListArgs['reverse_top_level']);
705
+ $commentList = null;
 
 
 
 
 
706
  }
 
707
  return $commentList;
708
  }
709
 
710
+ public function commentsTemplateQueryArgs($args) {
711
+ global $post;
712
+ if ($this->helper->isLoadWpdiscuz($post) && !$this->optionsSerialized->wordpressIsPaginate) {
713
+ $args['post__not_in'] = $post->ID;
714
+ }
715
+ return $args;
716
+ }
717
+
718
+ public function preGetComments($queryObj) {
719
+ if ($this->commentsArgs['caller'] === 'wpdiscuz-') {
720
+ $vars = $queryObj->query_vars;
721
+ $vars['comment__in'] = '';
722
+ $queryObj->query_vars = $vars;
723
+ }
724
+ }
725
+
726
  /**
727
  * add comments clauses
728
  * add new orderby clause when sort type is vote and wordpress commnts order is older (ASC)
729
  */
730
  public function getCommentsArgs($args) {
731
  global $wpdb;
732
+ if ($this->commentsArgs['caller'] === 'wpdiscuz' && $this->commentsArgs['comment__in']) {
733
  $orderby = '';
734
+ $args['caller'] = $this->commentsArgs['caller'] = 'wpdiscuz-';
 
 
 
735
  if (!$this->optionsSerialized->votingButtonsShowHide) {
736
  $args['join'] .= "INNER JOIN " . $wpdb->commentmeta . " ON " . $wpdb->comments . ".comment_ID = " . $wpdb->commentmeta . ".comment_id";
737
+ $args['where'] .= " AND (" . $wpdb->commentmeta . ".meta_key = '" . self::META_KEY_VOTES . "')";
738
  }
739
  if ($this->commentsArgs['orderby'] == 'by_vote') {
740
  $orderby = $wpdb->commentmeta . ".meta_value+0 DESC, ";
746
  }
747
 
748
  private function getDefaultCommentsArgs($postId = 0) {
749
+ global $user_ID;
750
+ $commenter = wp_get_current_commenter();
751
  $args = array(
752
  'caller' => 'wpdiscuz',
753
  'post_id' => intval($postId),
759
  'limit' => $this->optionsSerialized->wordpressCommentPerPage,
760
  'is_threaded' => $this->optionsSerialized->wordpressThreadComments,
761
  'status' => 'approve',
762
+ 'comment__in' => '',
763
+ 'hierarchical' => 'threaded',
764
+ 'update_comment_meta_cache' => false,
765
+ 'no_found_rows' => false,
766
  );
767
+
768
+ if (current_user_can('moderate_comments')) {
769
+ $args['status'] = 'all';
770
+ }
771
+ if (!$this->optionsSerialized->wordpressThreadComments) {
772
+ $args['hierarchical'] = false;
773
+ }
774
+ if ($user_ID) {
775
+ $args['include_unapproved'] = array($user_ID);
776
+ } elseif (!empty($commenter['comment_author_email'])) {
777
+ $args['include_unapproved'] = array($commenter['comment_author_email']);
778
+ }
779
  return apply_filters('wpdiscuz_comments_args', $args);
780
  }
781
 
797
  */
798
  public function adminPageStylesScripts() {
799
  global $typenow;
800
+ $wpdiscuzPages = apply_filters('wpdiscuz_admin_pages', array(self::PAGE_SETTINGS, self::PAGE_PHRASES, self::PAGE_TOOLS, self::PAGE_ADDONS));
801
  if ((isset($_GET['page']) && in_array($_GET['page'], $wpdiscuzPages)) || ($typenow == 'wpdiscuz_form')) {
802
+ $args = array(
803
+ 'msgConfirmResetOptions' => __('Do you really want to reset all options?', 'wpdiscuz'),
804
+ 'msgConfirmRemoveVotes' => __('Do you really want to remove voting data?', 'wpdiscuz'),
805
+ );
806
+
807
  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.6.3');
808
  wp_enqueue_style('wpdiscuz-font-awesome');
809
  wp_register_style('wpdiscuz-cp-index-css', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/colorpicker/css/index.css'));
824
  wp_enqueue_style('wpdiscuz-options-css');
825
  wp_register_script('wpdiscuz-options-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz-options.js'), array('jquery'));
826
  wp_enqueue_script('wpdiscuz-options-js');
827
+ wp_localize_script('wpdiscuz-options-js', 'wpdiscuzObj', $args);
828
  wp_enqueue_script('thickbox');
829
  wp_register_script('wpdiscuz-jquery-cookie', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/wpdcookiejs/customcookie.js'), array('jquery'), '2.1.3', true);
830
  wp_enqueue_script('wpdiscuz-jquery-cookie');
864
  wp_enqueue_script('wpdiscuz-cookie-js');
865
  wp_register_script('autogrowtextarea-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/third-party/autogrow/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
866
  wp_enqueue_script('autogrowtextarea-js');
 
867
  $this->wpdiscuzOptionsJs = $this->optionsSerialized->getOptionsForJs();
868
  $this->wpdiscuzOptionsJs['version'] = $this->version;
869
  $this->wpdiscuzOptionsJs['wc_post_id'] = $post->ID;
870
+ $this->wpdiscuzOptionsJs['loadLastCommentId'] = 0;
871
+ if($this->optionsSerialized->commentListUpdateType) {
872
+ $cArgs = $this->getDefaultCommentsArgs($post->ID);
873
+ $this->wpdiscuzOptionsJs['loadLastCommentId'] = $this->dbManager->getLastCommentId($cArgs);
874
+ }
875
  $this->wpdiscuzOptionsJs = apply_filters('wpdiscuz_js_options', $this->wpdiscuzOptionsJs);
876
  wp_enqueue_script('jquery-form');
877
  wp_register_script('wpdiscuz-ajax-js', plugins_url(WPDISCUZ_DIR_NAME . '/assets/js/wpdiscuz.js'), array('jquery'), $this->version);
894
  public function pluginNewVersion() {
895
  $this->dbManager->createEmailNotificationTable();
896
  $wc_plugin_data = get_plugin_data(__FILE__);
 
897
  if (version_compare($wc_plugin_data['Version'], $this->version, '>')) {
898
  $this->wpdiscuzForm->createDefaultForm($this->version);
899
  $options = $this->changeOldOptions(get_option(self::OPTION_SLUG_OPTIONS));
languages/wpdiscuz.pot CHANGED
@@ -2,9 +2,9 @@
2
  msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
- "Project-Id-Version: Comments - wpDiscuz\n"
6
- "POT-Creation-Date: 2017-04-24 21:31+0400\n"
7
- "PO-Revision-Date: 2017-04-24 21:31+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:741 class.WpdiscuzCore.php:911
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,41 @@ msgstr ""
28
  msgid "Settings"
29
  msgstr ""
30
 
31
- #: class.WpdiscuzCore.php:743 class.WpdiscuzCore.php:913
32
  msgid "Phrases"
33
  msgstr ""
34
 
35
- #: class.WpdiscuzCore.php:745
36
  msgid "Tools"
37
  msgstr ""
38
 
39
- #: class.WpdiscuzCore.php:746 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:954 options/phrases-layouts/phrases-comment.php:116
 
 
 
 
 
 
 
 
45
  msgid "Admin"
46
  msgstr ""
47
 
48
- #: class.WpdiscuzCore.php:956 class.WpdiscuzCore.php:965
49
- #: options/phrases-layouts/phrases-comment.php:118
50
  msgid "Author"
51
  msgstr ""
52
 
53
- #: class.WpdiscuzCore.php:960 options/phrases-layouts/phrases-comment.php:124
54
  msgid "Member"
55
  msgstr ""
56
 
57
- #: class.WpdiscuzCore.php:966 options/phrases-layouts/phrases-comment.php:122
58
  msgid "Guest"
59
  msgstr ""
60
 
@@ -66,7 +74,7 @@ msgstr ""
66
  msgid "Forms"
67
  msgstr ""
68
 
69
- #: forms/wpDiscuzForm.php:102 options/html-phrases.php:21
70
  msgid "Form"
71
  msgstr ""
72
 
@@ -136,8 +144,8 @@ msgid "Add Field"
136
  msgstr ""
137
 
138
  #: forms/wpDiscuzForm.php:217 forms/wpdFormAttr/Field/Field.php:61
139
- #: options/class.WpdiscuzOptionsSerialized.php:613
140
- #: options/phrases-layouts/phrases-comment.php:32
141
  msgid "Edit"
142
  msgstr ""
143
 
@@ -187,13 +195,13 @@ msgstr ""
187
  #: forms/wpdFormAttr/Field/SelectField.php:12
188
  #: forms/wpdFormAttr/Field/TextAreaField.php:13
189
  #: forms/wpdFormAttr/Field/TextField.php:12
190
- #: forms/wpdFormAttr/Field/UrlField.php:12 forms/wpdFormAttr/Form.php:710
191
  msgid "Name"
192
  msgstr ""
193
 
194
  #: forms/wpDiscuzForm.php:411 forms/wpdFormAttr/Field/DefaultField/Email.php:64
195
- #: forms/wpdFormAttr/Form.php:717
196
- #: options/class.WpdiscuzOptionsSerialized.php:600 options/html-phrases.php:24
197
  msgid "Email"
198
  msgstr ""
199
 
@@ -203,7 +211,7 @@ msgstr ""
203
 
204
  #: forms/wpDiscuzForm.php:416
205
  #: forms/wpdFormAttr/Field/DefaultField/Submit.php:78
206
- #: forms/wpdFormAttr/Form.php:740
207
  msgid "Post Comment"
208
  msgstr ""
209
 
@@ -414,7 +422,7 @@ msgid "Show for logged in users"
414
  msgstr ""
415
 
416
  #: forms/wpdFormAttr/Field/DefaultField/Captcha.php:107
417
- #: forms/wpdFormAttr/Form.php:733
418
  msgid "Code"
419
  msgstr ""
420
 
@@ -443,7 +451,7 @@ msgid "Enable"
443
  msgstr ""
444
 
445
  #: forms/wpdFormAttr/Field/DefaultField/Website.php:83
446
- #: forms/wpdFormAttr/Form.php:724
447
  msgid "Website"
448
  msgstr ""
449
 
@@ -510,21 +518,21 @@ msgid ""
510
  "set this form too, the old forms will not be used for them."
511
  msgstr ""
512
 
513
- #: forms/wpdFormAttr/Form.php:652
514
  msgid "Display comment form for post IDs"
515
  msgstr ""
516
 
517
- #: forms/wpdFormAttr/Form.php:653
518
  msgid ""
519
  "You can use this form for certain posts/pages specified by comma separated "
520
  "IDs."
521
  msgstr ""
522
 
523
- #: forms/wpdFormAttr/Form.php:664
524
  msgid "Comment Text Field"
525
  msgstr ""
526
 
527
- #: forms/wpdFormAttr/Form.php:679
528
  msgid "ADD ROW"
529
  msgstr ""
530
 
@@ -532,106 +540,114 @@ msgstr ""
532
  msgid "Comment Form Fields"
533
  msgstr ""
534
 
535
- #: options/class.WpdiscuzOptions.php:24 options/class.WpdiscuzOptions.php:99
536
- #: options/class.WpdiscuzOptions.php:214
537
  msgid "Hacker?"
538
  msgstr ""
539
 
540
- #: options/class.WpdiscuzOptions.php:249
 
 
 
 
 
 
 
 
541
  msgid ""
542
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
543
  "package."
544
  msgstr ""
545
 
546
- #: options/class.WpdiscuzOptions.php:250
547
  msgid ""
548
  "Extended information about comment author with Profile, Activity, Votes and "
549
  "Subscriptions Tabs on pop-up window."
550
  msgstr ""
551
 
552
- #: options/class.WpdiscuzOptions.php:251
553
  msgid ""
554
  "Total control over comment subscriptions. Full list, monitor, manage, "
555
  "filter, unsubscribe, confirm..."
556
  msgstr ""
557
 
558
- #: options/class.WpdiscuzOptions.php:252
559
  msgid ""
560
  "A full-fledged tool-kit for advertising in comment section of your website. "
561
  "Separate banner and ad managment."
562
  msgstr ""
563
 
564
- #: options/class.WpdiscuzOptions.php:253
565
  msgid ""
566
  "Allows to mention comments and users in comment text using #comment-id and "
567
  "@username tags."
568
  msgstr ""
569
 
570
- #: options/class.WpdiscuzOptions.php:254
571
  msgid ""
572
  "See comment likers and voters of each comment. Adds user reputation and "
573
  "badges based on received likes."
574
  msgstr ""
575
 
576
- #: options/class.WpdiscuzOptions.php:255
577
  msgid ""
578
  "Comment reporting tools. Auto-moderates comments based on number of flags "
579
  "and dislikes."
580
  msgstr ""
581
 
582
- #: options/class.WpdiscuzOptions.php:256
583
  msgid ""
584
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
585
  "options. Uses free translation API."
586
  msgstr ""
587
 
588
- #: options/class.WpdiscuzOptions.php:257
589
  msgid ""
590
  "AJAX powered front-end comment search. It starts searching while you type "
591
  "search words. "
592
  msgstr ""
593
 
594
- #: options/class.WpdiscuzOptions.php:258
595
  msgid ""
596
  "Most voted comments, Active comment threads, Most commented posts, Active "
597
  "comment authors"
598
  msgstr ""
599
 
600
- #: options/class.WpdiscuzOptions.php:259
601
  msgid ""
602
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
603
  "end."
604
  msgstr ""
605
 
606
- #: options/class.WpdiscuzOptions.php:260
607
  msgid ""
608
  "Extended comment attachment system. Allows to upload images, videos, audios "
609
  "and other file types."
610
  msgstr ""
611
 
612
- #: options/class.WpdiscuzOptions.php:261
613
  msgid ""
614
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
615
  "Google reCAPTCHA"
616
  msgstr ""
617
 
618
- #: options/class.WpdiscuzOptions.php:262
619
  msgid ""
620
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
621
  "myCRED points. "
622
  msgstr ""
623
 
624
- #: options/class.WpdiscuzOptions.php:263
625
  msgid ""
626
  "Allows censoring comment words. Filters comments and replaces those phrases "
627
  "with custom words."
628
  msgstr ""
629
 
630
- #: options/class.WpdiscuzOptions.php:269
631
  msgid "Custom Comment Forms"
632
  msgstr ""
633
 
634
- #: options/class.WpdiscuzOptions.php:270
635
  msgid ""
636
  "You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with "
637
  "custom comment forms and fields. You can create custom comment forms for "
@@ -639,63 +655,63 @@ msgid ""
639
  "eaxample: text, dropdown, rating, checkboxes, etc..."
640
  msgstr ""
641
 
642
- #: options/class.WpdiscuzOptions.php:273
643
  msgid "Emoticons"
644
  msgstr ""
645
 
646
- #: options/class.WpdiscuzOptions.php:274
647
  msgid ""
648
  "You can add more emotions to your comments using wpDiscuz Emoticons addon."
649
  msgstr ""
650
 
651
- #: options/class.WpdiscuzOptions.php:277
652
  msgid "Ads Manager"
653
  msgstr ""
654
 
655
- #: options/class.WpdiscuzOptions.php:278
656
  msgid ""
657
  "Increase your income using ad banners. Comment area is the most active "
658
  "sections for advertising. wpDiscuz Ads Manager addon is designed to help you "
659
  "add banners and control ads in this section."
660
  msgstr ""
661
 
662
- #: options/class.WpdiscuzOptions.php:281
663
  msgid "User and Comment Mentioning"
664
  msgstr ""
665
 
666
- #: options/class.WpdiscuzOptions.php:282
667
  msgid ""
668
  "Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters "
669
  "mention comments and users in comment text using #comment-id and @username "
670
  "tags."
671
  msgstr ""
672
 
673
- #: options/class.WpdiscuzOptions.php:285
674
  msgid "Advanced Likers"
675
  msgstr ""
676
 
677
- #: options/class.WpdiscuzOptions.php:286
678
  msgid ""
679
  "wpDiscuz Advanced Likers addon displays likers and voters of each comment. "
680
  "Adds user reputation and badges based on received likes."
681
  msgstr ""
682
 
683
- #: options/class.WpdiscuzOptions.php:289
684
  msgid "Report and Flagging"
685
  msgstr ""
686
 
687
- #: options/class.WpdiscuzOptions.php:290
688
  msgid ""
689
  "Let your commenters help you to determine and remove spam comments. wpDiscuz "
690
  "Report and Flagging addon comes with comment reporting tools. Automaticaly "
691
  "auto-moderates comments based on number of flags and dislikes."
692
  msgstr ""
693
 
694
- #: options/class.WpdiscuzOptions.php:293
695
  msgid "Comment Translate"
696
  msgstr ""
697
 
698
- #: options/class.WpdiscuzOptions.php:294
699
  msgid ""
700
  "In most cases the big part of your visitors are not a native speakers of "
701
  "your language. Make your comments comprehensible for all visitors using "
@@ -704,11 +720,11 @@ msgid ""
704
  "translation API."
705
  msgstr ""
706
 
707
- #: options/class.WpdiscuzOptions.php:297
708
  msgid "Comment Search"
709
  msgstr ""
710
 
711
- #: options/class.WpdiscuzOptions.php:298
712
  msgid ""
713
  "You can let website visitor search in comments. It's always more attractive "
714
  "to find a comment about something that interest you. Using wpDiscuz Comment "
@@ -716,260 +732,259 @@ msgid ""
716
  "above comment list."
717
  msgstr ""
718
 
719
- #: options/class.WpdiscuzOptions.php:301
720
  msgid "wpDiscuz Widgets"
721
  msgstr ""
722
 
723
- #: options/class.WpdiscuzOptions.php:302
724
  msgid ""
725
  "More Comment Widgets! Most voted comments, Active comment threads, Most "
726
  "commented posts, Active comment authors widgets are available in wpDiscuz "
727
  "Widgets Addon"
728
  msgstr ""
729
 
730
- #: options/class.WpdiscuzOptions.php:305
731
  msgid "Front-end Moderation"
732
  msgstr ""
733
 
734
- #: options/class.WpdiscuzOptions.php:306
735
  msgid ""
736
  "You can moderate comments on front-end using all in one powerful yet simple "
737
  "wpDiscuz Frontend Moderation addon."
738
  msgstr ""
739
 
740
- #: options/class.WpdiscuzOptions.php:309
741
  msgid "Media Uploader"
742
  msgstr ""
743
 
744
- #: options/class.WpdiscuzOptions.php:310
745
  msgid ""
746
  "You can let website visitors attach images and files to comments and embed "
747
  "video/audio content using wpDiscuz Media Uploader addon."
748
  msgstr ""
749
 
750
- #: options/class.WpdiscuzOptions.php:313
751
  msgid "Google ReCaptcha"
752
  msgstr ""
753
 
754
- #: options/class.WpdiscuzOptions.php:314
755
  msgid ""
756
  "Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon "
757
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
758
  msgstr ""
759
 
760
- #: options/class.WpdiscuzOptions.php:328
761
  msgid "New Addons are available for wpDiscuz Comments Plugin"
762
  msgstr ""
763
 
764
- #: options/class.WpdiscuzOptions.php:335 options/class.WpdiscuzOptions.php:341
765
  msgid "Go to wpDiscuz Addons subMenu"
766
  msgstr ""
767
 
768
- #: options/class.WpdiscuzOptions.php:372
769
  msgid "Do you know?"
770
  msgstr ""
771
 
772
- #: options/class.WpdiscuzOptions.php:384
773
  msgid "More info"
774
  msgstr ""
775
 
776
- #: options/class.WpdiscuzOptionsSerialized.php:594
777
  msgid "Be the First to Comment!"
778
  msgstr ""
779
 
780
- #: options/class.WpdiscuzOptionsSerialized.php:595 options/html-phrases.php:22
781
- #: options/phrases-layouts/phrases-general.php:22
782
  msgid "Comment"
783
  msgstr ""
784
 
785
- #: options/class.WpdiscuzOptionsSerialized.php:596
786
  msgid "Comments"
787
  msgstr ""
788
 
789
- #: options/class.WpdiscuzOptionsSerialized.php:597
790
  msgid "on"
791
  msgstr ""
792
 
793
- #: options/class.WpdiscuzOptionsSerialized.php:598
794
  msgid "Start the discussion"
795
  msgstr ""
796
 
797
- #: options/class.WpdiscuzOptionsSerialized.php:599
798
  msgid "Join the discussion"
799
  msgstr ""
800
 
801
- #: options/class.WpdiscuzOptionsSerialized.php:601
802
- #: options/phrases-layouts/phrases-form.php:42
803
- #: options/phrases-layouts/phrases-form.php:46
804
  msgid "Notify of"
805
  msgstr ""
806
 
807
- #: options/class.WpdiscuzOptionsSerialized.php:602
808
- #: options/phrases-layouts/phrases-form.php:56
809
  msgid "new follow-up comments"
810
  msgstr ""
811
 
812
- #: options/class.WpdiscuzOptionsSerialized.php:603
813
  msgid "new replies to my comments"
814
  msgstr ""
815
 
816
- #: options/class.WpdiscuzOptionsSerialized.php:604
817
- #: options/phrases-layouts/phrases-form.php:76
818
  msgid "Notify of new replies to this comment"
819
  msgstr ""
820
 
821
- #: options/class.WpdiscuzOptionsSerialized.php:605
822
- #: options/phrases-layouts/phrases-form.php:82
823
- #: options/phrases-layouts/phrases-form.php:86
824
  msgid "Sort by"
825
  msgstr ""
826
 
827
- #: options/class.WpdiscuzOptionsSerialized.php:606
828
- #: options/phrases-layouts/phrases-form.php:92
829
- #: options/phrases-layouts/phrases-form.php:96
830
  msgid "newest"
831
  msgstr ""
832
 
833
- #: options/class.WpdiscuzOptionsSerialized.php:607
834
- #: options/phrases-layouts/phrases-form.php:102
835
- #: options/phrases-layouts/phrases-form.php:106
836
  msgid "oldest"
837
  msgstr ""
838
 
839
- #: options/class.WpdiscuzOptionsSerialized.php:608
840
- #: options/phrases-layouts/phrases-form.php:112
841
- #: options/phrases-layouts/phrases-form.php:116
842
  msgid "most voted"
843
  msgstr ""
844
 
845
- #: options/class.WpdiscuzOptionsSerialized.php:609
846
  msgid "Load More Comments"
847
  msgstr ""
848
 
849
- #: options/class.WpdiscuzOptionsSerialized.php:610
850
- #: options/phrases-layouts/phrases-general.php:62
851
  msgid "Load Rest of Comments"
852
  msgstr ""
853
 
854
- #: options/class.WpdiscuzOptionsSerialized.php:611
855
- #: options/phrases-layouts/phrases-comment.php:12
856
  msgid "Reply"
857
  msgstr ""
858
 
859
- #: options/class.WpdiscuzOptionsSerialized.php:612
860
- #: options/phrases-layouts/phrases-comment.php:22
861
  msgid "Share"
862
  msgstr ""
863
 
864
- #: options/class.WpdiscuzOptionsSerialized.php:614
865
- #: options/phrases-layouts/phrases-comment.php:42
866
  msgid "Share On Facebook"
867
  msgstr ""
868
 
869
- #: options/class.WpdiscuzOptionsSerialized.php:615
870
- #: options/phrases-layouts/phrases-comment.php:52
871
  msgid "Share On Twitter"
872
  msgstr ""
873
 
874
- #: options/class.WpdiscuzOptionsSerialized.php:616
875
- #: options/phrases-layouts/phrases-comment.php:62
876
  msgid "Share On Google"
877
  msgstr ""
878
 
879
- #: options/class.WpdiscuzOptionsSerialized.php:617
880
- #: options/phrases-layouts/phrases-comment.php:72
881
  msgid "Share On VKontakte"
882
  msgstr ""
883
 
884
- #: options/class.WpdiscuzOptionsSerialized.php:618
885
- #: options/phrases-layouts/phrases-comment.php:82
886
  msgid "Share On Odnoklassniki"
887
  msgstr ""
888
 
889
- #: options/class.WpdiscuzOptionsSerialized.php:619
890
- #: options/phrases-layouts/phrases-comment.php:92
891
  msgid "Hide Replies"
892
  msgstr ""
893
 
894
- #: options/class.WpdiscuzOptionsSerialized.php:620
895
- #: options/phrases-layouts/phrases-comment.php:102
896
  msgid "Show Replies"
897
  msgstr ""
898
 
899
- #: options/class.WpdiscuzOptionsSerialized.php:621
900
- #: options/phrases-layouts/phrases-general.php:76
901
  msgid "New Comment"
902
  msgstr ""
903
 
904
- #: options/class.WpdiscuzOptionsSerialized.php:622
905
  msgid "New comment on the discussion section you've been interested in"
906
  msgstr ""
907
 
908
- #: options/class.WpdiscuzOptionsSerialized.php:623
909
- #: options/phrases-layouts/phrases-email.php:36
910
- #: options/phrases-layouts/phrases-general.php:96
911
  #: utils/class.WpdiscuzEmailHelper.php:158
912
  msgid "New Reply"
913
  msgstr ""
914
 
915
- #: options/class.WpdiscuzOptionsSerialized.php:624
916
  #: utils/class.WpdiscuzEmailHelper.php:159
917
  msgid "New reply on the discussion section you've been interested in"
918
  msgstr ""
919
 
920
- #: options/class.WpdiscuzOptionsSerialized.php:625
921
  msgid "You're subscribed for new replies on this comment"
922
  msgstr ""
923
 
924
- #: options/class.WpdiscuzOptionsSerialized.php:626
925
  msgid "You're subscribed for new replies on all your comments"
926
  msgstr ""
927
 
928
- #: options/class.WpdiscuzOptionsSerialized.php:627
929
  msgid "You're subscribed for new follow-up comments on this post"
930
  msgstr ""
931
 
932
- #: options/class.WpdiscuzOptionsSerialized.php:628
933
- #: options/phrases-layouts/phrases-email.php:52
934
- #: options/phrases-layouts/phrases-email.php:56
935
  msgid "Unsubscribe"
936
  msgstr ""
937
 
938
- #: options/class.WpdiscuzOptionsSerialized.php:629
939
- #: options/phrases-layouts/phrases-email.php:66
940
  msgid "Cancel subscription"
941
  msgstr ""
942
 
943
- #: options/class.WpdiscuzOptionsSerialized.php:630
944
- #: options/phrases-layouts/phrases-notification.php:32
945
  msgid "You've successfully unsubscribed."
946
  msgstr ""
947
 
948
- #: options/class.WpdiscuzOptionsSerialized.php:631
949
- #: options/phrases-layouts/phrases-notification.php:22
950
  msgid "You've successfully subscribed."
951
  msgstr ""
952
 
953
- #: options/class.WpdiscuzOptionsSerialized.php:632
954
- #: options/phrases-layouts/phrases-email.php:72
955
- #: options/phrases-layouts/phrases-email.php:76
956
  msgid "Confirm your subscription"
957
  msgstr ""
958
 
959
- #: options/class.WpdiscuzOptionsSerialized.php:633
960
- #: options/phrases-layouts/phrases-email.php:82
961
- #: options/phrases-layouts/phrases-email.php:86
962
  msgid "You've successfully confirmed your subscription."
963
  msgstr ""
964
 
965
- #: options/class.WpdiscuzOptionsSerialized.php:634
966
- #: options/phrases-layouts/phrases-email.php:96
967
  #: utils/class.WpdiscuzEmailHelper.php:51
968
  msgid "Subscribe Confirmation"
969
  msgstr ""
970
 
971
- #: options/class.WpdiscuzOptionsSerialized.php:635
972
- #: options/phrases-layouts/phrases-email.php:106
973
  #: utils/class.WpdiscuzEmailHelper.php:52
974
  msgid ""
975
  "Hi, <br/> You just subscribed for new comments on our website. This means "
@@ -979,234 +994,243 @@ msgid ""
979
  "you again."
980
  msgstr ""
981
 
982
- #: options/class.WpdiscuzOptionsSerialized.php:636
983
  msgid "please fill out this field to comment"
984
  msgstr ""
985
 
986
- #: options/class.WpdiscuzOptionsSerialized.php:637
987
  msgid "email address is invalid"
988
  msgstr ""
989
 
990
- #: options/class.WpdiscuzOptionsSerialized.php:638
991
  msgid "url is invalid"
992
  msgstr ""
993
 
994
- #: options/class.WpdiscuzOptionsSerialized.php:639
995
  msgid "year"
996
  msgstr ""
997
 
998
- #: options/class.WpdiscuzOptionsSerialized.php:640
999
  msgid "years"
1000
  msgstr ""
1001
 
1002
- #: options/class.WpdiscuzOptionsSerialized.php:641
1003
  msgid "month"
1004
  msgstr ""
1005
 
1006
- #: options/class.WpdiscuzOptionsSerialized.php:642
1007
  msgid "months"
1008
  msgstr ""
1009
 
1010
- #: options/class.WpdiscuzOptionsSerialized.php:643
1011
  msgid "day"
1012
  msgstr ""
1013
 
1014
- #: options/class.WpdiscuzOptionsSerialized.php:644
1015
  msgid "days"
1016
  msgstr ""
1017
 
1018
- #: options/class.WpdiscuzOptionsSerialized.php:645
1019
  msgid "hour"
1020
  msgstr ""
1021
 
1022
- #: options/class.WpdiscuzOptionsSerialized.php:646
1023
  msgid "hours"
1024
  msgstr ""
1025
 
1026
- #: options/class.WpdiscuzOptionsSerialized.php:647
1027
  msgid "minute"
1028
  msgstr ""
1029
 
1030
- #: options/class.WpdiscuzOptionsSerialized.php:648
1031
  msgid "minutes"
1032
  msgstr ""
1033
 
1034
- #: options/class.WpdiscuzOptionsSerialized.php:649
1035
  msgid "second"
1036
  msgstr ""
1037
 
1038
- #: options/class.WpdiscuzOptionsSerialized.php:650
1039
  msgid "seconds"
1040
  msgstr ""
1041
 
1042
- #: options/class.WpdiscuzOptionsSerialized.php:651
1043
  msgid "right now"
1044
  msgstr ""
1045
 
1046
- #: options/class.WpdiscuzOptionsSerialized.php:652
1047
  msgid "ago"
1048
  msgstr ""
1049
 
1050
- #: options/class.WpdiscuzOptionsSerialized.php:653
1051
- #: options/phrases-layouts/phrases-datetime.php:156
1052
- msgid "Today"
1053
- msgstr ""
1054
-
1055
- #: options/class.WpdiscuzOptionsSerialized.php:654
1056
- #: options/phrases-layouts/phrases-notification.php:84
1057
  msgid "You must be"
1058
  msgstr ""
1059
 
1060
- #: options/class.WpdiscuzOptionsSerialized.php:655
1061
  msgid "You are logged in as"
1062
  msgstr ""
1063
 
1064
- #: options/class.WpdiscuzOptionsSerialized.php:656
1065
- #: options/phrases-layouts/phrases-notification.php:104
1066
  msgid "Log out"
1067
  msgstr ""
1068
 
1069
- #: options/class.WpdiscuzOptionsSerialized.php:657
1070
  msgid "logged in"
1071
  msgstr ""
1072
 
1073
- #: options/class.WpdiscuzOptionsSerialized.php:658
1074
  msgid "to post a comment."
1075
  msgstr ""
1076
 
1077
- #: options/class.WpdiscuzOptionsSerialized.php:659
1078
- #: options/phrases-layouts/phrases-comment.php:138
1079
  msgid "Vote Up"
1080
  msgstr ""
1081
 
1082
- #: options/class.WpdiscuzOptionsSerialized.php:660
1083
- #: options/phrases-layouts/phrases-comment.php:148
1084
  msgid "Vote Down"
1085
  msgstr ""
1086
 
1087
- #: options/class.WpdiscuzOptionsSerialized.php:661
1088
- #: options/phrases-layouts/phrases-notification.php:134
1089
  msgid "Vote Counted"
1090
  msgstr ""
1091
 
1092
- #: options/class.WpdiscuzOptionsSerialized.php:662
1093
  msgid "You've already voted for this comment"
1094
  msgstr ""
1095
 
1096
- #: options/class.WpdiscuzOptionsSerialized.php:663
1097
- #: options/phrases-layouts/phrases-notification.php:154
1098
  msgid "Voting Error"
1099
  msgstr ""
1100
 
1101
- #: options/class.WpdiscuzOptionsSerialized.php:664
1102
  msgid "You Must Be Logged In To Vote"
1103
  msgstr ""
1104
 
1105
- #: options/class.WpdiscuzOptionsSerialized.php:665
1106
  msgid "You cannot vote for your comment"
1107
  msgstr ""
1108
 
1109
- #: options/class.WpdiscuzOptionsSerialized.php:666
1110
  msgid "You are not allowed to vote for this comment"
1111
  msgstr ""
1112
 
1113
- #: options/class.WpdiscuzOptionsSerialized.php:667
1114
- #: options/phrases-layouts/phrases-notification.php:194
1115
  msgid "Invalid Captcha Code"
1116
  msgstr ""
1117
 
1118
- #: options/class.WpdiscuzOptionsSerialized.php:668
1119
- #: options/phrases-layouts/phrases-notification.php:204
1120
  msgid "Some of field value is invalid"
1121
  msgstr ""
1122
 
1123
- #: options/class.WpdiscuzOptionsSerialized.php:669
1124
  msgid "new comment"
1125
  msgstr ""
1126
 
1127
- #: options/class.WpdiscuzOptionsSerialized.php:670
1128
  msgid "new comments"
1129
  msgstr ""
1130
 
1131
- #: options/class.WpdiscuzOptionsSerialized.php:671
1132
  msgid "Comment awaiting moderation"
1133
  msgstr ""
1134
 
1135
- #: options/class.WpdiscuzOptionsSerialized.php:672
1136
  msgid "new reply on your comment"
1137
  msgstr ""
1138
 
1139
- #: options/class.WpdiscuzOptionsSerialized.php:673
1140
  msgid "new replies on your comments"
1141
  msgstr ""
1142
 
1143
- #: options/class.WpdiscuzOptionsSerialized.php:674
1144
- #: options/phrases-layouts/phrases-general.php:116
1145
  msgid "New"
1146
  msgstr ""
1147
 
1148
- #: options/class.WpdiscuzOptionsSerialized.php:675
1149
- #: options/phrases-layouts/phrases-notification.php:249
1150
  msgid "Sorry, the comment was not updated"
1151
  msgstr ""
1152
 
1153
- #: options/class.WpdiscuzOptionsSerialized.php:676
1154
- #: options/phrases-layouts/phrases-notification.php:259
1155
  msgid "Sorry, this comment no longer possible to edit"
1156
  msgstr ""
1157
 
1158
- #: options/class.WpdiscuzOptionsSerialized.php:677
1159
  msgid "You've not made any changes"
1160
  msgstr ""
1161
 
1162
- #: options/class.WpdiscuzOptionsSerialized.php:678
1163
- #: options/phrases-layouts/phrases-comment.php:162
1164
  msgid "Save"
1165
  msgstr ""
1166
 
1167
- #: options/class.WpdiscuzOptionsSerialized.php:679
1168
- #: options/phrases-layouts/phrases-comment.php:172
1169
  msgid "Cancel"
1170
  msgstr ""
1171
 
1172
- #: options/class.WpdiscuzOptionsSerialized.php:680
1173
  msgid "Input is too short"
1174
  msgstr ""
1175
 
1176
- #: options/class.WpdiscuzOptionsSerialized.php:681
1177
  msgid "Input is too long"
1178
  msgstr ""
1179
 
1180
- #: options/class.WpdiscuzOptionsSerialized.php:682
1181
- #: options/phrases-layouts/phrases-comment.php:182
1182
  msgid "Read more &raquo;"
1183
  msgstr ""
1184
 
1185
- #: options/class.WpdiscuzOptionsSerialized.php:683
1186
- #: options/phrases-layouts/phrases-comment.php:192
1187
  msgid "Anonymous"
1188
  msgstr ""
1189
 
1190
- #: options/class.WpdiscuzOptionsSerialized.php:684
1191
- #: options/phrases-layouts/phrases-notification.php:275
1192
- #: options/phrases-layouts/phrases-notification.php:279
1193
  msgid "Please fill out required fields"
1194
  msgstr ""
1195
 
1196
- #: options/class.WpdiscuzOptionsSerialized.php:685
1197
- #: options/phrases-layouts/phrases-form.php:152
1198
- #: options/phrases-layouts/phrases-form.php:156
1199
  msgid "Connect with"
1200
  msgstr ""
1201
 
1202
- #: options/class.WpdiscuzOptionsSerialized.php:686
1203
  msgid "You're subscribed to"
1204
  msgstr ""
1205
 
1206
- #: options/class.WpdiscuzOptionsSerialized.php:687
1207
  msgid "Participate in this discussion via email"
1208
  msgstr ""
1209
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1210
  #: options/html-addons.php:11
1211
  msgid "wpDiscuz Addons"
1212
  msgstr ""
@@ -1263,65 +1287,61 @@ msgstr ""
1263
  msgid "wpDiscuz General Settings"
1264
  msgstr ""
1265
 
1266
- #: options/html-options.php:18
1267
  msgid "Like wpDiscuz?"
1268
  msgstr ""
1269
 
1270
- #: options/html-options.php:19
1271
  msgid "Documentation"
1272
  msgstr ""
1273
 
1274
- #: options/html-options.php:20
1275
  msgid "Support"
1276
  msgstr ""
1277
 
1278
- #: options/html-options.php:54 options/options-layouts/settings-general.php:7
1279
  msgid "General Settings"
1280
  msgstr ""
1281
 
1282
- #: options/html-options.php:55
1283
  #: options/options-layouts/settings-live-update.php:7
1284
  msgid "Live Update"
1285
  msgstr ""
1286
 
1287
- #: options/html-options.php:56
1288
  msgid "Show/Hide"
1289
  msgstr ""
1290
 
1291
- #: options/html-options.php:57
1292
  msgid "Subscription"
1293
  msgstr ""
1294
 
1295
- #: options/html-options.php:57
1296
  msgid "and Postmatic"
1297
  msgstr ""
1298
 
1299
- #: options/html-options.php:58
1300
  msgid "Styling"
1301
  msgstr ""
1302
 
1303
- #: options/html-options.php:59 options/options-layouts/settings-social.php:124
1304
  msgid "Social Login"
1305
  msgstr ""
1306
 
1307
- #: options/html-options.php:60
1308
  #: options/options-layouts/settings-integrations.php:7
1309
  msgid "Integrations"
1310
  msgstr ""
1311
 
1312
- #: options/html-options.php:148
1313
- msgid "Reset Options"
1314
- msgstr ""
1315
-
1316
  #: options/html-options.php:150
1317
- msgid "Refresh comment optimization"
1318
  msgstr ""
1319
 
1320
  #: options/html-options.php:152
1321
  msgid "Remove vote data"
1322
  msgstr ""
1323
 
1324
- #: options/html-options.php:153 options/html-phrases.php:71
1325
  #: options/html-tools.php:58
1326
  msgid "Save Changes"
1327
  msgstr ""
@@ -1330,15 +1350,15 @@ msgstr ""
1330
  msgid "wpDiscuz Front-end Phrases"
1331
  msgstr ""
1332
 
1333
- #: options/html-phrases.php:20
1334
  msgid "General"
1335
  msgstr ""
1336
 
1337
- #: options/html-phrases.php:23
1338
  msgid "Date/Time"
1339
  msgstr ""
1340
 
1341
- #: options/html-phrases.php:25
1342
  msgid "Notification"
1343
  msgstr ""
1344
 
@@ -1399,97 +1419,101 @@ msgid ""
1399
  "label correctly."
1400
  msgstr ""
1401
 
1402
- #: options/options-layouts/settings-general.php:29
1403
- msgid "Comment author name min length (for guests only)"
1404
  msgstr ""
1405
 
1406
  #: options/options-layouts/settings-general.php:33
1407
- #: options/options-layouts/settings-general.php:56
 
 
 
 
1408
  msgid "Min"
1409
  msgstr ""
1410
 
1411
- #: options/options-layouts/settings-general.php:36
1412
- #: options/options-layouts/settings-general.php:59
1413
  msgid "Max"
1414
  msgstr ""
1415
 
1416
- #: options/options-layouts/settings-general.php:42
1417
  msgid "Keep guest commenter credentials in browser cookies for x days"
1418
  msgstr ""
1419
 
1420
- #: options/options-layouts/settings-general.php:44
1421
  msgid "Set this option value -1 to make it unlimited."
1422
  msgstr ""
1423
 
1424
- #: options/options-layouts/settings-general.php:45
1425
  msgid "Set this option value 0 to clear those data when user closes browser."
1426
  msgstr ""
1427
 
1428
- #: options/options-layouts/settings-general.php:52
1429
  msgid "Comment text length"
1430
  msgstr ""
1431
 
1432
- #: options/options-layouts/settings-general.php:65
1433
  msgid ""
1434
  "The number of words before breaking comment text and showing \"Read more\" "
1435
  "link"
1436
  msgstr ""
1437
 
1438
- #: options/options-layouts/settings-general.php:67
1439
  msgid "Set this option value 0, to turn off comment text breaking function."
1440
  msgstr ""
1441
 
1442
- #: options/options-layouts/settings-general.php:73
1443
  msgid "Comment text size in pixels"
1444
  msgstr ""
1445
 
1446
- #: options/options-layouts/settings-general.php:86
1447
  msgid "Allow comment editing for"
1448
  msgstr ""
1449
 
1450
- #: options/options-layouts/settings-general.php:90
1451
  msgid "Do not allow"
1452
  msgstr ""
1453
 
1454
- #: options/options-layouts/settings-general.php:91
1455
- #: options/options-layouts/settings-general.php:92
1456
  #: options/options-layouts/settings-live-update.php:52
1457
  #: options/options-layouts/settings-live-update.php:53
1458
  #: options/options-layouts/settings-live-update.php:54
1459
  msgid "Minutes"
1460
  msgstr ""
1461
 
1462
- #: options/options-layouts/settings-general.php:93
1463
- #: options/phrases-layouts/phrases-datetime.php:72
1464
  msgid "Hour"
1465
  msgstr ""
1466
 
1467
- #: options/options-layouts/settings-general.php:94
1468
- #: options/options-layouts/settings-general.php:95
1469
  msgid "Hours"
1470
  msgstr ""
1471
 
1472
- #: options/options-layouts/settings-general.php:96
1473
  msgid "Unlimit"
1474
  msgstr ""
1475
 
1476
- #: options/options-layouts/settings-general.php:102
1477
  msgid "Redirect first commenter to"
1478
  msgstr ""
1479
 
1480
- #: options/options-layouts/settings-general.php:109
1481
  msgid "Do not redirect"
1482
  msgstr ""
1483
 
1484
- #: options/options-layouts/settings-general.php:116
1485
  msgid "Allow guests to vote on comments"
1486
  msgstr ""
1487
 
1488
- #: options/options-layouts/settings-general.php:121
1489
  msgid "Comments loading/pagination type"
1490
  msgstr ""
1491
 
1492
- #: options/options-layouts/settings-general.php:123
1493
  msgid ""
1494
  "You can manage the number of comments for [Load more] option in Settings > "
1495
  "Discussion page, using \"Break comments into pages with [X] top level "
@@ -1497,40 +1521,40 @@ msgid ""
1497
  "you should enable the checkbox on bigining of the same option."
1498
  msgstr ""
1499
 
1500
- #: options/options-layouts/settings-general.php:129
1501
- #: options/options-layouts/settings-general.php:131
1502
- msgid "[Load more] Button"
1503
- msgstr ""
1504
-
1505
  #: options/options-layouts/settings-general.php:133
1506
  #: options/options-layouts/settings-general.php:135
1507
- msgid "[Load rest of all comments] Button"
1508
  msgstr ""
1509
 
1510
  #: options/options-layouts/settings-general.php:137
1511
  #: options/options-layouts/settings-general.php:139
 
 
 
 
 
1512
  msgid "Lazy load comments on scrolling"
1513
  msgstr ""
1514
 
1515
- #: options/options-layouts/settings-general.php:146
1516
  msgid "Use WordPress Date/Time format"
1517
  msgstr ""
1518
 
1519
- #: options/options-layouts/settings-general.php:147
1520
  msgid ""
1521
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
1522
  "show the date/time format set in WordPress General Settings."
1523
  msgstr ""
1524
 
1525
- #: options/options-layouts/settings-general.php:153
1526
  msgid "Current Wordpress date/time format"
1527
  msgstr ""
1528
 
1529
- #: options/options-layouts/settings-general.php:159
1530
  msgid "Use Plugin .PO/.MO files"
1531
  msgstr ""
1532
 
1533
- #: options/options-layouts/settings-general.php:160
1534
  msgid ""
1535
  "wpDiscuz phrase system allows you to translate all front-end phrases. "
1536
  "However if you have a multi-language website it'll not allow you to add more "
@@ -1540,13 +1564,13 @@ msgid ""
1540
  "translate all phrases based on language files according to current language."
1541
  msgstr ""
1542
 
1543
- #: options/options-layouts/settings-general.php:167
1544
  msgid ""
1545
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
1546
  "use"
1547
  msgstr ""
1548
 
1549
- #: options/options-layouts/settings-general.php:169
1550
  msgid ""
1551
  "Please check this option on to help wpDiscuz get more popularity as your "
1552
  "thank to the hard work we do for you totally free. This option adds a very "
@@ -1554,7 +1578,7 @@ msgid ""
1554
  "visitors recognize the name of comment solution you use."
1555
  msgstr ""
1556
 
1557
- #: options/options-layouts/settings-general.php:174
1558
  msgid "Thank you!"
1559
  msgstr ""
1560
 
@@ -1672,7 +1696,7 @@ msgid "Seconds"
1672
  msgstr ""
1673
 
1674
  #: options/options-layouts/settings-live-update.php:51
1675
- #: options/phrases-layouts/phrases-datetime.php:92
1676
  msgid "Minute"
1677
  msgstr ""
1678
 
@@ -1981,19 +2005,19 @@ msgstr ""
1981
  msgid "Comment Template Phrases"
1982
  msgstr ""
1983
 
1984
- #: options/phrases-layouts/phrases-comment.php:158
1985
  msgid "Save edited comment button text"
1986
  msgstr ""
1987
 
1988
- #: options/phrases-layouts/phrases-comment.php:168
1989
  msgid "Cancel comment editing button text"
1990
  msgstr ""
1991
 
1992
- #: options/phrases-layouts/phrases-comment.php:178
1993
  msgid "Comment read more link text"
1994
  msgstr ""
1995
 
1996
- #: options/phrases-layouts/phrases-comment.php:188
1997
  msgid "Anonymous commenter name"
1998
  msgstr ""
1999
 
@@ -2001,184 +2025,195 @@ msgstr ""
2001
  msgid "Date/Time Phrases"
2002
  msgstr ""
2003
 
2004
- #: options/phrases-layouts/phrases-datetime.php:12
2005
  msgid "Year"
2006
  msgstr ""
2007
 
2008
- #: options/phrases-layouts/phrases-datetime.php:22
2009
  msgid "Years (Plural Form)"
2010
  msgstr ""
2011
 
2012
- #: options/phrases-layouts/phrases-datetime.php:26
2013
  msgid "Years"
2014
  msgstr ""
2015
 
2016
- #: options/phrases-layouts/phrases-datetime.php:32
2017
  msgid "Month"
2018
  msgstr ""
2019
 
2020
- #: options/phrases-layouts/phrases-datetime.php:42
2021
  msgid "Months (Plural Form)"
2022
  msgstr ""
2023
 
2024
- #: options/phrases-layouts/phrases-datetime.php:52
2025
  msgid "Day"
2026
  msgstr ""
2027
 
2028
- #: options/phrases-layouts/phrases-datetime.php:62
2029
  msgid "Days (Plural Form)"
2030
  msgstr ""
2031
 
2032
- #: options/phrases-layouts/phrases-datetime.php:82
2033
  msgid "Hours (Plural Form)"
2034
  msgstr ""
2035
 
2036
- #: options/phrases-layouts/phrases-datetime.php:102
2037
  msgid "Minutes (Plural Form)"
2038
  msgstr ""
2039
 
2040
- #: options/phrases-layouts/phrases-datetime.php:112
2041
  msgid "Second"
2042
  msgstr ""
2043
 
2044
- #: options/phrases-layouts/phrases-datetime.php:122
2045
  msgid "Seconds (Plural Form)"
2046
  msgstr ""
2047
 
2048
- #: options/phrases-layouts/phrases-datetime.php:132
2049
  msgid "Commented \"right now\" text"
2050
  msgstr ""
2051
 
2052
- #: options/phrases-layouts/phrases-datetime.php:142
2053
  msgid "Ago text"
2054
  msgstr ""
2055
 
2056
- #: options/phrases-layouts/phrases-datetime.php:152
2057
- msgid "\"Today\" text"
2058
- msgstr ""
2059
-
2060
  #: options/phrases-layouts/phrases-email.php:7
2061
  msgid "Email Template Phrases"
2062
  msgstr ""
2063
 
2064
- #: options/phrases-layouts/phrases-email.php:12
2065
- msgid "Email Subject"
2066
  msgstr ""
2067
 
2068
- #: options/phrases-layouts/phrases-email.php:22
2069
- msgid "Email Message"
2070
  msgstr ""
2071
 
2072
- #: options/phrases-layouts/phrases-email.php:32
2073
- msgid "New Reply Subject"
 
 
 
 
2074
  msgstr ""
2075
 
2076
- #: options/phrases-layouts/phrases-email.php:42
2077
- msgid "New Reply Message"
2078
  msgstr ""
2079
 
2080
- #: options/phrases-layouts/phrases-email.php:62
2081
- #: options/phrases-layouts/phrases-email.php:66
2082
- msgid "Ignore Subscription"
2083
  msgstr ""
2084
 
2085
- #: options/phrases-layouts/phrases-email.php:92
2086
- msgid "Subscribe Confirmation Email Subject"
2087
  msgstr ""
2088
 
2089
- #: options/phrases-layouts/phrases-email.php:102
2090
- msgid "Subscribe Confirmation Email Content"
 
 
 
 
 
 
 
 
2091
  msgstr ""
2092
 
2093
  #: options/phrases-layouts/phrases-form.php:7
2094
  msgid "Form Template Phrases"
2095
  msgstr ""
2096
 
2097
- #: options/phrases-layouts/phrases-form.php:12
2098
  msgid "Comment Field Start"
2099
  msgstr ""
2100
 
2101
- #: options/phrases-layouts/phrases-form.php:22
2102
  msgid "Comment Field Join"
2103
  msgstr ""
2104
 
2105
- #: options/phrases-layouts/phrases-form.php:32
2106
  msgid "Email Field"
2107
  msgstr ""
2108
 
2109
- #: options/phrases-layouts/phrases-form.php:52
2110
  msgid "Notify on new comments"
2111
  msgstr ""
2112
 
2113
- #: options/phrases-layouts/phrases-form.php:62
2114
  msgid "Notify on all new replies"
2115
  msgstr ""
2116
 
2117
- #: options/phrases-layouts/phrases-form.php:66
2118
  msgid "new replies to all my comments"
2119
  msgstr ""
2120
 
2121
- #: options/phrases-layouts/phrases-form.php:72
2122
  msgid "Notify on new replies (checkbox)"
2123
  msgstr ""
2124
 
2125
- #: options/phrases-layouts/phrases-form.php:122
2126
  msgid "Subscribed on this comment replies"
2127
  msgstr ""
2128
 
2129
- #: options/phrases-layouts/phrases-form.php:132
2130
  msgid "Subscribed on all your comments replies"
2131
  msgstr ""
2132
 
2133
- #: options/phrases-layouts/phrases-form.php:142
2134
  msgid "Subscribed on this post"
2135
  msgstr ""
2136
 
 
 
 
 
2137
  #: options/phrases-layouts/phrases-general.php:7
2138
  msgid "General Phrases"
2139
  msgstr ""
2140
 
2141
- #: options/phrases-layouts/phrases-general.php:12
2142
  msgid "Be the first to comment"
2143
  msgstr ""
2144
 
2145
- #: options/phrases-layouts/phrases-general.php:32
2146
  msgid "Comment (Plural Form)"
2147
  msgstr ""
2148
 
2149
- #: options/phrases-layouts/phrases-general.php:42
2150
  msgid "On"
2151
  msgstr ""
2152
 
2153
- #: options/phrases-layouts/phrases-general.php:52
2154
  msgid "Load More Button"
2155
  msgstr ""
2156
 
2157
- #: options/phrases-layouts/phrases-general.php:72
2158
  msgid "Button text if has new comment"
2159
  msgstr ""
2160
 
2161
- #: options/phrases-layouts/phrases-general.php:82
2162
  msgid "Button text if has new comments (Plural Form)"
2163
  msgstr ""
2164
 
2165
- #: options/phrases-layouts/phrases-general.php:86
2166
  msgid "New Comments"
2167
  msgstr ""
2168
 
2169
- #: options/phrases-layouts/phrases-general.php:92
2170
  msgid "Button text if has new reply"
2171
  msgstr ""
2172
 
2173
- #: options/phrases-layouts/phrases-general.php:102
2174
  msgid "Button text if has new replies (Plural Form)"
2175
  msgstr ""
2176
 
2177
- #: options/phrases-layouts/phrases-general.php:106
2178
  msgid "New Replies"
2179
  msgstr ""
2180
 
2181
- #: options/phrases-layouts/phrases-general.php:112
2182
  msgid "Text on load more button if has new comment(s)"
2183
  msgstr ""
2184
 
@@ -2186,79 +2221,79 @@ msgstr ""
2186
  msgid "Notification Phrases"
2187
  msgstr ""
2188
 
2189
- #: options/phrases-layouts/phrases-notification.php:12
2190
  msgid "You\\'re subscribed to"
2191
  msgstr ""
2192
 
2193
- #: options/phrases-layouts/phrases-notification.php:43
2194
  msgid "Postmatic subscription label"
2195
  msgstr ""
2196
 
2197
- #: options/phrases-layouts/phrases-notification.php:54
2198
  msgid "Error message for empty field"
2199
  msgstr ""
2200
 
2201
- #: options/phrases-layouts/phrases-notification.php:64
2202
  msgid "Error message for invalid email field"
2203
  msgstr ""
2204
 
2205
- #: options/phrases-layouts/phrases-notification.php:74
2206
  msgid "Error message for invalid website url field"
2207
  msgstr ""
2208
 
2209
- #: options/phrases-layouts/phrases-notification.php:94
2210
  msgid "Logged in as"
2211
  msgstr ""
2212
 
2213
- #: options/phrases-layouts/phrases-notification.php:114
2214
  msgid "Logged In"
2215
  msgstr ""
2216
 
2217
- #: options/phrases-layouts/phrases-notification.php:124
2218
  msgid "To post a comment"
2219
  msgstr ""
2220
 
2221
- #: options/phrases-layouts/phrases-notification.php:144
2222
  msgid "You can vote only 1 time"
2223
  msgstr ""
2224
 
2225
- #: options/phrases-layouts/phrases-notification.php:164
2226
  msgid "Login To Vote"
2227
  msgstr ""
2228
 
2229
- #: options/phrases-layouts/phrases-notification.php:174
2230
  msgid "You Cannot Vote On Your Comment"
2231
  msgstr ""
2232
 
2233
- #: options/phrases-layouts/phrases-notification.php:184
2234
  msgid "You are not allowed to vote for this comment (Voting from same IP)"
2235
  msgstr ""
2236
 
2237
- #: options/phrases-layouts/phrases-notification.php:214
2238
  msgid "Comment waiting moderation"
2239
  msgstr ""
2240
 
2241
- #: options/phrases-layouts/phrases-notification.php:224
2242
  msgid "Message if input text length is too short"
2243
  msgstr ""
2244
 
2245
- #: options/phrases-layouts/phrases-notification.php:234
2246
  msgid "Message if input text length is too long"
2247
  msgstr ""
2248
 
2249
- #: options/phrases-layouts/phrases-notification.php:245
2250
  msgid "Message if comment was not updated"
2251
  msgstr ""
2252
 
2253
- #: options/phrases-layouts/phrases-notification.php:255
2254
  msgid "Message if comment no longer possible to edit"
2255
  msgstr ""
2256
 
2257
- #: options/phrases-layouts/phrases-notification.php:265
2258
  msgid "Message if comment text not changed"
2259
  msgstr ""
2260
 
2261
- #: options/phrases-layouts/phrases-notification.php:269
2262
  msgid "TYou've not made any changes"
2263
  msgstr ""
2264
 
@@ -2280,26 +2315,23 @@ msgid ""
2280
  "wpDiscuz versions."
2281
  msgstr ""
2282
 
2283
- #: templates/comment/comment-form.php:73
2284
  msgid "Unable to send an email"
2285
  msgstr ""
2286
 
2287
- #: templates/comment/comment-form.php:75
2288
  msgid "Subscription not successed"
2289
  msgstr ""
2290
 
2291
- #: templates/comment/comment-form.php:296
 
2292
  msgid "wpDiscuz"
2293
  msgstr ""
2294
 
2295
- #: utils/class.WpdiscuzHelper.php:356 utils/class.WpdiscuzHelper.php:359
2296
  msgid "Spoiler"
2297
  msgstr ""
2298
 
2299
- #. Plugin Name of the plugin/theme
2300
- msgid "Comments - wpDiscuz"
2301
- msgstr ""
2302
-
2303
  #. Plugin URI of the plugin/theme
2304
  msgid "http://wpdiscuz.com/"
2305
  msgstr ""
@@ -2315,5 +2347,5 @@ msgid "gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)"
2315
  msgstr ""
2316
 
2317
  #. Author URI of the plugin/theme
2318
- msgid "http://gvectors.com/"
2319
  msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
+ "Project-Id-Version: wpDiscuz\n"
6
+ "POT-Creation-Date: 2017-10-25 20:39+0400\n"
7
+ "PO-Revision-Date: 2017-10-25 20:39+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:787 class.WpdiscuzCore.php:970
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:789 class.WpdiscuzCore.php:972
32
  msgid "Phrases"
33
  msgstr ""
34
 
35
+ #: class.WpdiscuzCore.php:791
36
  msgid "Tools"
37
  msgstr ""
38
 
39
+ #: class.WpdiscuzCore.php:792 options/html-options.php:22
40
+ #: options/html-options.php:62 options/options-layouts/settings-addons.php:7
41
  msgid "Addons"
42
  msgstr ""
43
 
44
+ #: class.WpdiscuzCore.php:803
45
+ msgid "Do you really want to reset all options?"
46
+ msgstr ""
47
+
48
+ #: class.WpdiscuzCore.php:804
49
+ msgid "Do you really want to remove voting data?"
50
+ msgstr ""
51
+
52
+ #: class.WpdiscuzCore.php:1013 options/phrases-layouts/phrases-comment.php:56
53
  msgid "Admin"
54
  msgstr ""
55
 
56
+ #: class.WpdiscuzCore.php:1015 class.WpdiscuzCore.php:1024
57
+ #: options/phrases-layouts/phrases-comment.php:58
58
  msgid "Author"
59
  msgstr ""
60
 
61
+ #: class.WpdiscuzCore.php:1019 options/phrases-layouts/phrases-comment.php:64
62
  msgid "Member"
63
  msgstr ""
64
 
65
+ #: class.WpdiscuzCore.php:1025 options/phrases-layouts/phrases-comment.php:62
66
  msgid "Guest"
67
  msgstr ""
68
 
74
  msgid "Forms"
75
  msgstr ""
76
 
77
+ #: forms/wpDiscuzForm.php:102 options/html-phrases.php:22
78
  msgid "Form"
79
  msgstr ""
80
 
144
  msgstr ""
145
 
146
  #: forms/wpDiscuzForm.php:217 forms/wpdFormAttr/Field/Field.php:61
147
+ #: options/class.WpdiscuzOptionsSerialized.php:620
148
+ #: options/phrases-layouts/phrases-comment.php:19
149
  msgid "Edit"
150
  msgstr ""
151
 
195
  #: forms/wpdFormAttr/Field/SelectField.php:12
196
  #: forms/wpdFormAttr/Field/TextAreaField.php:13
197
  #: forms/wpdFormAttr/Field/TextField.php:12
198
+ #: forms/wpdFormAttr/Field/UrlField.php:12 forms/wpdFormAttr/Form.php:713
199
  msgid "Name"
200
  msgstr ""
201
 
202
  #: forms/wpDiscuzForm.php:411 forms/wpdFormAttr/Field/DefaultField/Email.php:64
203
+ #: forms/wpdFormAttr/Form.php:720
204
+ #: options/class.WpdiscuzOptionsSerialized.php:607 options/html-phrases.php:25
205
  msgid "Email"
206
  msgstr ""
207
 
211
 
212
  #: forms/wpDiscuzForm.php:416
213
  #: forms/wpdFormAttr/Field/DefaultField/Submit.php:78
214
+ #: forms/wpdFormAttr/Form.php:743
215
  msgid "Post Comment"
216
  msgstr ""
217
 
422
  msgstr ""
423
 
424
  #: forms/wpdFormAttr/Field/DefaultField/Captcha.php:107
425
+ #: forms/wpdFormAttr/Form.php:736
426
  msgid "Code"
427
  msgstr ""
428
 
451
  msgstr ""
452
 
453
  #: forms/wpdFormAttr/Field/DefaultField/Website.php:83
454
+ #: forms/wpdFormAttr/Form.php:727
455
  msgid "Website"
456
  msgstr ""
457
 
518
  "set this form too, the old forms will not be used for them."
519
  msgstr ""
520
 
521
+ #: forms/wpdFormAttr/Form.php:655
522
  msgid "Display comment form for post IDs"
523
  msgstr ""
524
 
525
+ #: forms/wpdFormAttr/Form.php:656
526
  msgid ""
527
  "You can use this form for certain posts/pages specified by comma separated "
528
  "IDs."
529
  msgstr ""
530
 
531
+ #: forms/wpdFormAttr/Form.php:667
532
  msgid "Comment Text Field"
533
  msgstr ""
534
 
535
+ #: forms/wpdFormAttr/Form.php:682
536
  msgid "ADD ROW"
537
  msgstr ""
538
 
540
  msgid "Comment Form Fields"
541
  msgstr ""
542
 
543
+ #: options/class.WpdiscuzOptions.php:24 options/class.WpdiscuzOptions.php:101
544
+ #: options/class.WpdiscuzOptions.php:219
545
  msgid "Hacker?"
546
  msgstr ""
547
 
548
+ #: options/class.WpdiscuzOptions.php:92
549
+ msgid "Settings updated"
550
+ msgstr ""
551
+
552
+ #: options/class.WpdiscuzOptions.php:208
553
+ msgid "Phrases updated"
554
+ msgstr ""
555
+
556
+ #: options/class.WpdiscuzOptions.php:254
557
  msgid ""
558
  "Brings an ocean of emotions to your comments. It comes with an awesome smile "
559
  "package."
560
  msgstr ""
561
 
562
+ #: options/class.WpdiscuzOptions.php:255
563
  msgid ""
564
  "Extended information about comment author with Profile, Activity, Votes and "
565
  "Subscriptions Tabs on pop-up window."
566
  msgstr ""
567
 
568
+ #: options/class.WpdiscuzOptions.php:256
569
  msgid ""
570
  "Total control over comment subscriptions. Full list, monitor, manage, "
571
  "filter, unsubscribe, confirm..."
572
  msgstr ""
573
 
574
+ #: options/class.WpdiscuzOptions.php:257
575
  msgid ""
576
  "A full-fledged tool-kit for advertising in comment section of your website. "
577
  "Separate banner and ad managment."
578
  msgstr ""
579
 
580
+ #: options/class.WpdiscuzOptions.php:258
581
  msgid ""
582
  "Allows to mention comments and users in comment text using #comment-id and "
583
  "@username tags."
584
  msgstr ""
585
 
586
+ #: options/class.WpdiscuzOptions.php:259
587
  msgid ""
588
  "See comment likers and voters of each comment. Adds user reputation and "
589
  "badges based on received likes."
590
  msgstr ""
591
 
592
+ #: options/class.WpdiscuzOptions.php:260
593
  msgid ""
594
  "Comment reporting tools. Auto-moderates comments based on number of flags "
595
  "and dislikes."
596
  msgstr ""
597
 
598
+ #: options/class.WpdiscuzOptions.php:261
599
  msgid ""
600
  "Adds a smart and intuitive AJAX \"Translate\" button with 60 language "
601
  "options. Uses free translation API."
602
  msgstr ""
603
 
604
+ #: options/class.WpdiscuzOptions.php:262
605
  msgid ""
606
  "AJAX powered front-end comment search. It starts searching while you type "
607
  "search words. "
608
  msgstr ""
609
 
610
+ #: options/class.WpdiscuzOptions.php:263
611
  msgid ""
612
  "Most voted comments, Active comment threads, Most commented posts, Active "
613
  "comment authors"
614
  msgstr ""
615
 
616
+ #: options/class.WpdiscuzOptions.php:264
617
  msgid ""
618
  "All in one powerful yet simple admin toolkit to moderate comments on front-"
619
  "end."
620
  msgstr ""
621
 
622
+ #: options/class.WpdiscuzOptions.php:265
623
  msgid ""
624
  "Extended comment attachment system. Allows to upload images, videos, audios "
625
  "and other file types."
626
  msgstr ""
627
 
628
+ #: options/class.WpdiscuzOptions.php:266
629
  msgid ""
630
  "Adds No CAPTCHA on all comment forms. Stops spam and bot comments with "
631
  "Google reCAPTCHA"
632
  msgstr ""
633
 
634
+ #: options/class.WpdiscuzOptions.php:267
635
  msgid ""
636
  "Integrates myCRED Badges and Ranks. Converts wpDiscuz comment votes/likes to "
637
  "myCRED points. "
638
  msgstr ""
639
 
640
+ #: options/class.WpdiscuzOptions.php:268
641
  msgid ""
642
  "Allows censoring comment words. Filters comments and replaces those phrases "
643
  "with custom words."
644
  msgstr ""
645
 
646
+ #: options/class.WpdiscuzOptions.php:274
647
  msgid "Custom Comment Forms"
648
  msgstr ""
649
 
650
+ #: options/class.WpdiscuzOptions.php:275
651
  msgid ""
652
  "You can create custom comment forms with wpDiscuz. wpDiscuz 4 comes with "
653
  "custom comment forms and fields. You can create custom comment forms for "
655
  "eaxample: text, dropdown, rating, checkboxes, etc..."
656
  msgstr ""
657
 
658
+ #: options/class.WpdiscuzOptions.php:278
659
  msgid "Emoticons"
660
  msgstr ""
661
 
662
+ #: options/class.WpdiscuzOptions.php:279
663
  msgid ""
664
  "You can add more emotions to your comments using wpDiscuz Emoticons addon."
665
  msgstr ""
666
 
667
+ #: options/class.WpdiscuzOptions.php:282
668
  msgid "Ads Manager"
669
  msgstr ""
670
 
671
+ #: options/class.WpdiscuzOptions.php:283
672
  msgid ""
673
  "Increase your income using ad banners. Comment area is the most active "
674
  "sections for advertising. wpDiscuz Ads Manager addon is designed to help you "
675
  "add banners and control ads in this section."
676
  msgstr ""
677
 
678
+ #: options/class.WpdiscuzOptions.php:286
679
  msgid "User and Comment Mentioning"
680
  msgstr ""
681
 
682
+ #: options/class.WpdiscuzOptions.php:287
683
  msgid ""
684
  "Using wpDiscuz User &amp; Comment Mentioning addon you can allow commenters "
685
  "mention comments and users in comment text using #comment-id and @username "
686
  "tags."
687
  msgstr ""
688
 
689
+ #: options/class.WpdiscuzOptions.php:290
690
  msgid "Advanced Likers"
691
  msgstr ""
692
 
693
+ #: options/class.WpdiscuzOptions.php:291
694
  msgid ""
695
  "wpDiscuz Advanced Likers addon displays likers and voters of each comment. "
696
  "Adds user reputation and badges based on received likes."
697
  msgstr ""
698
 
699
+ #: options/class.WpdiscuzOptions.php:294
700
  msgid "Report and Flagging"
701
  msgstr ""
702
 
703
+ #: options/class.WpdiscuzOptions.php:295
704
  msgid ""
705
  "Let your commenters help you to determine and remove spam comments. wpDiscuz "
706
  "Report and Flagging addon comes with comment reporting tools. Automaticaly "
707
  "auto-moderates comments based on number of flags and dislikes."
708
  msgstr ""
709
 
710
+ #: options/class.WpdiscuzOptions.php:298
711
  msgid "Comment Translate"
712
  msgstr ""
713
 
714
+ #: options/class.WpdiscuzOptions.php:299
715
  msgid ""
716
  "In most cases the big part of your visitors are not a native speakers of "
717
  "your language. Make your comments comprehensible for all visitors using "
720
  "translation API."
721
  msgstr ""
722
 
723
+ #: options/class.WpdiscuzOptions.php:302
724
  msgid "Comment Search"
725
  msgstr ""
726
 
727
+ #: options/class.WpdiscuzOptions.php:303
728
  msgid ""
729
  "You can let website visitor search in comments. It's always more attractive "
730
  "to find a comment about something that interest you. Using wpDiscuz Comment "
732
  "above comment list."
733
  msgstr ""
734
 
735
+ #: options/class.WpdiscuzOptions.php:306
736
  msgid "wpDiscuz Widgets"
737
  msgstr ""
738
 
739
+ #: options/class.WpdiscuzOptions.php:307
740
  msgid ""
741
  "More Comment Widgets! Most voted comments, Active comment threads, Most "
742
  "commented posts, Active comment authors widgets are available in wpDiscuz "
743
  "Widgets Addon"
744
  msgstr ""
745
 
746
+ #: options/class.WpdiscuzOptions.php:310
747
  msgid "Front-end Moderation"
748
  msgstr ""
749
 
750
+ #: options/class.WpdiscuzOptions.php:311
751
  msgid ""
752
  "You can moderate comments on front-end using all in one powerful yet simple "
753
  "wpDiscuz Frontend Moderation addon."
754
  msgstr ""
755
 
756
+ #: options/class.WpdiscuzOptions.php:314
757
  msgid "Media Uploader"
758
  msgstr ""
759
 
760
+ #: options/class.WpdiscuzOptions.php:315
761
  msgid ""
762
  "You can let website visitors attach images and files to comments and embed "
763
  "video/audio content using wpDiscuz Media Uploader addon."
764
  msgstr ""
765
 
766
+ #: options/class.WpdiscuzOptions.php:318
767
  msgid "Google ReCaptcha"
768
  msgstr ""
769
 
770
+ #: options/class.WpdiscuzOptions.php:319
771
  msgid ""
772
  "Advanced spam protection with wpDiscuz Google reCAPTCHA addon. This addon "
773
  "adds No-CAPTCHA reCAPTCHA on all comment forms. Stops spam and bot comments."
774
  msgstr ""
775
 
776
+ #: options/class.WpdiscuzOptions.php:333
777
  msgid "New Addons are available for wpDiscuz Comments Plugin"
778
  msgstr ""
779
 
780
+ #: options/class.WpdiscuzOptions.php:340 options/class.WpdiscuzOptions.php:346
781
  msgid "Go to wpDiscuz Addons subMenu"
782
  msgstr ""
783
 
784
+ #: options/class.WpdiscuzOptions.php:377
785
  msgid "Do you know?"
786
  msgstr ""
787
 
788
+ #: options/class.WpdiscuzOptions.php:389
789
  msgid "More info"
790
  msgstr ""
791
 
792
+ #: options/class.WpdiscuzOptionsSerialized.php:601
793
  msgid "Be the First to Comment!"
794
  msgstr ""
795
 
796
+ #: options/class.WpdiscuzOptionsSerialized.php:602 options/html-phrases.php:23
797
+ #: options/phrases-layouts/phrases-general.php:15
798
  msgid "Comment"
799
  msgstr ""
800
 
801
+ #: options/class.WpdiscuzOptionsSerialized.php:603
802
  msgid "Comments"
803
  msgstr ""
804
 
805
+ #: options/class.WpdiscuzOptionsSerialized.php:604
806
  msgid "on"
807
  msgstr ""
808
 
809
+ #: options/class.WpdiscuzOptionsSerialized.php:605
810
  msgid "Start the discussion"
811
  msgstr ""
812
 
813
+ #: options/class.WpdiscuzOptionsSerialized.php:606
814
  msgid "Join the discussion"
815
  msgstr ""
816
 
817
+ #: options/class.WpdiscuzOptionsSerialized.php:608
818
+ #: options/phrases-layouts/phrases-form.php:23
819
+ #: options/phrases-layouts/phrases-form.php:24
820
  msgid "Notify of"
821
  msgstr ""
822
 
823
+ #: options/class.WpdiscuzOptionsSerialized.php:609
824
+ #: options/phrases-layouts/phrases-form.php:28
825
  msgid "new follow-up comments"
826
  msgstr ""
827
 
828
+ #: options/class.WpdiscuzOptionsSerialized.php:610
829
  msgid "new replies to my comments"
830
  msgstr ""
831
 
832
+ #: options/class.WpdiscuzOptionsSerialized.php:611
833
+ #: options/phrases-layouts/phrases-form.php:36
834
  msgid "Notify of new replies to this comment"
835
  msgstr ""
836
 
837
+ #: options/class.WpdiscuzOptionsSerialized.php:612
838
+ #: options/phrases-layouts/phrases-form.php:39
839
+ #: options/phrases-layouts/phrases-form.php:40
840
  msgid "Sort by"
841
  msgstr ""
842
 
843
+ #: options/class.WpdiscuzOptionsSerialized.php:613
844
+ #: options/phrases-layouts/phrases-form.php:43
845
+ #: options/phrases-layouts/phrases-form.php:44
846
  msgid "newest"
847
  msgstr ""
848
 
849
+ #: options/class.WpdiscuzOptionsSerialized.php:614
850
+ #: options/phrases-layouts/phrases-form.php:47
851
+ #: options/phrases-layouts/phrases-form.php:48
852
  msgid "oldest"
853
  msgstr ""
854
 
855
+ #: options/class.WpdiscuzOptionsSerialized.php:615
856
+ #: options/phrases-layouts/phrases-form.php:51
857
+ #: options/phrases-layouts/phrases-form.php:52
858
  msgid "most voted"
859
  msgstr ""
860
 
861
+ #: options/class.WpdiscuzOptionsSerialized.php:616
862
  msgid "Load More Comments"
863
  msgstr ""
864
 
865
+ #: options/class.WpdiscuzOptionsSerialized.php:617
866
+ #: options/phrases-layouts/phrases-general.php:31
867
  msgid "Load Rest of Comments"
868
  msgstr ""
869
 
870
+ #: options/class.WpdiscuzOptionsSerialized.php:618
871
+ #: options/phrases-layouts/phrases-comment.php:11
872
  msgid "Reply"
873
  msgstr ""
874
 
875
+ #: options/class.WpdiscuzOptionsSerialized.php:619
876
+ #: options/phrases-layouts/phrases-comment.php:15
877
  msgid "Share"
878
  msgstr ""
879
 
880
+ #: options/class.WpdiscuzOptionsSerialized.php:621
881
+ #: options/phrases-layouts/phrases-comment.php:23
882
  msgid "Share On Facebook"
883
  msgstr ""
884
 
885
+ #: options/class.WpdiscuzOptionsSerialized.php:622
886
+ #: options/phrases-layouts/phrases-comment.php:27
887
  msgid "Share On Twitter"
888
  msgstr ""
889
 
890
+ #: options/class.WpdiscuzOptionsSerialized.php:623
891
+ #: options/phrases-layouts/phrases-comment.php:31
892
  msgid "Share On Google"
893
  msgstr ""
894
 
895
+ #: options/class.WpdiscuzOptionsSerialized.php:624
896
+ #: options/phrases-layouts/phrases-comment.php:35
897
  msgid "Share On VKontakte"
898
  msgstr ""
899
 
900
+ #: options/class.WpdiscuzOptionsSerialized.php:625
901
+ #: options/phrases-layouts/phrases-comment.php:39
902
  msgid "Share On Odnoklassniki"
903
  msgstr ""
904
 
905
+ #: options/class.WpdiscuzOptionsSerialized.php:626
906
+ #: options/phrases-layouts/phrases-comment.php:43
907
  msgid "Hide Replies"
908
  msgstr ""
909
 
910
+ #: options/class.WpdiscuzOptionsSerialized.php:627
911
+ #: options/phrases-layouts/phrases-comment.php:47
912
  msgid "Show Replies"
913
  msgstr ""
914
 
915
+ #: options/class.WpdiscuzOptionsSerialized.php:628
916
+ #: options/phrases-layouts/phrases-general.php:36
917
  msgid "New Comment"
918
  msgstr ""
919
 
920
+ #: options/class.WpdiscuzOptionsSerialized.php:629
921
  msgid "New comment on the discussion section you've been interested in"
922
  msgstr ""
923
 
924
+ #: options/class.WpdiscuzOptionsSerialized.php:630
925
+ #: options/phrases-layouts/phrases-email.php:20
926
+ #: options/phrases-layouts/phrases-general.php:44
927
  #: utils/class.WpdiscuzEmailHelper.php:158
928
  msgid "New Reply"
929
  msgstr ""
930
 
931
+ #: options/class.WpdiscuzOptionsSerialized.php:631
932
  #: utils/class.WpdiscuzEmailHelper.php:159
933
  msgid "New reply on the discussion section you've been interested in"
934
  msgstr ""
935
 
936
+ #: options/class.WpdiscuzOptionsSerialized.php:632
937
  msgid "You're subscribed for new replies on this comment"
938
  msgstr ""
939
 
940
+ #: options/class.WpdiscuzOptionsSerialized.php:633
941
  msgid "You're subscribed for new replies on all your comments"
942
  msgstr ""
943
 
944
+ #: options/class.WpdiscuzOptionsSerialized.php:634
945
  msgid "You're subscribed for new follow-up comments on this post"
946
  msgstr ""
947
 
948
+ #: options/class.WpdiscuzOptionsSerialized.php:635
949
+ #: options/phrases-layouts/phrases-email.php:27
 
950
  msgid "Unsubscribe"
951
  msgstr ""
952
 
953
+ #: options/class.WpdiscuzOptionsSerialized.php:636
954
+ #: options/phrases-layouts/phrases-email.php:32
955
  msgid "Cancel subscription"
956
  msgstr ""
957
 
958
+ #: options/class.WpdiscuzOptionsSerialized.php:637
959
+ #: options/phrases-layouts/phrases-notification.php:19
960
  msgid "You've successfully unsubscribed."
961
  msgstr ""
962
 
963
+ #: options/class.WpdiscuzOptionsSerialized.php:638
964
+ #: options/phrases-layouts/phrases-notification.php:15
965
  msgid "You've successfully subscribed."
966
  msgstr ""
967
 
968
+ #: options/class.WpdiscuzOptionsSerialized.php:639
969
+ #: options/phrases-layouts/phrases-email.php:35
970
+ #: options/phrases-layouts/phrases-email.php:36
971
  msgid "Confirm your subscription"
972
  msgstr ""
973
 
974
+ #: options/class.WpdiscuzOptionsSerialized.php:640
975
+ #: options/phrases-layouts/phrases-email.php:39
976
+ #: options/phrases-layouts/phrases-email.php:40
977
  msgid "You've successfully confirmed your subscription."
978
  msgstr ""
979
 
980
+ #: options/class.WpdiscuzOptionsSerialized.php:641
981
+ #: options/phrases-layouts/phrases-email.php:44
982
  #: utils/class.WpdiscuzEmailHelper.php:51
983
  msgid "Subscribe Confirmation"
984
  msgstr ""
985
 
986
+ #: options/class.WpdiscuzOptionsSerialized.php:642
987
+ #: options/phrases-layouts/phrases-email.php:48
988
  #: utils/class.WpdiscuzEmailHelper.php:52
989
  msgid ""
990
  "Hi, <br/> You just subscribed for new comments on our website. This means "
994
  "you again."
995
  msgstr ""
996
 
997
+ #: options/class.WpdiscuzOptionsSerialized.php:643
998
  msgid "please fill out this field to comment"
999
  msgstr ""
1000
 
1001
+ #: options/class.WpdiscuzOptionsSerialized.php:644
1002
  msgid "email address is invalid"
1003
  msgstr ""
1004
 
1005
+ #: options/class.WpdiscuzOptionsSerialized.php:645
1006
  msgid "url is invalid"
1007
  msgstr ""
1008
 
1009
+ #: options/class.WpdiscuzOptionsSerialized.php:646
1010
  msgid "year"
1011
  msgstr ""
1012
 
1013
+ #: options/class.WpdiscuzOptionsSerialized.php:647
1014
  msgid "years"
1015
  msgstr ""
1016
 
1017
+ #: options/class.WpdiscuzOptionsSerialized.php:648
1018
  msgid "month"
1019
  msgstr ""
1020
 
1021
+ #: options/class.WpdiscuzOptionsSerialized.php:649
1022
  msgid "months"
1023
  msgstr ""
1024
 
1025
+ #: options/class.WpdiscuzOptionsSerialized.php:650
1026
  msgid "day"
1027
  msgstr ""
1028
 
1029
+ #: options/class.WpdiscuzOptionsSerialized.php:651
1030
  msgid "days"
1031
  msgstr ""
1032
 
1033
+ #: options/class.WpdiscuzOptionsSerialized.php:652
1034
  msgid "hour"
1035
  msgstr ""
1036
 
1037
+ #: options/class.WpdiscuzOptionsSerialized.php:653
1038
  msgid "hours"
1039
  msgstr ""
1040
 
1041
+ #: options/class.WpdiscuzOptionsSerialized.php:654
1042
  msgid "minute"
1043
  msgstr ""
1044
 
1045
+ #: options/class.WpdiscuzOptionsSerialized.php:655
1046
  msgid "minutes"
1047
  msgstr ""
1048
 
1049
+ #: options/class.WpdiscuzOptionsSerialized.php:656
1050
  msgid "second"
1051
  msgstr ""
1052
 
1053
+ #: options/class.WpdiscuzOptionsSerialized.php:657
1054
  msgid "seconds"
1055
  msgstr ""
1056
 
1057
+ #: options/class.WpdiscuzOptionsSerialized.php:658
1058
  msgid "right now"
1059
  msgstr ""
1060
 
1061
+ #: options/class.WpdiscuzOptionsSerialized.php:659
1062
  msgid "ago"
1063
  msgstr ""
1064
 
1065
+ #: options/class.WpdiscuzOptionsSerialized.php:660
1066
+ #: options/phrases-layouts/phrases-notification.php:41
 
 
 
 
 
1067
  msgid "You must be"
1068
  msgstr ""
1069
 
1070
+ #: options/class.WpdiscuzOptionsSerialized.php:661
1071
  msgid "You are logged in as"
1072
  msgstr ""
1073
 
1074
+ #: options/class.WpdiscuzOptionsSerialized.php:662
1075
+ #: options/phrases-layouts/phrases-notification.php:49
1076
  msgid "Log out"
1077
  msgstr ""
1078
 
1079
+ #: options/class.WpdiscuzOptionsSerialized.php:663
1080
  msgid "logged in"
1081
  msgstr ""
1082
 
1083
+ #: options/class.WpdiscuzOptionsSerialized.php:664
1084
  msgid "to post a comment."
1085
  msgstr ""
1086
 
1087
+ #: options/class.WpdiscuzOptionsSerialized.php:665
1088
+ #: options/phrases-layouts/phrases-comment.php:75
1089
  msgid "Vote Up"
1090
  msgstr ""
1091
 
1092
+ #: options/class.WpdiscuzOptionsSerialized.php:666
1093
+ #: options/phrases-layouts/phrases-comment.php:79
1094
  msgid "Vote Down"
1095
  msgstr ""
1096
 
1097
+ #: options/class.WpdiscuzOptionsSerialized.php:667
1098
+ #: options/phrases-layouts/phrases-notification.php:61
1099
  msgid "Vote Counted"
1100
  msgstr ""
1101
 
1102
+ #: options/class.WpdiscuzOptionsSerialized.php:668
1103
  msgid "You've already voted for this comment"
1104
  msgstr ""
1105
 
1106
+ #: options/class.WpdiscuzOptionsSerialized.php:669
1107
+ #: options/phrases-layouts/phrases-notification.php:69
1108
  msgid "Voting Error"
1109
  msgstr ""
1110
 
1111
+ #: options/class.WpdiscuzOptionsSerialized.php:670
1112
  msgid "You Must Be Logged In To Vote"
1113
  msgstr ""
1114
 
1115
+ #: options/class.WpdiscuzOptionsSerialized.php:671
1116
  msgid "You cannot vote for your comment"
1117
  msgstr ""
1118
 
1119
+ #: options/class.WpdiscuzOptionsSerialized.php:672
1120
  msgid "You are not allowed to vote for this comment"
1121
  msgstr ""
1122
 
1123
+ #: options/class.WpdiscuzOptionsSerialized.php:673
1124
+ #: options/phrases-layouts/phrases-notification.php:85
1125
  msgid "Invalid Captcha Code"
1126
  msgstr ""
1127
 
1128
+ #: options/class.WpdiscuzOptionsSerialized.php:674
1129
+ #: options/phrases-layouts/phrases-notification.php:89
1130
  msgid "Some of field value is invalid"
1131
  msgstr ""
1132
 
1133
+ #: options/class.WpdiscuzOptionsSerialized.php:675
1134
  msgid "new comment"
1135
  msgstr ""
1136
 
1137
+ #: options/class.WpdiscuzOptionsSerialized.php:676
1138
  msgid "new comments"
1139
  msgstr ""
1140
 
1141
+ #: options/class.WpdiscuzOptionsSerialized.php:677
1142
  msgid "Comment awaiting moderation"
1143
  msgstr ""
1144
 
1145
+ #: options/class.WpdiscuzOptionsSerialized.php:678
1146
  msgid "new reply on your comment"
1147
  msgstr ""
1148
 
1149
+ #: options/class.WpdiscuzOptionsSerialized.php:679
1150
  msgid "new replies on your comments"
1151
  msgstr ""
1152
 
1153
+ #: options/class.WpdiscuzOptionsSerialized.php:680
1154
+ #: options/phrases-layouts/phrases-general.php:52
1155
  msgid "New"
1156
  msgstr ""
1157
 
1158
+ #: options/class.WpdiscuzOptionsSerialized.php:681
1159
+ #: options/phrases-layouts/phrases-notification.php:107
1160
  msgid "Sorry, the comment was not updated"
1161
  msgstr ""
1162
 
1163
+ #: options/class.WpdiscuzOptionsSerialized.php:682
1164
+ #: options/phrases-layouts/phrases-notification.php:111
1165
  msgid "Sorry, this comment no longer possible to edit"
1166
  msgstr ""
1167
 
1168
+ #: options/class.WpdiscuzOptionsSerialized.php:683
1169
  msgid "You've not made any changes"
1170
  msgstr ""
1171
 
1172
+ #: options/class.WpdiscuzOptionsSerialized.php:684
1173
+ #: options/phrases-layouts/phrases-comment.php:84
1174
  msgid "Save"
1175
  msgstr ""
1176
 
1177
+ #: options/class.WpdiscuzOptionsSerialized.php:685
1178
+ #: options/phrases-layouts/phrases-comment.php:88
1179
  msgid "Cancel"
1180
  msgstr ""
1181
 
1182
+ #: options/class.WpdiscuzOptionsSerialized.php:686
1183
  msgid "Input is too short"
1184
  msgstr ""
1185
 
1186
+ #: options/class.WpdiscuzOptionsSerialized.php:687
1187
  msgid "Input is too long"
1188
  msgstr ""
1189
 
1190
+ #: options/class.WpdiscuzOptionsSerialized.php:688
1191
+ #: options/phrases-layouts/phrases-comment.php:92
1192
  msgid "Read more &raquo;"
1193
  msgstr ""
1194
 
1195
+ #: options/class.WpdiscuzOptionsSerialized.php:689
1196
+ #: options/phrases-layouts/phrases-comment.php:96
1197
  msgid "Anonymous"
1198
  msgstr ""
1199
 
1200
+ #: options/class.WpdiscuzOptionsSerialized.php:690
1201
+ #: options/phrases-layouts/phrases-notification.php:118
1202
+ #: options/phrases-layouts/phrases-notification.php:119
1203
  msgid "Please fill out required fields"
1204
  msgstr ""
1205
 
1206
+ #: options/class.WpdiscuzOptionsSerialized.php:691
1207
+ #: options/phrases-layouts/phrases-form.php:67
1208
+ #: options/phrases-layouts/phrases-form.php:68
1209
  msgid "Connect with"
1210
  msgstr ""
1211
 
1212
+ #: options/class.WpdiscuzOptionsSerialized.php:692
1213
  msgid "You're subscribed to"
1214
  msgstr ""
1215
 
1216
+ #: options/class.WpdiscuzOptionsSerialized.php:693
1217
  msgid "Participate in this discussion via email"
1218
  msgstr ""
1219
 
1220
+ #: options/class.WpdiscuzOptionsSerialized.php:694
1221
+ #: options/phrases-layouts/phrases-form.php:72
1222
+ msgid "&rsaquo;"
1223
+ msgstr ""
1224
+
1225
+ #: options/class.WpdiscuzOptionsSerialized.php:695
1226
+ #: options/phrases-layouts/phrases-email.php:52
1227
+ msgid "Comment was approved"
1228
+ msgstr ""
1229
+
1230
+ #: options/class.WpdiscuzOptionsSerialized.php:696
1231
+ msgid "Hi, <br/> Your comment was approved."
1232
+ msgstr ""
1233
+
1234
  #: options/html-addons.php:11
1235
  msgid "wpDiscuz Addons"
1236
  msgstr ""
1287
  msgid "wpDiscuz General Settings"
1288
  msgstr ""
1289
 
1290
+ #: options/html-options.php:19
1291
  msgid "Like wpDiscuz?"
1292
  msgstr ""
1293
 
1294
+ #: options/html-options.php:20
1295
  msgid "Documentation"
1296
  msgstr ""
1297
 
1298
+ #: options/html-options.php:21
1299
  msgid "Support"
1300
  msgstr ""
1301
 
1302
+ #: options/html-options.php:55 options/options-layouts/settings-general.php:7
1303
  msgid "General Settings"
1304
  msgstr ""
1305
 
1306
+ #: options/html-options.php:56
1307
  #: options/options-layouts/settings-live-update.php:7
1308
  msgid "Live Update"
1309
  msgstr ""
1310
 
1311
+ #: options/html-options.php:57
1312
  msgid "Show/Hide"
1313
  msgstr ""
1314
 
1315
+ #: options/html-options.php:58
1316
  msgid "Subscription"
1317
  msgstr ""
1318
 
1319
+ #: options/html-options.php:58
1320
  msgid "and Postmatic"
1321
  msgstr ""
1322
 
1323
+ #: options/html-options.php:59
1324
  msgid "Styling"
1325
  msgstr ""
1326
 
1327
+ #: options/html-options.php:60 options/options-layouts/settings-social.php:124
1328
  msgid "Social Login"
1329
  msgstr ""
1330
 
1331
+ #: options/html-options.php:61
1332
  #: options/options-layouts/settings-integrations.php:7
1333
  msgid "Integrations"
1334
  msgstr ""
1335
 
 
 
 
 
1336
  #: options/html-options.php:150
1337
+ msgid "Reset Options"
1338
  msgstr ""
1339
 
1340
  #: options/html-options.php:152
1341
  msgid "Remove vote data"
1342
  msgstr ""
1343
 
1344
+ #: options/html-options.php:153 options/html-phrases.php:72
1345
  #: options/html-tools.php:58
1346
  msgid "Save Changes"
1347
  msgstr ""
1350
  msgid "wpDiscuz Front-end Phrases"
1351
  msgstr ""
1352
 
1353
+ #: options/html-phrases.php:21
1354
  msgid "General"
1355
  msgstr ""
1356
 
1357
+ #: options/html-phrases.php:24
1358
  msgid "Date/Time"
1359
  msgstr ""
1360
 
1361
+ #: options/html-phrases.php:26
1362
  msgid "Notification"
1363
  msgstr ""
1364
 
1419
  "label correctly."
1420
  msgstr ""
1421
 
1422
+ #: options/options-layouts/settings-general.php:28
1423
+ msgid "Notify comment author if comment was approved"
1424
  msgstr ""
1425
 
1426
  #: options/options-layouts/settings-general.php:33
1427
+ msgid "Comment author name min length (for guests only)"
1428
+ msgstr ""
1429
+
1430
+ #: options/options-layouts/settings-general.php:37
1431
+ #: options/options-layouts/settings-general.php:60
1432
  msgid "Min"
1433
  msgstr ""
1434
 
1435
+ #: options/options-layouts/settings-general.php:40
1436
+ #: options/options-layouts/settings-general.php:63
1437
  msgid "Max"
1438
  msgstr ""
1439
 
1440
+ #: options/options-layouts/settings-general.php:46
1441
  msgid "Keep guest commenter credentials in browser cookies for x days"
1442
  msgstr ""
1443
 
1444
+ #: options/options-layouts/settings-general.php:48
1445
  msgid "Set this option value -1 to make it unlimited."
1446
  msgstr ""
1447
 
1448
+ #: options/options-layouts/settings-general.php:49
1449
  msgid "Set this option value 0 to clear those data when user closes browser."
1450
  msgstr ""
1451
 
1452
+ #: options/options-layouts/settings-general.php:56
1453
  msgid "Comment text length"
1454
  msgstr ""
1455
 
1456
+ #: options/options-layouts/settings-general.php:69
1457
  msgid ""
1458
  "The number of words before breaking comment text and showing \"Read more\" "
1459
  "link"
1460
  msgstr ""
1461
 
1462
+ #: options/options-layouts/settings-general.php:71
1463
  msgid "Set this option value 0, to turn off comment text breaking function."
1464
  msgstr ""
1465
 
1466
+ #: options/options-layouts/settings-general.php:77
1467
  msgid "Comment text size in pixels"
1468
  msgstr ""
1469
 
1470
+ #: options/options-layouts/settings-general.php:90
1471
  msgid "Allow comment editing for"
1472
  msgstr ""
1473
 
1474
+ #: options/options-layouts/settings-general.php:94
1475
  msgid "Do not allow"
1476
  msgstr ""
1477
 
1478
+ #: options/options-layouts/settings-general.php:95
1479
+ #: options/options-layouts/settings-general.php:96
1480
  #: options/options-layouts/settings-live-update.php:52
1481
  #: options/options-layouts/settings-live-update.php:53
1482
  #: options/options-layouts/settings-live-update.php:54
1483
  msgid "Minutes"
1484
  msgstr ""
1485
 
1486
+ #: options/options-layouts/settings-general.php:97
1487
+ #: options/phrases-layouts/phrases-datetime.php:35
1488
  msgid "Hour"
1489
  msgstr ""
1490
 
1491
+ #: options/options-layouts/settings-general.php:98
1492
+ #: options/options-layouts/settings-general.php:99
1493
  msgid "Hours"
1494
  msgstr ""
1495
 
1496
+ #: options/options-layouts/settings-general.php:100
1497
  msgid "Unlimit"
1498
  msgstr ""
1499
 
1500
+ #: options/options-layouts/settings-general.php:106
1501
  msgid "Redirect first commenter to"
1502
  msgstr ""
1503
 
1504
+ #: options/options-layouts/settings-general.php:113
1505
  msgid "Do not redirect"
1506
  msgstr ""
1507
 
1508
+ #: options/options-layouts/settings-general.php:120
1509
  msgid "Allow guests to vote on comments"
1510
  msgstr ""
1511
 
1512
+ #: options/options-layouts/settings-general.php:125
1513
  msgid "Comments loading/pagination type"
1514
  msgstr ""
1515
 
1516
+ #: options/options-layouts/settings-general.php:127
1517
  msgid ""
1518
  "You can manage the number of comments for [Load more] option in Settings > "
1519
  "Discussion page, using \"Break comments into pages with [X] top level "
1521
  "you should enable the checkbox on bigining of the same option."
1522
  msgstr ""
1523
 
 
 
 
 
 
1524
  #: options/options-layouts/settings-general.php:133
1525
  #: options/options-layouts/settings-general.php:135
1526
+ msgid "[Load more] Button"
1527
  msgstr ""
1528
 
1529
  #: options/options-layouts/settings-general.php:137
1530
  #: options/options-layouts/settings-general.php:139
1531
+ msgid "[Load rest of all comments] Button"
1532
+ msgstr ""
1533
+
1534
+ #: options/options-layouts/settings-general.php:141
1535
+ #: options/options-layouts/settings-general.php:143
1536
  msgid "Lazy load comments on scrolling"
1537
  msgstr ""
1538
 
1539
+ #: options/options-layouts/settings-general.php:150
1540
  msgid "Use WordPress Date/Time format"
1541
  msgstr ""
1542
 
1543
+ #: options/options-layouts/settings-general.php:151
1544
  msgid ""
1545
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
1546
  "show the date/time format set in WordPress General Settings."
1547
  msgstr ""
1548
 
1549
+ #: options/options-layouts/settings-general.php:157
1550
  msgid "Current Wordpress date/time format"
1551
  msgstr ""
1552
 
1553
+ #: options/options-layouts/settings-general.php:163
1554
  msgid "Use Plugin .PO/.MO files"
1555
  msgstr ""
1556
 
1557
+ #: options/options-layouts/settings-general.php:164
1558
  msgid ""
1559
  "wpDiscuz phrase system allows you to translate all front-end phrases. "
1560
  "However if you have a multi-language website it'll not allow you to add more "
1564
  "translate all phrases based on language files according to current language."
1565
  msgstr ""
1566
 
1567
+ #: options/options-layouts/settings-general.php:171
1568
  msgid ""
1569
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
1570
  "use"
1571
  msgstr ""
1572
 
1573
+ #: options/options-layouts/settings-general.php:173
1574
  msgid ""
1575
  "Please check this option on to help wpDiscuz get more popularity as your "
1576
  "thank to the hard work we do for you totally free. This option adds a very "
1578
  "visitors recognize the name of comment solution you use."
1579
  msgstr ""
1580
 
1581
+ #: options/options-layouts/settings-general.php:178
1582
  msgid "Thank you!"
1583
  msgstr ""
1584
 
1696
  msgstr ""
1697
 
1698
  #: options/options-layouts/settings-live-update.php:51
1699
+ #: options/phrases-layouts/phrases-datetime.php:43
1700
  msgid "Minute"
1701
  msgstr ""
1702
 
2005
  msgid "Comment Template Phrases"
2006
  msgstr ""
2007
 
2008
+ #: options/phrases-layouts/phrases-comment.php:83
2009
  msgid "Save edited comment button text"
2010
  msgstr ""
2011
 
2012
+ #: options/phrases-layouts/phrases-comment.php:87
2013
  msgid "Cancel comment editing button text"
2014
  msgstr ""
2015
 
2016
+ #: options/phrases-layouts/phrases-comment.php:91
2017
  msgid "Comment read more link text"
2018
  msgstr ""
2019
 
2020
+ #: options/phrases-layouts/phrases-comment.php:95
2021
  msgid "Anonymous commenter name"
2022
  msgstr ""
2023
 
2025
  msgid "Date/Time Phrases"
2026
  msgstr ""
2027
 
2028
+ #: options/phrases-layouts/phrases-datetime.php:11
2029
  msgid "Year"
2030
  msgstr ""
2031
 
2032
+ #: options/phrases-layouts/phrases-datetime.php:15
2033
  msgid "Years (Plural Form)"
2034
  msgstr ""
2035
 
2036
+ #: options/phrases-layouts/phrases-datetime.php:16
2037
  msgid "Years"
2038
  msgstr ""
2039
 
2040
+ #: options/phrases-layouts/phrases-datetime.php:19
2041
  msgid "Month"
2042
  msgstr ""
2043
 
2044
+ #: options/phrases-layouts/phrases-datetime.php:23
2045
  msgid "Months (Plural Form)"
2046
  msgstr ""
2047
 
2048
+ #: options/phrases-layouts/phrases-datetime.php:27
2049
  msgid "Day"
2050
  msgstr ""
2051
 
2052
+ #: options/phrases-layouts/phrases-datetime.php:31
2053
  msgid "Days (Plural Form)"
2054
  msgstr ""
2055
 
2056
+ #: options/phrases-layouts/phrases-datetime.php:39
2057
  msgid "Hours (Plural Form)"
2058
  msgstr ""
2059
 
2060
+ #: options/phrases-layouts/phrases-datetime.php:47
2061
  msgid "Minutes (Plural Form)"
2062
  msgstr ""
2063
 
2064
+ #: options/phrases-layouts/phrases-datetime.php:51
2065
  msgid "Second"
2066
  msgstr ""
2067
 
2068
+ #: options/phrases-layouts/phrases-datetime.php:55
2069
  msgid "Seconds (Plural Form)"
2070
  msgstr ""
2071
 
2072
+ #: options/phrases-layouts/phrases-datetime.php:59
2073
  msgid "Commented \"right now\" text"
2074
  msgstr ""
2075
 
2076
+ #: options/phrases-layouts/phrases-datetime.php:63
2077
  msgid "Ago text"
2078
  msgstr ""
2079
 
 
 
 
 
2080
  #: options/phrases-layouts/phrases-email.php:7
2081
  msgid "Email Template Phrases"
2082
  msgstr ""
2083
 
2084
+ #: options/phrases-layouts/phrases-email.php:11
2085
+ msgid "New comment email subject"
2086
  msgstr ""
2087
 
2088
+ #: options/phrases-layouts/phrases-email.php:15
2089
+ msgid "New comment email message"
2090
  msgstr ""
2091
 
2092
+ #: options/phrases-layouts/phrases-email.php:19
2093
+ msgid "New reply subject"
2094
+ msgstr ""
2095
+
2096
+ #: options/phrases-layouts/phrases-email.php:23
2097
+ msgid "New reply message"
2098
  msgstr ""
2099
 
2100
+ #: options/phrases-layouts/phrases-email.php:31
2101
+ msgid "Ignore subscription"
2102
  msgstr ""
2103
 
2104
+ #: options/phrases-layouts/phrases-email.php:43
2105
+ msgid "Subscribe confirmation email subject"
 
2106
  msgstr ""
2107
 
2108
+ #: options/phrases-layouts/phrases-email.php:47
2109
+ msgid "Subscribe confirmation email content"
2110
  msgstr ""
2111
 
2112
+ #: options/phrases-layouts/phrases-email.php:51
2113
+ msgid "Comment approved subject"
2114
+ msgstr ""
2115
+
2116
+ #: options/phrases-layouts/phrases-email.php:55
2117
+ msgid "Comment approved message"
2118
+ msgstr ""
2119
+
2120
+ #: options/phrases-layouts/phrases-email.php:56
2121
+ msgid "Hi, <br/> Your comment was approved"
2122
  msgstr ""
2123
 
2124
  #: options/phrases-layouts/phrases-form.php:7
2125
  msgid "Form Template Phrases"
2126
  msgstr ""
2127
 
2128
+ #: options/phrases-layouts/phrases-form.php:11
2129
  msgid "Comment Field Start"
2130
  msgstr ""
2131
 
2132
+ #: options/phrases-layouts/phrases-form.php:15
2133
  msgid "Comment Field Join"
2134
  msgstr ""
2135
 
2136
+ #: options/phrases-layouts/phrases-form.php:19
2137
  msgid "Email Field"
2138
  msgstr ""
2139
 
2140
+ #: options/phrases-layouts/phrases-form.php:27
2141
  msgid "Notify on new comments"
2142
  msgstr ""
2143
 
2144
+ #: options/phrases-layouts/phrases-form.php:31
2145
  msgid "Notify on all new replies"
2146
  msgstr ""
2147
 
2148
+ #: options/phrases-layouts/phrases-form.php:32
2149
  msgid "new replies to all my comments"
2150
  msgstr ""
2151
 
2152
+ #: options/phrases-layouts/phrases-form.php:35
2153
  msgid "Notify on new replies (checkbox)"
2154
  msgstr ""
2155
 
2156
+ #: options/phrases-layouts/phrases-form.php:55
2157
  msgid "Subscribed on this comment replies"
2158
  msgstr ""
2159
 
2160
+ #: options/phrases-layouts/phrases-form.php:59
2161
  msgid "Subscribed on all your comments replies"
2162
  msgstr ""
2163
 
2164
+ #: options/phrases-layouts/phrases-form.php:63
2165
  msgid "Subscribed on this post"
2166
  msgstr ""
2167
 
2168
+ #: options/phrases-layouts/phrases-form.php:71
2169
+ msgid "Form subscription button"
2170
+ msgstr ""
2171
+
2172
  #: options/phrases-layouts/phrases-general.php:7
2173
  msgid "General Phrases"
2174
  msgstr ""
2175
 
2176
+ #: options/phrases-layouts/phrases-general.php:11
2177
  msgid "Be the first to comment"
2178
  msgstr ""
2179
 
2180
+ #: options/phrases-layouts/phrases-general.php:19
2181
  msgid "Comment (Plural Form)"
2182
  msgstr ""
2183
 
2184
+ #: options/phrases-layouts/phrases-general.php:23
2185
  msgid "On"
2186
  msgstr ""
2187
 
2188
+ #: options/phrases-layouts/phrases-general.php:27
2189
  msgid "Load More Button"
2190
  msgstr ""
2191
 
2192
+ #: options/phrases-layouts/phrases-general.php:35
2193
  msgid "Button text if has new comment"
2194
  msgstr ""
2195
 
2196
+ #: options/phrases-layouts/phrases-general.php:39
2197
  msgid "Button text if has new comments (Plural Form)"
2198
  msgstr ""
2199
 
2200
+ #: options/phrases-layouts/phrases-general.php:40
2201
  msgid "New Comments"
2202
  msgstr ""
2203
 
2204
+ #: options/phrases-layouts/phrases-general.php:43
2205
  msgid "Button text if has new reply"
2206
  msgstr ""
2207
 
2208
+ #: options/phrases-layouts/phrases-general.php:47
2209
  msgid "Button text if has new replies (Plural Form)"
2210
  msgstr ""
2211
 
2212
+ #: options/phrases-layouts/phrases-general.php:48
2213
  msgid "New Replies"
2214
  msgstr ""
2215
 
2216
+ #: options/phrases-layouts/phrases-general.php:51
2217
  msgid "Text on load more button if has new comment(s)"
2218
  msgstr ""
2219
 
2221
  msgid "Notification Phrases"
2222
  msgstr ""
2223
 
2224
+ #: options/phrases-layouts/phrases-notification.php:11
2225
  msgid "You\\'re subscribed to"
2226
  msgstr ""
2227
 
2228
+ #: options/phrases-layouts/phrases-notification.php:24
2229
  msgid "Postmatic subscription label"
2230
  msgstr ""
2231
 
2232
+ #: options/phrases-layouts/phrases-notification.php:29
2233
  msgid "Error message for empty field"
2234
  msgstr ""
2235
 
2236
+ #: options/phrases-layouts/phrases-notification.php:33
2237
  msgid "Error message for invalid email field"
2238
  msgstr ""
2239
 
2240
+ #: options/phrases-layouts/phrases-notification.php:37
2241
  msgid "Error message for invalid website url field"
2242
  msgstr ""
2243
 
2244
+ #: options/phrases-layouts/phrases-notification.php:45
2245
  msgid "Logged in as"
2246
  msgstr ""
2247
 
2248
+ #: options/phrases-layouts/phrases-notification.php:53
2249
  msgid "Logged In"
2250
  msgstr ""
2251
 
2252
+ #: options/phrases-layouts/phrases-notification.php:57
2253
  msgid "To post a comment"
2254
  msgstr ""
2255
 
2256
+ #: options/phrases-layouts/phrases-notification.php:65
2257
  msgid "You can vote only 1 time"
2258
  msgstr ""
2259
 
2260
+ #: options/phrases-layouts/phrases-notification.php:73
2261
  msgid "Login To Vote"
2262
  msgstr ""
2263
 
2264
+ #: options/phrases-layouts/phrases-notification.php:77
2265
  msgid "You Cannot Vote On Your Comment"
2266
  msgstr ""
2267
 
2268
+ #: options/phrases-layouts/phrases-notification.php:81
2269
  msgid "You are not allowed to vote for this comment (Voting from same IP)"
2270
  msgstr ""
2271
 
2272
+ #: options/phrases-layouts/phrases-notification.php:93
2273
  msgid "Comment waiting moderation"
2274
  msgstr ""
2275
 
2276
+ #: options/phrases-layouts/phrases-notification.php:97
2277
  msgid "Message if input text length is too short"
2278
  msgstr ""
2279
 
2280
+ #: options/phrases-layouts/phrases-notification.php:101
2281
  msgid "Message if input text length is too long"
2282
  msgstr ""
2283
 
2284
+ #: options/phrases-layouts/phrases-notification.php:106
2285
  msgid "Message if comment was not updated"
2286
  msgstr ""
2287
 
2288
+ #: options/phrases-layouts/phrases-notification.php:110
2289
  msgid "Message if comment no longer possible to edit"
2290
  msgstr ""
2291
 
2292
+ #: options/phrases-layouts/phrases-notification.php:114
2293
  msgid "Message if comment text not changed"
2294
  msgstr ""
2295
 
2296
+ #: options/phrases-layouts/phrases-notification.php:115
2297
  msgid "TYou've not made any changes"
2298
  msgstr ""
2299
 
2315
  "wpDiscuz versions."
2316
  msgstr ""
2317
 
2318
+ #: templates/comment/comment-form.php:74
2319
  msgid "Unable to send an email"
2320
  msgstr ""
2321
 
2322
+ #: templates/comment/comment-form.php:76
2323
  msgid "Subscription not successed"
2324
  msgstr ""
2325
 
2326
+ #. Plugin Name of the plugin/theme
2327
+ #: templates/comment/comment-form.php:289
2328
  msgid "wpDiscuz"
2329
  msgstr ""
2330
 
2331
+ #: utils/class.WpdiscuzHelper.php:339 utils/class.WpdiscuzHelper.php:342
2332
  msgid "Spoiler"
2333
  msgstr ""
2334
 
 
 
 
 
2335
  #. Plugin URI of the plugin/theme
2336
  msgid "http://wpdiscuz.com/"
2337
  msgstr ""
2347
  msgstr ""
2348
 
2349
  #. Author URI of the plugin/theme
2350
+ msgid "https://gvectors.com/"
2351
  msgstr ""
manager/class.WpdiscuzDBManager.php CHANGED
@@ -1,12 +1,14 @@
1
  <?php
2
 
3
- class WpdiscuzDBManager {
4
 
5
  private $db;
6
  private $dbprefix;
7
  private $users_voted;
8
  private $phrases;
9
  private $emailNotification;
 
 
10
 
11
  function __construct() {
12
  $this->initDB();
@@ -19,6 +21,7 @@ class WpdiscuzDBManager {
19
  $this->users_voted = $this->dbprefix . 'wc_users_voted';
20
  $this->phrases = $this->dbprefix . 'wc_phrases';
21
  $this->emailNotification = $this->dbprefix . 'wc_comments_subscription';
 
22
  }
23
 
24
  /**
@@ -187,9 +190,9 @@ class WpdiscuzDBManager {
187
  if ($args['status'] != 'all') {
188
  $approved = " AND `comment_approved` = 1 ";
189
  }
190
- $sql = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d " . $approved . " ORDER BY `comment_ID` DESC LIMIT 1;", $args['post_id']);
191
  } else {
192
- $sql = "SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` ORDER BY `comment_ID` DESC LIMIT 1;";
193
  }
194
  return $this->db->get_var($sql);
195
  }
@@ -231,16 +234,30 @@ class WpdiscuzDBManager {
231
  public function getPostParentComments($args) {
232
  $commentParent = $args['is_threaded'] ? 'AND `comment_parent` = 0' : '';
233
  $status = $this->getCommentsStatus($args['status']);
 
 
 
 
234
  if ($args['limit'] == 0) {
235
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
236
  $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
237
  } else if ($args['last_parent_id']) {
238
  $operator = ($args['order'] == 'asc') ? '>' : '<';
239
- $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent AND `comment_ID` $operator %d ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['last_parent_id'], $args['limit']);
240
  } else {
241
- $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d", $args['post_id'], $args['limit']);
242
  }
243
- return $this->db->get_col($sqlComments);
 
 
 
 
 
 
 
 
 
 
244
  }
245
 
246
  /**
@@ -267,19 +284,24 @@ class WpdiscuzDBManager {
267
  $commentParent = $args['is_threaded'] ? 'AND `c`.`comment_parent` = 0' : '';
268
  $status = $this->getCommentsStatus($args['status'], '`c`.');
269
  if ($args['limit']) {
270
- $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $args['limit'], $args['offset']);
271
  } else {
272
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
273
- $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
 
 
 
 
 
274
  }
275
- return $this->db->get_col($sqlPostVotedCommentIds);
276
  }
277
 
278
  /**
279
  * @return type array of comment ids
280
  */
281
  public function getVotedCommentIds() {
282
- $sqlVotedCommentIds = "SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "' AND `c`.`comment_approved` = 1 AND `c`.`comment_parent` = 0;";
283
  return $this->db->get_col($sqlVotedCommentIds);
284
  }
285
 
@@ -314,7 +336,7 @@ class WpdiscuzDBManager {
314
  * return comment id if true false otherwise
315
  */
316
  public function isCommentInMeta($commentId) {
317
- $query = $this->db->prepare("SELECT `comment_id` FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` LIKE %s AND `comment_id` = %d;", WpdiscuzCore::META_KEY_CHILDREN, $commentId);
318
  return $this->db->query($query);
319
  }
320
 
@@ -349,24 +371,19 @@ class WpdiscuzDBManager {
349
  foreach ($trees as $tKey => $tVal) {
350
  $tree = implode(',', $tVal);
351
  $tree .= $tree ? ',' : '';
352
- $sql .= "(NULL, $tKey, '" . WpdiscuzCore::META_KEY_CHILDREN . "', '" . $tree . "'),";
353
  }
354
  $sql = trim($sql, ',');
355
  $this->db->query($sql);
356
  }
357
 
358
  public function checkVoteData($postId) {
359
- $sql_query = $this->db->prepare("INSERT INTO `" . $this->dbprefix . "commentmeta`(`meta_id`,`comment_id`, `meta_key`, `meta_value`)(SELECT NULL, `c`.`comment_ID`,%s,'0' FROM `" . $this->dbprefix . "comments` AS `c` LEFT JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `cm`.`comment_id` = `c`.`comment_ID` AND `cm`.`meta_key` = %s WHERE `cm`.`meta_key` IS NULL AND `c`.`comment_post_ID` = %d);", WpdiscuzCore::META_KEY_VOTES, WpdiscuzCore::META_KEY_VOTES, $postId);
360
- $this->db->query($sql_query);
361
- }
362
-
363
- public function clearChildrenDataFromMeta() {
364
- $sql_query = $this->db->prepare("DELETE FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` LIKE %s", WpdiscuzCore::META_KEY_CHILDREN);
365
  $this->db->query($sql_query);
366
  }
367
 
368
  public function addEmailNotification($subsriptionId, $postId, $email, $subscriptionType, $confirm = 0) {
369
- if ($subscriptionType != WpdiscuzCore::SUBSCRIPTION_COMMENT) {
370
  $this->deleteCommentNotifications($subsriptionId, $email);
371
  }
372
  $activationKey = md5($email . uniqid() . time());
@@ -376,17 +393,17 @@ class WpdiscuzDBManager {
376
  }
377
 
378
  public function getPostNewCommentNotification($post_id, $email) {
379
- $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `post_id` = %d AND `email` != %s;", WpdiscuzCore::SUBSCRIPTION_POST, $post_id, $email);
380
  return $this->db->get_results($sql, ARRAY_A);
381
  }
382
 
383
  public function getAllNewCommentNotification($post_id, $email) {
384
- $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `post_id` = %d AND `email` != %s;", WpdiscuzCore::SUBSCRIPTION_ALL_COMMENT, $post_id, $email);
385
  return $this->db->get_results($sql, ARRAY_A);
386
  }
387
 
388
  public function getNewReplyNotification($comment_id, $email) {
389
- $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `subscribtion_id` = %d AND `email` != %s;", WpdiscuzCore::SUBSCRIPTION_COMMENT, $comment_id, $email);
390
  return $this->db->get_results($sql, ARRAY_A);
391
  }
392
 
@@ -412,7 +429,7 @@ class WpdiscuzDBManager {
412
  * delete comment thread subscriptions if new subscription type is post
413
  */
414
  public function deleteCommentNotifications($post_id, $email) {
415
- $sql_delete_comment_notifications = $this->db->prepare("DELETE FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` != %s AND `post_id` = %d AND `email` LIKE %s;", WpdiscuzCore::SUBSCRIPTION_POST, $post_id, $email);
416
  $this->db->query($sql_delete_comment_notifications);
417
  }
418
 
@@ -433,7 +450,7 @@ class WpdiscuzDBManager {
433
  * generate confirm link
434
  */
435
  public function confirmLink($id, $activationKey, $postID) {
436
- global $wp_rewrite;
437
  $wc_confirm_link = !$wp_rewrite->using_permalinks() ? get_permalink($postID) . "&" : get_permalink($postID) . "?";
438
  $wc_confirm_link .= "subscribeAnchor&wpdiscuzConfirmID=$id&wpdiscuzConfirmKey=$activationKey&wpDiscuzComfirm=yes&#wc_unsubscribe_message";
439
  return $wc_confirm_link;
@@ -474,16 +491,16 @@ class WpdiscuzDBManager {
474
  * return users id who have published posts
475
  */
476
  public function getPostsAuthors() {
477
- if (($postsAuthors = get_transient(WpdiscuzCore::TRS_POSTS_AUTHORS)) === false) {
478
  $sql = "SELECT `post_author` FROM `" . $this->dbprefix . "posts` WHERE `post_type` = 'post' AND `post_status` IN ('publish', 'private') GROUP BY `post_author`;";
479
  $postsAuthors = $this->db->get_col($sql);
480
- set_transient(WpdiscuzCore::TRS_POSTS_AUTHORS, $postsAuthors, 6 * HOUR_IN_SECONDS);
481
  }
482
  return $postsAuthors;
483
  }
484
 
485
  public function getOptimizedCommentIds($postId) {
486
- $sql = $this->db->prepare("SELECT `cm`.`comment_id` FROM `" . $this->dbprefix . "commentmeta` AS `cm` INNER JOIN `" . $this->dbprefix . "comments` AS `c` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `c`.`comment_post_ID` = %d AND `c`.`comment_approved` = 1 AND `cm`.`meta_key` = '" . WpdiscuzCore::META_KEY_CHILDREN . "' AND `cm`.`meta_value` != '';", $postId);
487
  return $this->db->get_col($sql);
488
  }
489
 
@@ -492,13 +509,13 @@ class WpdiscuzDBManager {
492
  return array();
493
  }
494
  $this->db->query("SET SESSION group_concat_max_len = 1000000;");
495
- $sql = "SELECT GROUP_CONCAT(TRIM(BOTH ',' FROM `meta_value`)) FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` = '" . WpdiscuzCore::META_KEY_CHILDREN . "' AND comment_id IN ($commentIds)";
496
  return $this->db->get_col($sql);
497
  }
498
 
499
  public function removeVotes() {
500
  $sqlTruncate = "TRUNCATE `" . $this->dbprefix . "wc_users_voted`;";
501
- $sqlDelete = "DELETE FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` = '" . WpdiscuzCore::META_KEY_VOTES . "';";
502
  return $this->db->query($sqlTruncate) && $this->db->query($sqlDelete);
503
  }
504
 
@@ -535,7 +552,7 @@ class WpdiscuzDBManager {
535
  public function importOptions($serializedOptions) {
536
  if ($serializedOptions) {
537
  $serializedOptions = stripslashes($serializedOptions);
538
- $sql = "UPDATE `" . $this->dbprefix . "options` SET `option_value` = %s WHERE `option_name` = '" . WpdiscuzCore::OPTION_SLUG_OPTIONS . "'";
539
  $sql = $this->db->prepare($sql, $serializedOptions);
540
  $this->db->query($sql);
541
  }
1
  <?php
2
 
3
+ class WpdiscuzDBManager implements WpDiscuzConstants {
4
 
5
  private $db;
6
  private $dbprefix;
7
  private $users_voted;
8
  private $phrases;
9
  private $emailNotification;
10
+ public $isMySQL57;
11
+ public $isShowLoadMore = false;
12
 
13
  function __construct() {
14
  $this->initDB();
21
  $this->users_voted = $this->dbprefix . 'wc_users_voted';
22
  $this->phrases = $this->dbprefix . 'wc_phrases';
23
  $this->emailNotification = $this->dbprefix . 'wc_comments_subscription';
24
+ $this->isMySQL57 = version_compare($this->db->db_version(), '5.7', '>=') ? true : false;
25
  }
26
 
27
  /**
190
  if ($args['status'] != 'all') {
191
  $approved = " AND `comment_approved` = 1 ";
192
  }
193
+ $sql = $this->db->prepare("SELECT MAX(`comment_ID`) FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d " . $approved . ";", $args['post_id']);
194
  } else {
195
+ $sql = "SELECT MAX(`comment_ID`) FROM `" . $this->dbprefix . "comments`;";
196
  }
197
  return $this->db->get_var($sql);
198
  }
234
  public function getPostParentComments($args) {
235
  $commentParent = $args['is_threaded'] ? 'AND `comment_parent` = 0' : '';
236
  $status = $this->getCommentsStatus($args['status']);
237
+ $limit = "";
238
+ if (!$this->isMySQL57) {
239
+ $limit = " LIMIT " . ($args['limit'] + 1);
240
+ }
241
  if ($args['limit'] == 0) {
242
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
243
  $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
244
  } else if ($args['last_parent_id']) {
245
  $operator = ($args['order'] == 'asc') ? '>' : '<';
246
+ $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent AND `comment_ID` $operator %d ORDER BY `comment_date_gmt` {$args['order']}, comment_ID {$args['order']} $limit", $args['post_id'], $args['last_parent_id']);
247
  } else {
248
+ $sqlComments = $this->db->prepare("SELECT `comment_ID` FROM `" . $this->dbprefix . "comments` WHERE `comment_post_ID` = %d AND $status $commentParent ORDER BY `comment_date_gmt` {$args['order']}, comment_ID {$args['order']} $limit", $args['post_id']);
249
  }
250
+ $data = $this->db->get_col($sqlComments);
251
+ if (isset($args['limit']) && $args['limit'] != 0) {
252
+ if ($this->isMySQL57) {
253
+ $data = array_slice($data, 0, $args['limit'] + 1);
254
+ }
255
+ if (count($data) > $args['limit']) {
256
+ $data = array_slice($data, 0, $args['limit']);
257
+ $this->isShowLoadMore = true;
258
+ }
259
+ }
260
+ return $data;
261
  }
262
 
263
  /**
284
  $commentParent = $args['is_threaded'] ? 'AND `c`.`comment_parent` = 0' : '';
285
  $status = $this->getCommentsStatus($args['status'], '`c`.');
286
  if ($args['limit']) {
287
+ $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . self::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $args['limit'] + 1, $args['offset']);
288
  } else {
289
  $allParentCounts = count($this->getAllParentCommentCount($args['post_id'], $args['is_threaded']));
290
+ $sqlPostVotedCommentIds = $this->db->prepare("SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . self::META_KEY_VOTES . "' AND `c`.`comment_post_ID` = %d AND $status $commentParent ORDER BY (`cm`.`meta_value`+0) desc, `c`.`comment_date_gmt` {$args['date_order']} LIMIT %d OFFSET %d", $args['post_id'], $allParentCounts, $args['offset']);
291
+ }
292
+ $data = $this->db->get_col($sqlPostVotedCommentIds);
293
+ if (isset($args['limit']) && $args['limit'] != 0 && count($data) > $args['limit']) {
294
+ $data = array_slice($data, 0, $args['limit']);
295
+ $this->isShowLoadMore = true;
296
  }
297
+ return $data;
298
  }
299
 
300
  /**
301
  * @return type array of comment ids
302
  */
303
  public function getVotedCommentIds() {
304
+ $sqlVotedCommentIds = "SELECT `c`.`comment_ID` FROM `" . $this->dbprefix . "comments` AS `c` INNER JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `cm`.`meta_key` = '" . self::META_KEY_VOTES . "' AND `c`.`comment_approved` = 1 AND `c`.`comment_parent` = 0;";
305
  return $this->db->get_col($sqlVotedCommentIds);
306
  }
307
 
336
  * return comment id if true false otherwise
337
  */
338
  public function isCommentInMeta($commentId) {
339
+ $query = $this->db->prepare("SELECT `comment_id` FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` LIKE %s AND `comment_id` = %d;", self::META_KEY_CHILDREN, $commentId);
340
  return $this->db->query($query);
341
  }
342
 
371
  foreach ($trees as $tKey => $tVal) {
372
  $tree = implode(',', $tVal);
373
  $tree .= $tree ? ',' : '';
374
+ $sql .= "(NULL, $tKey, '" . self::META_KEY_CHILDREN . "', '" . $tree . "'),";
375
  }
376
  $sql = trim($sql, ',');
377
  $this->db->query($sql);
378
  }
379
 
380
  public function checkVoteData($postId) {
381
+ $sql_query = $this->db->prepare("INSERT INTO `" . $this->dbprefix . "commentmeta`(`meta_id`,`comment_id`, `meta_key`, `meta_value`)(SELECT NULL, `c`.`comment_ID`,%s,'0' FROM `" . $this->dbprefix . "comments` AS `c` LEFT JOIN `" . $this->dbprefix . "commentmeta` AS `cm` ON `cm`.`comment_id` = `c`.`comment_ID` AND `cm`.`meta_key` = %s WHERE `cm`.`meta_key` IS NULL AND `c`.`comment_post_ID` = %d);", self::META_KEY_VOTES, self::META_KEY_VOTES, $postId);
 
 
 
 
 
382
  $this->db->query($sql_query);
383
  }
384
 
385
  public function addEmailNotification($subsriptionId, $postId, $email, $subscriptionType, $confirm = 0) {
386
+ if ($subscriptionType != self::SUBSCRIPTION_COMMENT) {
387
  $this->deleteCommentNotifications($subsriptionId, $email);
388
  }
389
  $activationKey = md5($email . uniqid() . time());
393
  }
394
 
395
  public function getPostNewCommentNotification($post_id, $email) {
396
+ $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `post_id` = %d AND `email` != %s;", self::SUBSCRIPTION_POST, $post_id, $email);
397
  return $this->db->get_results($sql, ARRAY_A);
398
  }
399
 
400
  public function getAllNewCommentNotification($post_id, $email) {
401
+ $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `post_id` = %d AND `email` != %s;", self::SUBSCRIPTION_ALL_COMMENT, $post_id, $email);
402
  return $this->db->get_results($sql, ARRAY_A);
403
  }
404
 
405
  public function getNewReplyNotification($comment_id, $email) {
406
+ $sql = $this->db->prepare("SELECT `id`, `email`, `activation_key` FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` = %s AND `confirm` = 1 AND `subscribtion_id` = %d AND `email` != %s;", self::SUBSCRIPTION_COMMENT, $comment_id, $email);
407
  return $this->db->get_results($sql, ARRAY_A);
408
  }
409
 
429
  * delete comment thread subscriptions if new subscription type is post
430
  */
431
  public function deleteCommentNotifications($post_id, $email) {
432
+ $sql_delete_comment_notifications = $this->db->prepare("DELETE FROM `" . $this->emailNotification . "` WHERE `subscribtion_type` != %s AND `post_id` = %d AND `email` LIKE %s;", self::SUBSCRIPTION_POST, $post_id, $email);
433
  $this->db->query($sql_delete_comment_notifications);
434
  }
435
 
450
  * generate confirm link
451
  */
452
  public function confirmLink($id, $activationKey, $postID) {
453
+ global $wp_rewrite;
454
  $wc_confirm_link = !$wp_rewrite->using_permalinks() ? get_permalink($postID) . "&" : get_permalink($postID) . "?";
455
  $wc_confirm_link .= "subscribeAnchor&wpdiscuzConfirmID=$id&wpdiscuzConfirmKey=$activationKey&wpDiscuzComfirm=yes&#wc_unsubscribe_message";
456
  return $wc_confirm_link;
491
  * return users id who have published posts
492
  */
493
  public function getPostsAuthors() {
494
+ if (($postsAuthors = get_transient(self::TRS_POSTS_AUTHORS)) === false) {
495
  $sql = "SELECT `post_author` FROM `" . $this->dbprefix . "posts` WHERE `post_type` = 'post' AND `post_status` IN ('publish', 'private') GROUP BY `post_author`;";
496
  $postsAuthors = $this->db->get_col($sql);
497
+ set_transient(self::TRS_POSTS_AUTHORS, $postsAuthors, 6 * HOUR_IN_SECONDS);
498
  }
499
  return $postsAuthors;
500
  }
501
 
502
  public function getOptimizedCommentIds($postId) {
503
+ $sql = $this->db->prepare("SELECT `cm`.`comment_id` FROM `" . $this->dbprefix . "commentmeta` AS `cm` INNER JOIN `" . $this->dbprefix . "comments` AS `c` ON `c`.`comment_ID` = `cm`.`comment_id` WHERE `c`.`comment_post_ID` = %d AND `c`.`comment_approved` = 1 AND `cm`.`meta_key` = '" . self::META_KEY_CHILDREN . "' AND `cm`.`meta_value` != '';", $postId);
504
  return $this->db->get_col($sql);
505
  }
506
 
509
  return array();
510
  }
511
  $this->db->query("SET SESSION group_concat_max_len = 1000000;");
512
+ $sql = "SELECT GROUP_CONCAT(TRIM(BOTH ',' FROM `meta_value`)) FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` = '" . self::META_KEY_CHILDREN . "' AND comment_id IN ($commentIds)";
513
  return $this->db->get_col($sql);
514
  }
515
 
516
  public function removeVotes() {
517
  $sqlTruncate = "TRUNCATE `" . $this->dbprefix . "wc_users_voted`;";
518
+ $sqlDelete = "DELETE FROM `" . $this->dbprefix . "commentmeta` WHERE `meta_key` = '" . self::META_KEY_VOTES . "';";
519
  return $this->db->query($sqlTruncate) && $this->db->query($sqlDelete);
520
  }
521
 
552
  public function importOptions($serializedOptions) {
553
  if ($serializedOptions) {
554
  $serializedOptions = stripslashes($serializedOptions);
555
+ $sql = "UPDATE `" . $this->dbprefix . "options` SET `option_value` = %s WHERE `option_name` = '" . self::OPTION_SLUG_OPTIONS . "'";
556
  $sql = $this->db->prepare($sql, $serializedOptions);
557
  $this->db->query($sql);
558
  }
options/class.WpdiscuzOptions.php CHANGED
@@ -86,8 +86,10 @@ class WpdiscuzOptions {
86
  $this->optionsSerialized->commenterNameMinLength = isset($_POST['commenterNameMinLength']) && intval($_POST['commenterNameMinLength']) >= 1 ? $_POST['commenterNameMinLength'] : 1;
87
  $this->optionsSerialized->commenterNameMaxLength = isset($_POST['commenterNameMaxLength']) && intval($_POST['commenterNameMaxLength']) >= 3 && intval($_POST['commenterNameMaxLength']) <= 50 ? $_POST['commenterNameMaxLength'] : 50;
88
  $this->optionsSerialized->facebookAppID = isset($_POST['facebookAppID']) ? $_POST['facebookAppID'] : '';
 
89
  do_action('wpdiscuz_save_options', $_POST);
90
  $this->optionsSerialized->updateOptions();
 
91
  }
92
  include_once 'html-options.php';
93
  }
@@ -159,8 +161,7 @@ class WpdiscuzOptions {
159
  $this->optionsSerialized->phrases['wc_second_text']['datetime'][0] = $_POST['wc_second_text'];
160
  $this->optionsSerialized->phrases['wc_second_text_plural']['datetime'][0] = $_POST['wc_second_text_plural'];
161
  $this->optionsSerialized->phrases['wc_right_now_text'] = $_POST['wc_right_now_text'];
162
- $this->optionsSerialized->phrases['wc_ago_text'] = $_POST['wc_ago_text'];
163
- $this->optionsSerialized->phrases['wc_posted_today_text'] = $_POST['wc_posted_today_text'];
164
  $this->optionsSerialized->phrases['wc_you_must_be_text'] = $_POST['wc_you_must_be_text'];
165
  $this->optionsSerialized->phrases['wc_logged_in_as'] = $_POST['wc_logged_in_as'];
166
  $this->optionsSerialized->phrases['wc_log_out'] = $_POST['wc_log_out'];
@@ -194,6 +195,9 @@ class WpdiscuzOptions {
194
  $this->optionsSerialized->phrases['wc_msg_required_fields'] = $_POST['wc_msg_required_fields'];
195
  $this->optionsSerialized->phrases['wc_connect_with'] = $_POST['wc_connect_with'];
196
  $this->optionsSerialized->phrases['wc_subscribed_to'] = $_POST['wc_subscribed_to'];
 
 
 
197
  if (class_exists('Prompt_Comment_Form_Handling') && $this->optionsSerialized->usePostmaticForCommentNotification) {
198
  $this->optionsSerialized->phrases['wc_postmatic_subscription_label'] = $_POST['wc_postmatic_subscription_label'];
199
  }
@@ -201,6 +205,7 @@ class WpdiscuzOptions {
201
  $this->optionsSerialized->phrases['wc_blog_role_' . $roleName] = $_POST['wc_blog_role_' . $roleName];
202
  }
203
  $this->dbManager->updatePhrases($this->optionsSerialized->phrases);
 
204
  }
205
  $this->optionsSerialized->initPhrasesOnLoad();
206
 
86
  $this->optionsSerialized->commenterNameMinLength = isset($_POST['commenterNameMinLength']) && intval($_POST['commenterNameMinLength']) >= 1 ? $_POST['commenterNameMinLength'] : 1;
87
  $this->optionsSerialized->commenterNameMaxLength = isset($_POST['commenterNameMaxLength']) && intval($_POST['commenterNameMaxLength']) >= 3 && intval($_POST['commenterNameMaxLength']) <= 50 ? $_POST['commenterNameMaxLength'] : 50;
88
  $this->optionsSerialized->facebookAppID = isset($_POST['facebookAppID']) ? $_POST['facebookAppID'] : '';
89
+ $this->optionsSerialized->isNotifyOnCommentApprove = isset($_POST['isNotifyOnCommentApprove']) ? $_POST['isNotifyOnCommentApprove'] : 0;
90
  do_action('wpdiscuz_save_options', $_POST);
91
  $this->optionsSerialized->updateOptions();
92
+ add_settings_error('wpdiscuz', 'settings_updated', __('Settings updated', 'wpdiscuz'), 'updated');
93
  }
94
  include_once 'html-options.php';
95
  }
161
  $this->optionsSerialized->phrases['wc_second_text']['datetime'][0] = $_POST['wc_second_text'];
162
  $this->optionsSerialized->phrases['wc_second_text_plural']['datetime'][0] = $_POST['wc_second_text_plural'];
163
  $this->optionsSerialized->phrases['wc_right_now_text'] = $_POST['wc_right_now_text'];
164
+ $this->optionsSerialized->phrases['wc_ago_text'] = $_POST['wc_ago_text'];
 
165
  $this->optionsSerialized->phrases['wc_you_must_be_text'] = $_POST['wc_you_must_be_text'];
166
  $this->optionsSerialized->phrases['wc_logged_in_as'] = $_POST['wc_logged_in_as'];
167
  $this->optionsSerialized->phrases['wc_log_out'] = $_POST['wc_log_out'];
195
  $this->optionsSerialized->phrases['wc_msg_required_fields'] = $_POST['wc_msg_required_fields'];
196
  $this->optionsSerialized->phrases['wc_connect_with'] = $_POST['wc_connect_with'];
197
  $this->optionsSerialized->phrases['wc_subscribed_to'] = $_POST['wc_subscribed_to'];
198
+ $this->optionsSerialized->phrases['wc_form_subscription_submit'] = $_POST['wc_form_subscription_submit'];
199
+ $this->optionsSerialized->phrases['wc_comment_approved_email_subject'] = $_POST['wc_comment_approved_email_subject'];
200
+ $this->optionsSerialized->phrases['wc_comment_approved_email_message'] = $_POST['wc_comment_approved_email_message'];
201
  if (class_exists('Prompt_Comment_Form_Handling') && $this->optionsSerialized->usePostmaticForCommentNotification) {
202
  $this->optionsSerialized->phrases['wc_postmatic_subscription_label'] = $_POST['wc_postmatic_subscription_label'];
203
  }
205
  $this->optionsSerialized->phrases['wc_blog_role_' . $roleName] = $_POST['wc_blog_role_' . $roleName];
206
  }
207
  $this->dbManager->updatePhrases($this->optionsSerialized->phrases);
208
+ add_settings_error('wpdiscuz', 'phrases_updated', __('Phrases updated', 'wpdiscuz'), 'updated');
209
  }
210
  $this->optionsSerialized->initPhrasesOnLoad();
211
 
options/class.WpdiscuzOptionsSerialized.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- class WpdiscuzOptionsSerialized {
4
 
5
  /**
6
  * Type - Checkbox
@@ -276,14 +276,14 @@ class WpdiscuzOptionsSerialized {
276
  * Default Value - #FFD700
277
  */
278
  public $ratingActivColor;
279
-
280
  /**
281
  * Type - Checkbox
282
  * Available Values - before , after
283
  * Description - Display ratings on page
284
  * Default Value - after
285
  */
286
- public $displayRatingOnPost;
287
 
288
  // == RATING == //
289
 
@@ -436,7 +436,6 @@ class WpdiscuzOptionsSerialized {
436
  */
437
  public $enableImageConversion;
438
 
439
-
440
  /**
441
  * Type - Radio Button
442
  * Available Values - 1 Replace non-https content to simple link URLs / 2 Just replace http protocols to https (https may not be supported by content provider) / 3 Ignore non-https content
@@ -444,8 +443,7 @@ class WpdiscuzOptionsSerialized {
444
  * Default Value - 1 Replace non-https content to simple link URLs
445
  */
446
  public $commentLinkFilter;
447
-
448
-
449
  /**
450
  * Type - Input
451
  * Available Values - Integer (after the limit has been reached show read more link)
@@ -453,7 +451,7 @@ class WpdiscuzOptionsSerialized {
453
  * Default Value - 100 words
454
  */
455
  public $commenterNameMinLength;
456
-
457
  /**
458
  * Type - Checkbox
459
  * Available Values - checked / unchecked
@@ -461,7 +459,7 @@ class WpdiscuzOptionsSerialized {
461
  * Default Value - unchecked
462
  */
463
  public $disableTips;
464
-
465
  /**
466
  * Type - Checkbox
467
  * Available Values - checked / unchecked
@@ -491,6 +489,14 @@ class WpdiscuzOptionsSerialized {
491
  */
492
  public $facebookAppID;
493
 
 
 
 
 
 
 
 
 
494
  /**
495
  * wordpress options
496
  */
@@ -508,7 +514,7 @@ class WpdiscuzOptionsSerialized {
508
  $this->dbManager = $dbmanager;
509
  $this->initPhrases();
510
  $this->addOptions();
511
- $this->initOptions(get_option(WpdiscuzCore::OPTION_SLUG_OPTIONS));
512
  $this->wordpressDateFormat = get_option('date_format');
513
  $this->wordpressTimeFormat = get_option('time_format');
514
  $this->wordpressThreadComments = get_option('thread_comments');
@@ -517,7 +523,7 @@ class WpdiscuzOptionsSerialized {
517
  $this->wordpressCommentOrder = get_option('comment_order');
518
  $this->wordpressCommentPerPage = get_option('comments_per_page');
519
  $this->wordpressShowAvatars = get_option('show_avatars');
520
- $this->wordpressDefaultCommentsPage = get_option('default_comments_page');
521
  $this->initFormRelations();
522
  $this->initGoodbyeCaptchaField();
523
  add_action('init', array(&$this, 'initPhrasesOnLoad'), 2126);
@@ -583,6 +589,7 @@ class WpdiscuzOptionsSerialized {
583
  $this->commenterNameMinLength = isset($options['commenterNameMinLength']) ? $options['commenterNameMinLength'] : 1;
584
  $this->commenterNameMaxLength = isset($options['commenterNameMaxLength']) ? $options['commenterNameMaxLength'] : 50;
585
  $this->facebookAppID = isset($options['facebookAppID']) ? $options['facebookAppID'] : '';
 
586
  do_action('wpdiscuz_init_options', $this);
587
  }
588
 
@@ -649,8 +656,7 @@ class WpdiscuzOptionsSerialized {
649
  'wc_second_text' => array('datetime' => array(__('second', 'wpdiscuz'), 6)),
650
  'wc_second_text_plural' => array('datetime' => array(__('seconds', 'wpdiscuz'), 6)), // PLURAL
651
  'wc_right_now_text' => __('right now', 'wpdiscuz'),
652
- 'wc_ago_text' => __('ago', 'wpdiscuz'),
653
- 'wc_posted_today_text' => __('Today', 'wpdiscuz'),
654
  'wc_you_must_be_text' => __('You must be', 'wpdiscuz'),
655
  'wc_logged_in_as' => __('You are logged in as', 'wpdiscuz'),
656
  'wc_log_out' => __('Log out', 'wpdiscuz'),
@@ -684,7 +690,10 @@ class WpdiscuzOptionsSerialized {
684
  'wc_msg_required_fields' => __('Please fill out required fields', 'wpdiscuz'),
685
  'wc_connect_with' => __('Connect with', 'wpdiscuz'),
686
  'wc_subscribed_to' => __('You\'re subscribed to', 'wpdiscuz'),
687
- 'wc_postmatic_subscription_label' => __('Participate in this discussion via email', 'wpdiscuz')
 
 
 
688
  );
689
  }
690
 
@@ -748,12 +757,13 @@ class WpdiscuzOptionsSerialized {
748
  'commenterNameMinLength' => $this->commenterNameMinLength,
749
  'commenterNameMaxLength' => $this->commenterNameMaxLength,
750
  'facebookAppID' => $this->facebookAppID,
 
751
  );
752
  return $options;
753
  }
754
 
755
  public function updateOptions() {
756
- update_option(WpdiscuzCore::OPTION_SLUG_OPTIONS, serialize($this->toArray()));
757
  }
758
 
759
  public function addOptions() {
@@ -821,9 +831,10 @@ class WpdiscuzOptionsSerialized {
821
  'commenterNameMinLength' => '3',
822
  'commenterNameMaxLength' => '50',
823
  'facebookAppID' => '',
 
824
  'wcf_google_map_api_key' => '',
825
  );
826
- add_option(WpdiscuzCore::OPTION_SLUG_OPTIONS, serialize($options));
827
  }
828
 
829
  public function initPhrasesOnLoad() {
@@ -889,6 +900,8 @@ class WpdiscuzOptionsSerialized {
889
  $js_options['isCaptchaInSession'] = (boolean) $this->isCaptchaInSession;
890
  $js_options['isGoodbyeCaptchaActive'] = (boolean) $this->isGoodbyeCaptchaActive;
891
  $js_options['facebookAppID'] = $this->facebookAppID;
 
 
892
  return $js_options;
893
  }
894
 
1
  <?php
2
 
3
+ class WpdiscuzOptionsSerialized implements WpDiscuzConstants {
4
 
5
  /**
6
  * Type - Checkbox
276
  * Default Value - #FFD700
277
  */
278
  public $ratingActivColor;
279
+
280
  /**
281
  * Type - Checkbox
282
  * Available Values - before , after
283
  * Description - Display ratings on page
284
  * Default Value - after
285
  */
286
+ public $displayRatingOnPost;
287
 
288
  // == RATING == //
289
 
436
  */
437
  public $enableImageConversion;
438
 
 
439
  /**
440
  * Type - Radio Button
441
  * Available Values - 1 Replace non-https content to simple link URLs / 2 Just replace http protocols to https (https may not be supported by content provider) / 3 Ignore non-https content
443
  * Default Value - 1 Replace non-https content to simple link URLs
444
  */
445
  public $commentLinkFilter;
446
+
 
447
  /**
448
  * Type - Input
449
  * Available Values - Integer (after the limit has been reached show read more link)
451
  * Default Value - 100 words
452
  */
453
  public $commenterNameMinLength;
454
+
455
  /**
456
  * Type - Checkbox
457
  * Available Values - checked / unchecked
459
  * Default Value - unchecked
460
  */
461
  public $disableTips;
462
+
463
  /**
464
  * Type - Checkbox
465
  * Available Values - checked / unchecked
489
  */
490
  public $facebookAppID;
491
 
492
+ /**
493
+ * Type - Checkbox
494
+ * Available Values - checked / unchecked
495
+ * Description - Notify comment author if comment was approved
496
+ * Default Value - checked
497
+ */
498
+ public $isNotifyOnCommentApprove;
499
+
500
  /**
501
  * wordpress options
502
  */
514
  $this->dbManager = $dbmanager;
515
  $this->initPhrases();
516
  $this->addOptions();
517
+ $this->initOptions(get_option(self::OPTION_SLUG_OPTIONS));
518
  $this->wordpressDateFormat = get_option('date_format');
519
  $this->wordpressTimeFormat = get_option('time_format');
520
  $this->wordpressThreadComments = get_option('thread_comments');
523
  $this->wordpressCommentOrder = get_option('comment_order');
524
  $this->wordpressCommentPerPage = get_option('comments_per_page');
525
  $this->wordpressShowAvatars = get_option('show_avatars');
526
+ $this->wordpressDefaultCommentsPage = get_option('default_comments_page');
527
  $this->initFormRelations();
528
  $this->initGoodbyeCaptchaField();
529
  add_action('init', array(&$this, 'initPhrasesOnLoad'), 2126);
589
  $this->commenterNameMinLength = isset($options['commenterNameMinLength']) ? $options['commenterNameMinLength'] : 1;
590
  $this->commenterNameMaxLength = isset($options['commenterNameMaxLength']) ? $options['commenterNameMaxLength'] : 50;
591
  $this->facebookAppID = isset($options['facebookAppID']) ? $options['facebookAppID'] : '';
592
+ $this->isNotifyOnCommentApprove = isset($options['isNotifyOnCommentApprove']) ? $options['isNotifyOnCommentApprove'] : 0;
593
  do_action('wpdiscuz_init_options', $this);
594
  }
595
 
656
  'wc_second_text' => array('datetime' => array(__('second', 'wpdiscuz'), 6)),
657
  'wc_second_text_plural' => array('datetime' => array(__('seconds', 'wpdiscuz'), 6)), // PLURAL
658
  'wc_right_now_text' => __('right now', 'wpdiscuz'),
659
+ 'wc_ago_text' => __('ago', 'wpdiscuz'),
 
660
  'wc_you_must_be_text' => __('You must be', 'wpdiscuz'),
661
  'wc_logged_in_as' => __('You are logged in as', 'wpdiscuz'),
662
  'wc_log_out' => __('Log out', 'wpdiscuz'),
690
  'wc_msg_required_fields' => __('Please fill out required fields', 'wpdiscuz'),
691
  'wc_connect_with' => __('Connect with', 'wpdiscuz'),
692
  'wc_subscribed_to' => __('You\'re subscribed to', 'wpdiscuz'),
693
+ 'wc_postmatic_subscription_label' => __('Participate in this discussion via email', 'wpdiscuz'),
694
+ 'wc_form_subscription_submit' => __('&rsaquo;', 'wpdiscuz'),
695
+ 'wc_comment_approved_email_subject' => __('Comment was approved', 'wpdiscuz'),
696
+ 'wc_comment_approved_email_message' => __('Hi, <br/> Your comment was approved.', 'wpdiscuz'),
697
  );
698
  }
699
 
757
  'commenterNameMinLength' => $this->commenterNameMinLength,
758
  'commenterNameMaxLength' => $this->commenterNameMaxLength,
759
  'facebookAppID' => $this->facebookAppID,
760
+ 'isNotifyOnCommentApprove' => $this->isNotifyOnCommentApprove,
761
  );
762
  return $options;
763
  }
764
 
765
  public function updateOptions() {
766
+ update_option(self::OPTION_SLUG_OPTIONS, serialize($this->toArray()));
767
  }
768
 
769
  public function addOptions() {
831
  'commenterNameMinLength' => '3',
832
  'commenterNameMaxLength' => '50',
833
  'facebookAppID' => '',
834
+ 'isNotifyOnCommentApprove' => '1',
835
  'wcf_google_map_api_key' => '',
836
  );
837
+ add_option(self::OPTION_SLUG_OPTIONS, serialize($options));
838
  }
839
 
840
  public function initPhrasesOnLoad() {
900
  $js_options['isCaptchaInSession'] = (boolean) $this->isCaptchaInSession;
901
  $js_options['isGoodbyeCaptchaActive'] = (boolean) $this->isGoodbyeCaptchaActive;
902
  $js_options['facebookAppID'] = $this->facebookAppID;
903
+ $js_options['cookiehash'] = COOKIEHASH;
904
+
905
  return $js_options;
906
  }
907
 
options/html-options.php CHANGED
@@ -10,15 +10,16 @@ if (!defined('ABSPATH')) {
10
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz General Settings', 'wpdiscuz'); ?></h1>
11
  <br style="clear:both" />
12
  <?php do_action('wpdiscuz_option_page'); ?>
 
13
  <table width="100%" border="0" cellspacing="1" class="widefat" style="background-color:#FdFdFd;">
14
  <tr>
15
  <td valign="top" style="padding:3px;">
16
  <table width="100%" border="0" cellspacing="2">
17
  <tr>
18
- <th style="font-size:16px;"><a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" target="_blank" title="We'd greatly appreciate your feedback on WordPress.org"><?php _e('Like wpDiscuz?','wpdiscuz');?></a></th>
19
- <th style="font-size:16px; width:135px; text-align:center;"><a href="http://wpdiscuz.com/wpdiscuz-documentation/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Documentation','wpdiscuz');?></a></th>
20
- <th style="font-size:16px; width:75px; text-align:center;"><a href="https://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Support','wpdiscuz');?></a></th>
21
- <th style="font-size:16px; width:75px; text-align:center;"><a href="http://wpdiscuz.com/addons/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Addons','wpdiscuz');?></a></th>
22
  </tr>
23
  </table>
24
  </td>
@@ -142,14 +143,13 @@ if (!defined('ABSPATH')) {
142
  <tr valign="top">
143
  <td colspan="4">
144
  <p class="submit">
145
- <?php $resetOptionsUrl = admin_url() . 'edit-comments.php?page=' . WpdiscuzCore::PAGE_SETTINGS . '&wpdiscuz_reset_options=1';
146
- $resetOptionsUrl = wp_nonce_url($resetOptionsUrl,'wpdiscuz_reset_options_nonce');
147
- ?>
148
- <a style="float: left;" class="button button-secondary" href="<?php echo $resetOptionsUrl;?>"><?php _e('Reset Options', 'wpdiscuz'); ?></a>
149
- <?php $clearChildrenUrl = admin_url('admin-post.php/?action=clearChildrenData&clear=1'); ?>
150
- <a href="<?php echo wp_nonce_url($clearChildrenUrl, 'clear_children_data'); ?>" class="button button-secondary" title="Use this button if wpDiscuz has been deactivated for a while." style="margin-left: 5px;" id="wpdiscuz_synch_comments"><?php _e('Refresh comment optimization', 'wpdiscuz'); ?></a>
151
  <?php $voteUrl = admin_url('admin-post.php/?action=removeVoteData&remove=1'); ?>
152
- <a href="<?php echo wp_nonce_url($voteUrl, 'remove_vote_data'); ?>" class="button button-secondary" style="margin-left: 5px;" id="wpdiscuz_clear_votes"><?php _e('Remove vote data', 'wpdiscuz'); ?></a>
153
  <input style="float: right;" type="submit" class="button button-primary" name="wc_submit_options" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" />
154
  </p>
155
  </td>
10
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz General Settings', 'wpdiscuz'); ?></h1>
11
  <br style="clear:both" />
12
  <?php do_action('wpdiscuz_option_page'); ?>
13
+ <?php settings_errors('wpdiscuz'); ?>
14
  <table width="100%" border="0" cellspacing="1" class="widefat" style="background-color:#FdFdFd;">
15
  <tr>
16
  <td valign="top" style="padding:3px;">
17
  <table width="100%" border="0" cellspacing="2">
18
  <tr>
19
+ <th style="font-size:16px;"><a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" target="_blank" title="We'd greatly appreciate your feedback on WordPress.org"><?php _e('Like wpDiscuz?', 'wpdiscuz'); ?></a></th>
20
+ <th style="font-size:16px; width:135px; text-align:center;"><a href="http://wpdiscuz.com/wpdiscuz-documentation/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Documentation', 'wpdiscuz'); ?></a></th>
21
+ <th style="font-size:16px; width:75px; text-align:center;"><a href="https://gvectors.com/forum/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Support', 'wpdiscuz'); ?></a></th>
22
+ <th style="font-size:16px; width:75px; text-align:center;"><a href="http://wpdiscuz.com/addons/" style="color:#008EC2; overflow:hidden; outline:none;" target="_blank"><?php _e('Addons', 'wpdiscuz'); ?></a></th>
23
  </tr>
24
  </table>
25
  </td>
143
  <tr valign="top">
144
  <td colspan="4">
145
  <p class="submit">
146
+ <?php
147
+ $resetOptionsUrl = admin_url() . 'edit-comments.php?page=' . WpdiscuzCore::PAGE_SETTINGS . '&wpdiscuz_reset_options=1';
148
+ $resetOptionsUrl = wp_nonce_url($resetOptionsUrl, 'wpdiscuz_reset_options_nonce');
149
+ ?>
150
+ <a id="wpdiscuz-reset-options" style="float: left;" class="button button-secondary" href="<?php echo $resetOptionsUrl; ?>"><?php _e('Reset Options', 'wpdiscuz'); ?></a>
 
151
  <?php $voteUrl = admin_url('admin-post.php/?action=removeVoteData&remove=1'); ?>
152
+ <a id="wpdiscuz-remove-votes" href="<?php echo wp_nonce_url($voteUrl, 'remove_vote_data'); ?>" class="button button-secondary" style="margin-left: 5px;" id="wpdiscuz_clear_votes"><?php _e('Remove vote data', 'wpdiscuz'); ?></a>
153
  <input style="float: right;" type="submit" class="button button-primary" name="wc_submit_options" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" />
154
  </p>
155
  </td>
options/html-phrases.php CHANGED
@@ -9,6 +9,7 @@ if (!defined('ABSPATH')) {
9
  </div>
10
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz Front-end Phrases', 'wpdiscuz'); ?></h1>
11
  <br style="clear:both" />
 
12
  <form action="<?php echo admin_url(); ?>edit-comments.php?page=<?php echo WpdiscuzCore::PAGE_PHRASES; ?>" method="post" name="<?php echo WpdiscuzCore::PAGE_PHRASES; ?>" class="wc-phrases-settings-form wc-form">
13
  <?php
14
  if (function_exists('wp_nonce_field')) {
@@ -68,7 +69,7 @@ if (!defined('ABSPATH')) {
68
  <tr valign="top">
69
  <td colspan="4">
70
  <p class="submit">
71
- <input type="submit" class="button button-primary" name="wc_submit_phrases" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" />
72
  </p>
73
  </td>
74
  </tr>
9
  </div>
10
  <h1 style="padding-bottom:20px; padding-top:15px;"><?php _e('wpDiscuz Front-end Phrases', 'wpdiscuz'); ?></h1>
11
  <br style="clear:both" />
12
+ <?php settings_errors('wpdiscuz'); ?>
13
  <form action="<?php echo admin_url(); ?>edit-comments.php?page=<?php echo WpdiscuzCore::PAGE_PHRASES; ?>" method="post" name="<?php echo WpdiscuzCore::PAGE_PHRASES; ?>" class="wc-phrases-settings-form wc-form">
14
  <?php
15
  if (function_exists('wp_nonce_field')) {
69
  <tr valign="top">
70
  <td colspan="4">
71
  <p class="submit">
72
+ <input type="submit" class="button button-primary" name="wc_submit_phrases" value="<?php _e('Save Changes', 'wpdiscuz'); ?>" style="float: right;" />
73
  </p>
74
  </td>
75
  </tr>
options/options-layouts/settings-general.php CHANGED
@@ -23,7 +23,11 @@ if (!defined('ABSPATH')) {
23
  </p>
24
  </th>
25
  <td><input type="checkbox" <?php checked($this->optionsSerialized->isUserByEmail == 1) ?> value="1" name="isUserByEmail" id="isUserByEmail" /></td>
26
- </tr>
 
 
 
 
27
  <tr valign="top">
28
  <th scope="row">
29
  <?php _e('Comment author name min length (for guests only)', 'wpdiscuz'); ?>
23
  </p>
24
  </th>
25
  <td><input type="checkbox" <?php checked($this->optionsSerialized->isUserByEmail == 1) ?> value="1" name="isUserByEmail" id="isUserByEmail" /></td>
26
+ </tr>
27
+ <tr valign="top">
28
+ <th scope="row"><label for="isNotifyOnCommentApprove"><?php _e('Notify comment author if comment was approved', 'wpdiscuz'); ?></label></th>
29
+ <td><input type="checkbox" <?php checked($this->optionsSerialized->isNotifyOnCommentApprove == 1) ?> value="1" name="isNotifyOnCommentApprove" id="isNotifyOnCommentApprove" /></td>
30
+ </tr>
31
  <tr valign="top">
32
  <th scope="row">
33
  <?php _e('Comment author name min length (for guests only)', 'wpdiscuz'); ?>
options/phrases-layouts/phrases-comment.php CHANGED
@@ -8,104 +8,44 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e('Reply', 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_reply_text">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_reply_text']; ?>" name="wc_reply_text" id="wc_submit_text" />
17
- </label>
18
- </td>
19
  </tr>
20
  <tr valign="top">
21
- <th scope="row">
22
- <?php _e('Share', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_share_text">
26
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_text']; ?>" name="wc_share_text" id="wc_share_text" />
27
- </label>
28
- </td>
29
  </tr>
30
  <tr valign="top">
31
- <th scope="row">
32
- <?php _e('Edit', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_edit_text">
36
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_edit_text']; ?>" name="wc_edit_text" id="wc_edit_text" />
37
- </label>
38
- </td>
39
  </tr>
40
  <tr valign="top">
41
- <th scope="row">
42
- <?php _e('Share On Facebook', 'wpdiscuz'); ?>
43
- </th>
44
- <td colspan="3">
45
- <label for="wc_share_facebook">
46
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_facebook']; ?>" name="wc_share_facebook" id="wc_share_facebook" />
47
- </label>
48
- </td>
49
  </tr>
50
  <tr valign="top" >
51
- <th scope="row">
52
- <?php _e('Share On Twitter', 'wpdiscuz'); ?>
53
- </th>
54
- <td colspan="3">
55
- <label for="wc_share_twitter">
56
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_twitter']; ?>" name="wc_share_twitter" id="wc_share_twitter" />
57
- </label>
58
- </td>
59
  </tr>
60
  <tr valign="top">
61
- <th scope="row">
62
- <?php _e('Share On Google', 'wpdiscuz'); ?>
63
- </th>
64
- <td colspan="3">
65
- <label for="wc_share_google">
66
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_google']; ?>" name="wc_share_google" id="wc_share_google" />
67
- </label>
68
- </td>
69
  </tr>
70
  <tr valign="top">
71
- <th scope="row">
72
- <?php _e('Share On VKontakte', 'wpdiscuz'); ?>
73
- </th>
74
- <td colspan="3">
75
- <label for="wc_share_vk">
76
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_vk']; ?>" name="wc_share_vk" id="wc_share_vk" />
77
- </label>
78
- </td>
79
  </tr>
80
  <tr valign="top">
81
- <th scope="row">
82
- <?php _e('Share On Odnoklassniki', 'wpdiscuz'); ?>
83
- </th>
84
- <td colspan="3">
85
- <label for="wc_share_ok">
86
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_ok']; ?>" name="wc_share_ok" id="wc_share_ok" />
87
- </label>
88
- </td>
89
  </tr>
90
  <tr valign="top" >
91
- <th scope="row">
92
- <?php _e('Hide Replies', 'wpdiscuz'); ?>
93
- </th>
94
- <td colspan="3">
95
- <label for="wc_hide_replies_text">
96
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hide_replies_text']; ?>" name="wc_hide_replies_text" id="wc_hide_replies_text" />
97
- </label>
98
- </td>
99
  </tr>
100
  <tr valign="top">
101
- <th scope="row">
102
- <?php _e('Show Replies', 'wpdiscuz'); ?>
103
- </th>
104
- <td colspan="3">
105
- <label for="wc_show_replies_text">
106
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_show_replies_text']; ?>" name="wc_show_replies_text" id="wc_show_replies_text" />
107
- </label>
108
- </td>
109
  </tr>
110
  <?php
111
  $roles = $this->optionsSerialized->blogRoles;
@@ -125,73 +65,35 @@ if (!defined('ABSPATH')) {
125
  }
126
  ?>
127
  <tr valign="top">
128
- <th scope="row"><?php echo $phraseRoleLabel; ?></th>
129
- <td>
130
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_blog_role_' . $roleName]) ? $this->optionsSerialized->phrases['wc_blog_role_' . $roleName] : $roleTitle; ?>" id="wc_blog_role_<?php echo $roleName; ?>" name="wc_blog_role_<?php echo $roleName; ?>"/>
131
- </td>
132
  </tr>
133
  <?php
134
  }
135
  ?>
136
  <tr valign="top">
137
- <th scope="row">
138
- <?php _e('Vote Up', 'wpdiscuz'); ?>
139
- </th>
140
- <td colspan="3">
141
- <label for="wc_vote_up">
142
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_up']; ?>" name="wc_vote_up" id="wc_vote_up" />
143
- </label>
144
- </td>
145
  </tr>
146
  <tr valign="top">
147
- <th scope="row">
148
- <?php _e('Vote Down', 'wpdiscuz'); ?>
149
- </th>
150
- <td colspan="3">
151
- <label for="wc_vote_down">
152
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_down']; ?>" name="wc_vote_down" id="wc_vote_down" />
153
- </label>
154
- </td>
155
  </tr>
156
  <tr valign="top">
157
- <th scope="row">
158
- <?php _e('Save edited comment button text', 'wpdiscuz'); ?>
159
- </th>
160
- <td colspan="3">
161
- <label for="wc_comment_edit_save_button">
162
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_save_button']) ? $this->optionsSerialized->phrases['wc_comment_edit_save_button'] : __('Save', 'wpdisucz'); ?>" name="wc_comment_edit_save_button" id="wc_comment_edit_save_button" />
163
- </label>
164
- </td>
165
  </tr>
166
  <tr valign="top">
167
- <th scope="row">
168
- <?php _e('Cancel comment editing button text', 'wpdiscuz'); ?>
169
- </th>
170
- <td colspan="3">
171
- <label for="wc_comment_edit_cancel_button">
172
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_cancel_button']) ? $this->optionsSerialized->phrases['wc_comment_edit_cancel_button'] : __('Cancel', 'wpdisucz'); ?>" name="wc_comment_edit_cancel_button" id="wc_comment_edit_cancel_button" />
173
- </label>
174
- </td>
175
  </tr>
176
  <tr valign="top">
177
- <th scope="row">
178
- <?php _e('Comment read more link text', 'wpdiscuz'); ?>
179
- </th>
180
- <td colspan="3">
181
- <label for="wc_read_more">
182
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_read_more']) ? $this->optionsSerialized->phrases['wc_read_more'] : __('Read more &raquo;', 'wpdisucz'); ?>" name="wc_read_more" id="wc_read_more" />
183
- </label>
184
- </td>
185
  </tr>
186
  <tr valign="top">
187
- <th scope="row">
188
- <?php _e('Anonymous commenter name', 'wpdiscuz'); ?>
189
- </th>
190
- <td colspan="3">
191
- <label for="wc_anonymous">
192
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_anonymous']) ? $this->optionsSerialized->phrases['wc_anonymous'] : __('Anonymous', 'wpdisucz'); ?>" name="wc_anonymous" id="wc_anonymous" />
193
- </label>
194
- </td>
195
  </tr>
196
  </tbody>
197
  </table>
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_reply_text"><?php _e('Reply', 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_reply_text']; ?>" name="wc_reply_text" id="wc_submit_text" /></td>
 
 
 
 
 
 
13
  </tr>
14
  <tr valign="top">
15
+ <th scope="row"><label for="wc_share_text"><?php _e('Share', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_text']; ?>" name="wc_share_text" id="wc_share_text" /></td>
 
 
 
 
 
 
17
  </tr>
18
  <tr valign="top">
19
+ <th scope="row"><label for="wc_edit_text"><?php _e('Edit', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_edit_text']; ?>" name="wc_edit_text" id="wc_edit_text" /></td>
 
 
 
 
 
 
21
  </tr>
22
  <tr valign="top">
23
+ <th scope="row"><label for="wc_share_facebook"><?php _e('Share On Facebook', 'wpdiscuz'); ?></label></th>
24
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_facebook']; ?>" name="wc_share_facebook" id="wc_share_facebook" /></td>
 
 
 
 
 
 
25
  </tr>
26
  <tr valign="top" >
27
+ <th scope="row"><label for="wc_share_twitter"><?php _e('Share On Twitter', 'wpdiscuz'); ?></label></th>
28
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_twitter']; ?>" name="wc_share_twitter" id="wc_share_twitter" /></td>
 
 
 
 
 
 
29
  </tr>
30
  <tr valign="top">
31
+ <th scope="row"><label for="wc_share_google"><?php _e('Share On Google', 'wpdiscuz'); ?></label></th>
32
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_google']; ?>" name="wc_share_google" id="wc_share_google" /></td>
 
 
 
 
 
 
33
  </tr>
34
  <tr valign="top">
35
+ <th scope="row"><label for="wc_share_vk"><?php _e('Share On VKontakte', 'wpdiscuz'); ?></label></th>
36
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_vk']; ?>" name="wc_share_vk" id="wc_share_vk" /></td>
 
 
 
 
 
 
37
  </tr>
38
  <tr valign="top">
39
+ <th scope="row"><label for="wc_share_ok"><?php _e('Share On Odnoklassniki', 'wpdiscuz'); ?></label></th>
40
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_share_ok']; ?>" name="wc_share_ok" id="wc_share_ok" /></td>
 
 
 
 
 
 
41
  </tr>
42
  <tr valign="top" >
43
+ <th scope="row"><label for="wc_hide_replies_text"><?php _e('Hide Replies', 'wpdiscuz'); ?></label></th>
44
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hide_replies_text']; ?>" name="wc_hide_replies_text" id="wc_hide_replies_text" /></td>
 
 
 
 
 
 
45
  </tr>
46
  <tr valign="top">
47
+ <th scope="row"><label for="wc_show_replies_text"><?php _e('Show Replies', 'wpdiscuz'); ?></label></th>
48
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_show_replies_text']; ?>" name="wc_show_replies_text" id="wc_show_replies_text" /></td>
 
 
 
 
 
 
49
  </tr>
50
  <?php
51
  $roles = $this->optionsSerialized->blogRoles;
65
  }
66
  ?>
67
  <tr valign="top">
68
+ <th scope="row"><label for="wc_blog_role_<?php echo $roleName; ?>"><?php echo $phraseRoleLabel; ?></label></th>
69
+ <td><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_blog_role_' . $roleName]) ? $this->optionsSerialized->phrases['wc_blog_role_' . $roleName] : $roleTitle; ?>" id="wc_blog_role_<?php echo $roleName; ?>" name="wc_blog_role_<?php echo $roleName; ?>"/></td>
 
 
70
  </tr>
71
  <?php
72
  }
73
  ?>
74
  <tr valign="top">
75
+ <th scope="row"><label for="wc_vote_up"><?php _e('Vote Up', 'wpdiscuz'); ?></label></th>
76
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_up']; ?>" name="wc_vote_up" id="wc_vote_up" /></td>
 
 
 
 
 
 
77
  </tr>
78
  <tr valign="top">
79
+ <th scope="row"><label for="wc_vote_down"><?php _e('Vote Down', 'wpdiscuz'); ?></label></th>
80
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_down']; ?>" name="wc_vote_down" id="wc_vote_down" /></td>
 
 
 
 
 
 
81
  </tr>
82
  <tr valign="top">
83
+ <th scope="row"><label for="wc_comment_edit_save_button"><?php _e('Save edited comment button text', 'wpdiscuz'); ?></label></th>
84
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_save_button']) ? $this->optionsSerialized->phrases['wc_comment_edit_save_button'] : __('Save', 'wpdisucz'); ?>" name="wc_comment_edit_save_button" id="wc_comment_edit_save_button" /></td>
 
 
 
 
 
 
85
  </tr>
86
  <tr valign="top">
87
+ <th scope="row"><label for="wc_comment_edit_cancel_button"><?php _e('Cancel comment editing button text', 'wpdiscuz'); ?></label></th>
88
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_cancel_button']) ? $this->optionsSerialized->phrases['wc_comment_edit_cancel_button'] : __('Cancel', 'wpdisucz'); ?>" name="wc_comment_edit_cancel_button" id="wc_comment_edit_cancel_button" /></td>
 
 
 
 
 
 
89
  </tr>
90
  <tr valign="top">
91
+ <th scope="row"><label for="wc_read_more"><?php _e('Comment read more link text', 'wpdiscuz'); ?></label></th>
92
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_read_more']) ? $this->optionsSerialized->phrases['wc_read_more'] : __('Read more &raquo;', 'wpdisucz'); ?>" name="wc_read_more" id="wc_read_more" /></td>
 
 
 
 
 
 
93
  </tr>
94
  <tr valign="top">
95
+ <th scope="row"><label for="wc_anonymous"><?php _e('Anonymous commenter name', 'wpdiscuz'); ?></label></th>
96
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_anonymous']) ? $this->optionsSerialized->phrases['wc_anonymous'] : __('Anonymous', 'wpdisucz'); ?>" name="wc_anonymous" id="wc_anonymous" /></td>
 
 
 
 
 
 
97
  </tr>
98
  </tbody>
99
  </table>
options/phrases-layouts/phrases-datetime.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
@@ -8,155 +8,61 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e('Year', 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_year_text">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_year_text']['datetime'][0]; ?>" name="wc_year_text" id="wc_year_text" />
17
- </label>
18
- </td>
19
  </tr>
20
  <tr valign="top">
21
- <th scope="row">
22
- <?php _e('Years (Plural Form)', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_year_text_plural">
26
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_year_text_plural']['datetime'][0]) ? $this->optionsSerialized->phrases['wc_year_text_plural']['datetime'][0] : __('Years', 'wpdiscuz'); ?>" name="wc_year_text_plural" id="wc_year_text_plural" />
27
- </label>
28
- </td>
29
  </tr>
30
  <tr valign="top">
31
- <th scope="row">
32
- <?php _e('Month', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_month_text">
36
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_month_text']['datetime'][0]; ?>" name="wc_month_text" id="wc_month_text" />
37
- </label>
38
- </td>
39
  </tr>
40
  <tr valign="top">
41
- <th scope="row">
42
- <?php _e('Months (Plural Form)', 'wpdiscuz'); ?>
43
- </th>
44
- <td colspan="3">
45
- <label for="wc_month_text_plural">
46
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_month_text_plural']['datetime'][0]; ?>" name="wc_month_text_plural" id="wc_month_text_plural" />
47
- </label>
48
- </td>
49
  </tr>
50
  <tr valign="top">
51
- <th scope="row">
52
- <?php _e('Day', 'wpdiscuz'); ?>
53
- </th>
54
- <td colspan="3">
55
- <label for="wc_day_text">
56
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_day_text']['datetime'][0]; ?>" name="wc_day_text" id="wc_day_text" />
57
- </label>
58
- </td>
59
  </tr>
60
  <tr valign="top">
61
- <th scope="row">
62
- <?php _e('Days (Plural Form)', 'wpdiscuz'); ?>
63
- </th>
64
- <td colspan="3">
65
- <label for="wc_day_text_plural">
66
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_day_text_plural']['datetime'][0]; ?>" name="wc_day_text_plural" id="wc_day_text_plural" />
67
- </label>
68
- </td>
69
  </tr>
70
  <tr valign="top">
71
- <th scope="row">
72
- <?php _e('Hour', 'wpdiscuz'); ?>
73
- </th>
74
- <td colspan="3">
75
- <label for="wc_hour_text">
76
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hour_text']['datetime'][0]; ?>" name="wc_hour_text" id="wc_hour_text" />
77
- </label>
78
- </td>
79
  </tr>
80
  <tr valign="top">
81
- <th scope="row">
82
- <?php _e('Hours (Plural Form)', 'wpdiscuz'); ?>
83
- </th>
84
- <td colspan="3">
85
- <label for="wc_hour_text_plural">
86
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hour_text_plural']['datetime'][0]; ?>" name="wc_hour_text_plural" id="wc_hour_text_plural" />
87
- </label>
88
- </td>
89
  </tr>
90
  <tr valign="top">
91
- <th scope="row">
92
- <?php _e('Minute', 'wpdiscuz'); ?>
93
- </th>
94
- <td colspan="3">
95
- <label for="wc_minute_text">
96
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_minute_text']['datetime'][0]; ?>" name="wc_minute_text" id="wc_minute_text" />
97
- </label>
98
- </td>
99
  </tr>
100
  <tr valign="top">
101
- <th scope="row">
102
- <?php _e('Minutes (Plural Form)', 'wpdiscuz'); ?>
103
- </th>
104
- <td colspan="3">
105
- <label for="wc_minute_text_plural">
106
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_minute_text_plural']['datetime'][0]; ?>" name="wc_minute_text_plural" id="wc_minute_text_plural" />
107
- </label>
108
- </td>
109
  </tr>
110
  <tr valign="top">
111
- <th scope="row">
112
- <?php _e('Second', 'wpdiscuz'); ?>
113
- </th>
114
- <td colspan="3">
115
- <label for="wc_second_text">
116
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_second_text']['datetime'][0]; ?>" name="wc_second_text" id="wc_second_text" />
117
- </label>
118
- </td>
119
  </tr>
120
  <tr valign="top">
121
- <th scope="row">
122
- <?php _e('Seconds (Plural Form)', 'wpdiscuz'); ?>
123
- </th>
124
- <td colspan="3">
125
- <label for="wc_second_text_plural">
126
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_second_text_plural']['datetime'][0]; ?>" name="wc_second_text_plural" id="wc_second_text_plural" />
127
- </label>
128
- </td>
129
  </tr>
130
  <tr valign="top">
131
- <th scope="row">
132
- <?php _e('Commented "right now" text', 'wpdiscuz'); ?>
133
- </th>
134
- <td colspan="3">
135
- <label for="wc_right_now_text">
136
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_right_now_text']; ?>" name="wc_right_now_text" id="wc_right_now_text" />
137
- </label>
138
- </td>
139
  </tr>
140
  <tr valign="top">
141
- <th scope="row">
142
- <?php _e('Ago text', 'wpdiscuz'); ?>
143
- </th>
144
- <td colspan="3">
145
- <label for="wc_ago_text">
146
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_ago_text']; ?>" name="wc_ago_text" id="wc_ago_text" />
147
- </label>
148
- </td>
149
- </tr>
150
- <tr valign="top">
151
- <th scope="row">
152
- <?php _e('"Today" text', 'wpdiscuz'); ?>
153
- </th>
154
- <td colspan="3">
155
- <label for="wc_posted_today_text">
156
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_posted_today_text']) ? $this->optionsSerialized->phrases['wc_posted_today_text'] : __('Today', 'wpdiscuz'); ?>" name="wc_posted_today_text" id="wc_posted_today_text" placeholder="<?php _e('Today', 'wpdiscuz'); ?> 9:26 PM"/>
157
- </label>
158
- </td>
159
- </tr>
160
  </tbody>
161
  </table>
162
  </div>
1
+ <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_year_text"><?php _e('Year', 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_year_text']['datetime'][0]; ?>" name="wc_year_text" id="wc_year_text" /></td>
 
 
 
 
 
 
13
  </tr>
14
  <tr valign="top">
15
+ <th scope="row"><label for="wc_year_text_plural"><?php _e('Years (Plural Form)', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_year_text_plural']['datetime'][0]) ? $this->optionsSerialized->phrases['wc_year_text_plural']['datetime'][0] : __('Years', 'wpdiscuz'); ?>" name="wc_year_text_plural" id="wc_year_text_plural" /></td>
 
 
 
 
 
 
17
  </tr>
18
  <tr valign="top">
19
+ <th scope="row"><label for="wc_month_text"><?php _e('Month', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_month_text']['datetime'][0]; ?>" name="wc_month_text" id="wc_month_text" /></td>
 
 
 
 
 
 
21
  </tr>
22
  <tr valign="top">
23
+ <th scope="row"><label for="wc_month_text_plural"><?php _e('Months (Plural Form)', 'wpdiscuz'); ?></label></th>
24
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_month_text_plural']['datetime'][0]; ?>" name="wc_month_text_plural" id="wc_month_text_plural" /></td>
 
 
 
 
 
 
25
  </tr>
26
  <tr valign="top">
27
+ <th scope="row"><label for="wc_day_text"><?php _e('Day', 'wpdiscuz'); ?></label></th>
28
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_day_text']['datetime'][0]; ?>" name="wc_day_text" id="wc_day_text" /></td>
 
 
 
 
 
 
29
  </tr>
30
  <tr valign="top">
31
+ <th scope="row"><label for="wc_day_text_plural"><?php _e('Days (Plural Form)', 'wpdiscuz'); ?></label></th>
32
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_day_text_plural']['datetime'][0]; ?>" name="wc_day_text_plural" id="wc_day_text_plural" /></td>
 
 
 
 
 
 
33
  </tr>
34
  <tr valign="top">
35
+ <th scope="row"><label for="wc_hour_text"><?php _e('Hour', 'wpdiscuz'); ?></label></th>
36
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hour_text']['datetime'][0]; ?>" name="wc_hour_text" id="wc_hour_text" /></td>
 
 
 
 
 
 
37
  </tr>
38
  <tr valign="top">
39
+ <th scope="row"><label for="wc_hour_text_plural"><?php _e('Hours (Plural Form)', 'wpdiscuz'); ?></label></th>
40
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_hour_text_plural']['datetime'][0]; ?>" name="wc_hour_text_plural" id="wc_hour_text_plural" /></td>
 
 
 
 
 
 
41
  </tr>
42
  <tr valign="top">
43
+ <th scope="row"><label for="wc_minute_text"><?php _e('Minute', 'wpdiscuz'); ?></label></th>
44
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_minute_text']['datetime'][0]; ?>" name="wc_minute_text" id="wc_minute_text" /></td>
 
 
 
 
 
 
45
  </tr>
46
  <tr valign="top">
47
+ <th scope="row"><label for="wc_minute_text_plural"><?php _e('Minutes (Plural Form)', 'wpdiscuz'); ?></label></th>
48
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_minute_text_plural']['datetime'][0]; ?>" name="wc_minute_text_plural" id="wc_minute_text_plural" /></td>
 
 
 
 
 
 
49
  </tr>
50
  <tr valign="top">
51
+ <th scope="row"><label for="wc_second_text"><?php _e('Second', 'wpdiscuz'); ?></label></th>
52
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_second_text']['datetime'][0]; ?>" name="wc_second_text" id="wc_second_text" /></td>
 
 
 
 
 
 
53
  </tr>
54
  <tr valign="top">
55
+ <th scope="row"><label for="wc_second_text_plural"><?php _e('Seconds (Plural Form)', 'wpdiscuz'); ?></label></th>
56
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_second_text_plural']['datetime'][0]; ?>" name="wc_second_text_plural" id="wc_second_text_plural" /></td>
 
 
 
 
 
 
57
  </tr>
58
  <tr valign="top">
59
+ <th scope="row"><label for="wc_right_now_text"><?php _e('Commented "right now" text', 'wpdiscuz'); ?></label></th>
60
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_right_now_text']; ?>" name="wc_right_now_text" id="wc_right_now_text" /></td>
 
 
 
 
 
 
61
  </tr>
62
  <tr valign="top">
63
+ <th scope="row"><label for="wc_ago_text"><?php _e('Ago text', 'wpdiscuz'); ?></label></th>
64
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_ago_text']; ?>" name="wc_ago_text" id="wc_ago_text" /></td>
65
+ </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  </tbody>
67
  </table>
68
  </div>
options/phrases-layouts/phrases-email.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
@@ -8,104 +8,52 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e('Email Subject', 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_email_subject">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_email_subject']; ?>" name="wc_email_subject" id="wc_email_subject" />
17
- </label>
18
- </td>
19
  </tr>
20
  <tr valign="top">
21
- <th scope="row">
22
- <?php _e('Email Message', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_email_message">
26
- <textarea name="wc_email_message" id="wc_email_message"><?php echo $this->optionsSerialized->phrases['wc_email_message']; ?></textarea>
27
- </label>
28
- </td>
29
  </tr>
30
  <tr valign="top">
31
- <th scope="row">
32
- <?php _e('New Reply Subject', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_new_reply_email_subject">
36
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_reply_email_subject']) ? $this->optionsSerialized->phrases['wc_new_reply_email_subject'] : _e('New Reply', 'wpdiscuz'); ?>" name="wc_new_reply_email_subject" id="wc_new_reply_email_subject" />
37
- </label>
38
- </td>
39
  </tr>
40
  <tr valign="top">
41
- <th scope="row">
42
- <?php _e('New Reply Message', 'wpdiscuz'); ?>
43
- </th>
44
- <td colspan="3">
45
- <label for="wc_new_reply_email_message">
46
- <textarea name="wc_new_reply_email_message" id="wc_new_reply_email_message"><?php echo $this->optionsSerialized->phrases['wc_new_reply_email_message']; ?></textarea>
47
- </label>
48
- </td>
49
  </tr>
50
  <tr valign="top">
51
- <th scope="row">
52
- <?php _e('Unsubscribe', 'wpdiscuz'); ?>
53
- </th>
54
- <td colspan="3">
55
- <label for="wc_unsubscribe">
56
- <input type="text" name="wc_unsubscribe" id="wc_unsubscribe" class="wc_unsubscribe" value="<?php echo $this->optionsSerialized->phrases['wc_unsubscribe']; ?>" placeholder="<?php echo _e('Unsubscribe', 'wpdiscuz'); ?>"/>
57
- </label>
58
- </td>
59
  </tr>
60
  <tr valign="top">
61
- <th scope="row">
62
- <?php _e('Ignore Subscription', 'wpdiscuz'); ?>
63
- </th>
64
- <td colspan="3">
65
- <label for="wc_ignore_subscription">
66
- <input type="text" name="wc_ignore_subscription" id="wc_ignore_subscription" class="wc_ignore_subscription" value="<?php echo isset($this->optionsSerialized->phrases['wc_ignore_subscription']) ? $this->optionsSerialized->phrases['wc_ignore_subscription'] : __('Cancel subscription', 'wpdiscuz'); ?>" placeholder="<?php echo _e('Ignore Subscription', 'wpdiscuz'); ?>"/>
67
- </label>
68
- </td>
69
  </tr>
70
  <tr valign="top">
71
- <th scope="row">
72
- <?php _e('Confirm your subscription', 'wpdiscuz'); ?>
73
- </th>
74
- <td colspan="3">
75
- <label for="wc_confirm_email">
76
- <input type="text" name="wc_confirm_email" id="wc_confirm_email" class="wc_confirm_email" value="<?php echo isset($this->optionsSerialized->phrases['wc_confirm_email']) ? $this->optionsSerialized->phrases['wc_confirm_email'] : __('Confirm your subscription', 'wpdiscuz'); ?>" placeholder="<?php echo _e('Confirm your subscription', 'wpdiscuz'); ?>"/>
77
- </label>
78
- </td>
79
  </tr>
80
  <tr valign="top">
81
- <th scope="row">
82
- <?php _e('You\'ve successfully confirmed your subscription.', 'wpdiscuz'); ?>
83
- </th>
84
- <td colspan="3">
85
- <label for="wc_comfirm_success_message">
86
- <textarea name="wc_comfirm_success_message" id="wc_comfirm_success_message"><?php echo isset($this->optionsSerialized->phrases['wc_comfirm_success_message']) ? $this->optionsSerialized->phrases['wc_comfirm_success_message'] : __('You\'ve successfully confirmed your subscription.', 'wpdiscuz'); ?></textarea>
87
- </label>
88
- </td>
89
  </tr>
90
  <tr valign="top">
91
- <th scope="row">
92
- <?php _e('Subscribe Confirmation Email Subject', 'wpdiscuz'); ?>
93
- </th>
94
- <td colspan="3">
95
- <label for="wc_confirm_email_subject">
96
- <input type="text" name="wc_confirm_email_subject" id="wc_confirm_email_subject" class="wc_confirm_email_subject" value="<?php echo isset($this->optionsSerialized->phrases['wc_confirm_email_subject']) ? $this->optionsSerialized->phrases['wc_confirm_email_subject'] : __('Subscribe Confirmation', 'wpdiscuz'); ?>" placeholder="<?php echo _e('Subscribe Confirmation', 'wpdiscuz'); ?>"/>
97
- </label>
98
- </td>
99
  </tr>
100
  <tr valign="top">
101
- <th scope="row">
102
- <?php _e('Subscribe Confirmation Email Content', 'wpdiscuz'); ?>
103
- </th>
104
- <td colspan="3">
105
- <label for="wc_confirm_email_message">
106
- <textarea name="wc_confirm_email_message" id="wc_confirm_email_message"><?php echo isset($this->optionsSerialized->phrases['wc_confirm_email_message']) ? $this->optionsSerialized->phrases['wc_confirm_email_message'] : __('Hi, <br/> You just subscribed for new comments on our website. This means you will receive an email when new comments are posted according to subscription option you\'ve chosen. <br/> To activate, click confirm below. If you believe this is an error, ignore this message and we\'ll never bother you again.', 'wpdiscuz'); ?></textarea>
107
- </label>
108
- </td>
 
 
109
  </tr>
110
  </tbody>
111
  </table>
1
+ <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_email_subject"><?php _e('New comment email subject', 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_email_subject']; ?>" name="wc_email_subject" id="wc_email_subject" /></td>
 
 
 
 
 
 
13
  </tr>
14
  <tr valign="top">
15
+ <th scope="row"><label for="wc_email_message"><?php _e('New comment email message', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><textarea name="wc_email_message" id="wc_email_message"><?php echo $this->optionsSerialized->phrases['wc_email_message']; ?></textarea></td>
 
 
 
 
 
 
17
  </tr>
18
  <tr valign="top">
19
+ <th scope="row"><label for="wc_new_reply_email_subject"><?php _e('New reply subject', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_reply_email_subject']) ? $this->optionsSerialized->phrases['wc_new_reply_email_subject'] : _e('New Reply', 'wpdiscuz'); ?>" name="wc_new_reply_email_subject" id="wc_new_reply_email_subject" /></td>
 
 
 
 
 
 
21
  </tr>
22
  <tr valign="top">
23
+ <th scope="row"><label for="wc_new_reply_email_message"><?php _e('New reply message', 'wpdiscuz'); ?></label></th>
24
+ <td colspan="3"><textarea name="wc_new_reply_email_message" id="wc_new_reply_email_message"><?php echo $this->optionsSerialized->phrases['wc_new_reply_email_message']; ?></textarea></td>
 
 
 
 
 
 
25
  </tr>
26
  <tr valign="top">
27
+ <th scope="row"><label for="wc_unsubscribe"><?php _e('Unsubscribe', 'wpdiscuz'); ?></label></th>
28
+ <td colspan="3"><input type="text" name="wc_unsubscribe" id="wc_unsubscribe" value="<?php echo $this->optionsSerialized->phrases['wc_unsubscribe']; ?>" /></td>
 
 
 
 
 
 
29
  </tr>
30
  <tr valign="top">
31
+ <th scope="row"><label for="wc_ignore_subscription"><?php _e('Ignore subscription', 'wpdiscuz'); ?></label></th>
32
+ <td colspan="3"><input type="text" name="wc_ignore_subscription" id="wc_ignore_subscription" value="<?php echo isset($this->optionsSerialized->phrases['wc_ignore_subscription']) ? $this->optionsSerialized->phrases['wc_ignore_subscription'] : __('Cancel subscription', 'wpdiscuz'); ?>" /></td>
 
 
 
 
 
 
33
  </tr>
34
  <tr valign="top">
35
+ <th scope="row"><label for="wc_confirm_email"><?php _e('Confirm your subscription', 'wpdiscuz'); ?></label></th>
36
+ <td colspan="3"><input type="text" name="wc_confirm_email" id="wc_confirm_email" value="<?php echo isset($this->optionsSerialized->phrases['wc_confirm_email']) ? $this->optionsSerialized->phrases['wc_confirm_email'] : __('Confirm your subscription', 'wpdiscuz'); ?>" /></td>
 
 
 
 
 
 
37
  </tr>
38
  <tr valign="top">
39
+ <th scope="row"><label for="wc_comfirm_success_message"><?php _e('You\'ve successfully confirmed your subscription.', 'wpdiscuz'); ?></label></th>
40
+ <td colspan="3"><textarea name="wc_comfirm_success_message" id="wc_comfirm_success_message"><?php echo isset($this->optionsSerialized->phrases['wc_comfirm_success_message']) ? $this->optionsSerialized->phrases['wc_comfirm_success_message'] : __('You\'ve successfully confirmed your subscription.', 'wpdiscuz'); ?></textarea></td>
 
 
 
 
 
 
41
  </tr>
42
  <tr valign="top">
43
+ <th scope="row"><label for="wc_confirm_email_subject"><?php _e('Subscribe confirmation email subject', 'wpdiscuz'); ?></label></th>
44
+ <td colspan="3"><input type="text" name="wc_confirm_email_subject" id="wc_confirm_email_subject" value="<?php echo isset($this->optionsSerialized->phrases['wc_confirm_email_subject']) ? $this->optionsSerialized->phrases['wc_confirm_email_subject'] : __('Subscribe Confirmation', 'wpdiscuz'); ?>" /></td>
 
 
 
 
 
 
45
  </tr>
46
  <tr valign="top">
47
+ <th scope="row"><label for="wc_confirm_email_message"><?php _e('Subscribe confirmation email content', 'wpdiscuz'); ?></label></th>
48
+ <td colspan="3"><textarea name="wc_confirm_email_message" id="wc_confirm_email_message"><?php echo isset($this->optionsSerialized->phrases['wc_confirm_email_message']) ? $this->optionsSerialized->phrases['wc_confirm_email_message'] : __('Hi, <br/> You just subscribed for new comments on our website. This means you will receive an email when new comments are posted according to subscription option you\'ve chosen. <br/> To activate, click confirm below. If you believe this is an error, ignore this message and we\'ll never bother you again.', 'wpdiscuz'); ?></textarea></td>
49
+ </tr>
50
+ <tr valign="top">
51
+ <th scope="row"><label for="wc_comment_approved_email_subject"><?php _e('Comment approved subject', 'wpdiscuz'); ?></label></th>
52
+ <td colspan="3"><input type="text" name="wc_comment_approved_email_subject" id="wc_comment_approved_email_subject" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_approved_email_subject']) ? $this->optionsSerialized->phrases['wc_comment_approved_email_subject'] : __('Comment was approved', 'wpdiscuz'); ?>" /></td>
53
+ </tr>
54
+ <tr valign="top">
55
+ <th scope="row"><label for="wc_comment_approved_email_message"><?php _e('Comment approved message', 'wpdiscuz'); ?></label></th>
56
+ <td colspan="3"><textarea name="wc_comment_approved_email_message" id="wc_comment_approved_email_message"><?php echo isset($this->optionsSerialized->phrases['wc_comment_approved_email_message']) ? $this->optionsSerialized->phrases['wc_comment_approved_email_message'] : __('Hi, <br/> Your comment was approved', 'wpdiscuz'); ?></textarea></td>
57
  </tr>
58
  </tbody>
59
  </table>
options/phrases-layouts/phrases-form.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
@@ -8,154 +8,68 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e('Comment Field Start', 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_comment_start_text">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_comment_start_text']; ?>" name="wc_comment_start_text" id="wc_comment_start_text" />
17
- </label>
18
- </td>
19
- </tr>
20
- <tr valign="top">
21
- <th scope="row">
22
- <?php _e('Comment Field Join', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_comment_join_text">
26
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_comment_join_text']; ?>" name="wc_comment_join_text" id="wc_comment_join_text" />
27
- </label>
28
- </td>
29
- </tr>
30
- <tr valign="top">
31
- <th scope="row">
32
- <?php _e('Email Field', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_email_text">
36
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_email_text']; ?>" name="wc_email_text" id="wc_email_text" />
37
- </label>
38
- </td>
39
- </tr>
40
- <tr valign="top">
41
- <th scope="row">
42
- <?php _e('Notify of', 'wpdiscuz'); ?>
43
- </th>
44
- <td colspan="3">
45
- <label for="wc_notify_of">
46
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_of']) ? $this->optionsSerialized->phrases['wc_notify_of'] : __('Notify of', 'wpdiscuz'); ?>" name="wc_notify_of" id="wc_notify_of" />
47
- </label>
48
- </td>
49
- </tr>
50
- <tr valign="top">
51
- <th scope="row">
52
- <?php _e('Notify on new comments', 'wpdiscuz'); ?>
53
- </th>
54
- <td colspan="3">
55
- <label for="wc_notify_on_new_comment">
56
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_new_comment']) ? $this->optionsSerialized->phrases['wc_notify_on_new_comment'] : __('new follow-up comments', 'wpdiscuz'); ?>" name="wc_notify_on_new_comment" id="wc_notify_on_new_comment" />
57
- </label>
58
- </td>
59
- </tr>
60
- <tr valign="top">
61
- <th scope="row">
62
- <?php _e('Notify on all new replies', 'wpdiscuz'); ?>
63
- </th>
64
- <td colspan="3">
65
- <label for="wc_notify_on_all_new_reply">
66
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_all_new_reply']) ? $this->optionsSerialized->phrases['wc_notify_on_all_new_reply'] : __('new replies to all my comments', 'wpdiscuz'); ?>" name="wc_notify_on_all_new_reply" id="wc_notify_on_all_new_reply" />
67
- </label>
68
- </td>
69
- </tr>
70
- <tr valign="top">
71
- <th scope="row">
72
- <?php _e('Notify on new replies (checkbox)', 'wpdiscuz'); ?>
73
- </th>
74
- <td colspan="3">
75
- <label for="wc_notify_on_new_reply">
76
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_new_reply']) ? $this->optionsSerialized->phrases['wc_notify_on_new_reply'] : __('Notify of new replies to this comment', 'wpdiscuz'); ?>" name="wc_notify_on_new_reply" id="wc_notify_on_new_reply" />
77
- </label>
78
- </td>
79
- </tr>
80
- <tr valign="top">
81
- <th scope="row">
82
- <?php _e('Sort by', 'wpdiscuz'); ?>
83
- </th>
84
- <td colspan="3">
85
- <label for="wc_sort_by">
86
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_sort_by']) ? $this->optionsSerialized->phrases['wc_sort_by'] : __('Sort by', 'wpdiscuz'); ?>" name="wc_sort_by" id="wc_sort_by" />
87
- </label>
88
- </td>
89
- </tr>
90
- <tr valign="top">
91
- <th scope="row">
92
- <?php _e('newest', 'wpdiscuz'); ?>
93
- </th>
94
- <td colspan="3">
95
- <label for="wc_newest">
96
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_newest']) ? $this->optionsSerialized->phrases['wc_newest'] : __('newest', 'wpdiscuz'); ?>" name="wc_newest" id="wc_newest" />
97
- </label>
98
- </td>
99
- </tr>
100
- <tr valign="top">
101
- <th scope="row">
102
- <?php _e('oldest', 'wpdiscuz'); ?>
103
- </th>
104
- <td colspan="3">
105
- <label for="wc_oldest">
106
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_oldest']) ? $this->optionsSerialized->phrases['wc_oldest'] : __('oldest', 'wpdiscuz'); ?>" name="wc_oldest" id="wc_oldest" />
107
- </label>
108
- </td>
109
- </tr>
110
- <tr valign="top">
111
- <th scope="row">
112
- <?php _e('most voted', 'wpdiscuz'); ?>
113
- </th>
114
- <td colspan="3">
115
- <label for="wc_most_voted">
116
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_most_voted']) ? $this->optionsSerialized->phrases['wc_most_voted'] : __('most voted', 'wpdiscuz'); ?>" name="wc_most_voted" id="wc_most_voted" />
117
- </label>
118
- </td>
119
- </tr>
120
- <tr valign="top">
121
- <th scope="row">
122
- <?php _e('Subscribed on this comment replies', 'wpdiscuz'); ?>
123
- </th>
124
- <td colspan="3">
125
- <label for="wc_subscribed_on_comment">
126
- <textarea name="wc_subscribed_on_comment" id="wc_subscribed_on_comment"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_comment']; ?></textarea>
127
- </label>
128
- </td>
129
- </tr>
130
- <tr valign="top">
131
- <th scope="row">
132
- <?php _e('Subscribed on all your comments replies', 'wpdiscuz'); ?>
133
- </th>
134
- <td colspan="3">
135
- <label for="wc_subscribed_on_all_comment">
136
- <textarea name="wc_subscribed_on_all_comment" id="wc_subscribed_on_all_comment"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_all_comment']; ?></textarea>
137
- </label>
138
- </td>
139
- </tr>
140
- <tr valign="top">
141
- <th scope="row">
142
- <?php _e('Subscribed on this post', 'wpdiscuz'); ?>
143
- </th>
144
- <td colspan="3">
145
- <label for="wc_subscribed_on_post">
146
- <textarea name="wc_subscribed_on_post" id="wc_subscribed_on_post"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_post']; ?></textarea>
147
- </label>
148
- </td>
149
- </tr>
150
- <tr valign="top">
151
- <th scope="row">
152
- <?php _e('Connect with', 'wpdiscuz'); ?>
153
- </th>
154
- <td colspan="3">
155
- <label for="wc_connect_with">
156
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_connect_with']) ? $this->optionsSerialized->phrases['wc_connect_with'] : __('Connect with', 'wpdiscuz'); ?>" name="wc_connect_with" id="wc_connect_with" />
157
- </label>
158
- </td>
159
  </tr>
160
  </tbody>
161
  </table>
1
+ <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_comment_start_text"><?php _e('Comment Field Start', 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_comment_start_text']; ?>" name="wc_comment_start_text" id="wc_comment_start_text" /></td>
13
+ </tr>
14
+ <tr valign="top">
15
+ <th scope="row"><label for="wc_comment_join_text"><?php _e('Comment Field Join', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_comment_join_text']; ?>" name="wc_comment_join_text" id="wc_comment_join_text" /></td>
17
+ </tr>
18
+ <tr valign="top">
19
+ <th scope="row"><label for="wc_email_text"><?php _e('Email Field', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_email_text']; ?>" name="wc_email_text" id="wc_email_text" /></td>
21
+ </tr>
22
+ <tr valign="top">
23
+ <th scope="row"><label for="wc_notify_of"><?php _e('Notify of', 'wpdiscuz'); ?></label></th>
24
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_of']) ? $this->optionsSerialized->phrases['wc_notify_of'] : __('Notify of', 'wpdiscuz'); ?>" name="wc_notify_of" id="wc_notify_of" /></td>
25
+ </tr>
26
+ <tr valign="top">
27
+ <th scope="row"><label for="wc_notify_on_new_comment"><?php _e('Notify on new comments', 'wpdiscuz'); ?></label></th>
28
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_new_comment']) ? $this->optionsSerialized->phrases['wc_notify_on_new_comment'] : __('new follow-up comments', 'wpdiscuz'); ?>" name="wc_notify_on_new_comment" id="wc_notify_on_new_comment" /></td>
29
+ </tr>
30
+ <tr valign="top">
31
+ <th scope="row"><label for="wc_notify_on_all_new_reply"><?php _e('Notify on all new replies', 'wpdiscuz'); ?></label></th>
32
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_all_new_reply']) ? $this->optionsSerialized->phrases['wc_notify_on_all_new_reply'] : __('new replies to all my comments', 'wpdiscuz'); ?>" name="wc_notify_on_all_new_reply" id="wc_notify_on_all_new_reply" /></td>
33
+ </tr>
34
+ <tr valign="top">
35
+ <th scope="row"><label for="wc_notify_on_new_reply"><?php _e('Notify on new replies (checkbox)', 'wpdiscuz'); ?></label></th>
36
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_notify_on_new_reply']) ? $this->optionsSerialized->phrases['wc_notify_on_new_reply'] : __('Notify of new replies to this comment', 'wpdiscuz'); ?>" name="wc_notify_on_new_reply" id="wc_notify_on_new_reply" /></td>
37
+ </tr>
38
+ <tr valign="top">
39
+ <th scope="row"><label for="wc_sort_by"><?php _e('Sort by', 'wpdiscuz'); ?></label></th>
40
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_sort_by']) ? $this->optionsSerialized->phrases['wc_sort_by'] : __('Sort by', 'wpdiscuz'); ?>" name="wc_sort_by" id="wc_sort_by" /></td>
41
+ </tr>
42
+ <tr valign="top">
43
+ <th scope="row"><label for="wc_newest"><?php _e('newest', 'wpdiscuz'); ?></label></th>
44
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_newest']) ? $this->optionsSerialized->phrases['wc_newest'] : __('newest', 'wpdiscuz'); ?>" name="wc_newest" id="wc_newest" /></td>
45
+ </tr>
46
+ <tr valign="top">
47
+ <th scope="row"><label for="wc_oldest"><?php _e('oldest', 'wpdiscuz'); ?></label></th>
48
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_oldest']) ? $this->optionsSerialized->phrases['wc_oldest'] : __('oldest', 'wpdiscuz'); ?>" name="wc_oldest" id="wc_oldest" /></td>
49
+ </tr>
50
+ <tr valign="top">
51
+ <th scope="row"><label for="wc_most_voted"><?php _e('most voted', 'wpdiscuz'); ?></label></th>
52
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_most_voted']) ? $this->optionsSerialized->phrases['wc_most_voted'] : __('most voted', 'wpdiscuz'); ?>" name="wc_most_voted" id="wc_most_voted" /></td>
53
+ </tr>
54
+ <tr valign="top">
55
+ <th scope="row"><label for="wc_subscribed_on_comment"><?php _e('Subscribed on this comment replies', 'wpdiscuz'); ?></label></th>
56
+ <td colspan="3"><textarea name="wc_subscribed_on_comment" id="wc_subscribed_on_comment"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_comment']; ?></textarea></td>
57
+ </tr>
58
+ <tr valign="top">
59
+ <th scope="row"><label for="wc_subscribed_on_all_comment"><?php _e('Subscribed on all your comments replies', 'wpdiscuz'); ?></label></th>
60
+ <td colspan="3"><textarea name="wc_subscribed_on_all_comment" id="wc_subscribed_on_all_comment"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_all_comment']; ?></textarea></td>
61
+ </tr>
62
+ <tr valign="top">
63
+ <th scope="row"><label for="wc_subscribed_on_post"><?php _e('Subscribed on this post', 'wpdiscuz'); ?></label></th>
64
+ <td colspan="3"><textarea name="wc_subscribed_on_post" id="wc_subscribed_on_post"><?php echo $this->optionsSerialized->phrases['wc_subscribed_on_post']; ?></textarea></td>
65
+ </tr>
66
+ <tr valign="top">
67
+ <th scope="row"><label for="wc_connect_with"><?php _e('Connect with', 'wpdiscuz'); ?></label></th>
68
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_connect_with']) ? $this->optionsSerialized->phrases['wc_connect_with'] : __('Connect with', 'wpdiscuz'); ?>" name="wc_connect_with" id="wc_connect_with" /></td>
69
+ </tr>
70
+ <tr valign="top">
71
+ <th scope="row"><label for="wc_form_subscription_submit"><?php _e('Form subscription button', 'wpdiscuz'); ?></label></th>
72
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_form_subscription_submit']) ? $this->optionsSerialized->phrases['wc_form_subscription_submit'] : __('&rsaquo;', 'wpdiscuz'); ?>" name="wc_form_subscription_submit" id="wc_form_subscription_submit" /></td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  </tr>
74
  </tbody>
75
  </table>
options/phrases-layouts/phrases-general.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
@@ -8,114 +8,48 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e('Be the first to comment', 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_be_the_first_text">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_be_the_first_text']; ?>" name="wc_be_the_first_text" id="wc_be_the_first_text" />
17
- </label>
18
- </td>
19
  </tr>
20
  <tr valign="top">
21
- <th scope="row">
22
- <?php _e('Comment', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_header_text">
26
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_text']; ?>" name="wc_header_text" id="wc_header_text" />
27
- </label>
28
- </td>
29
  </tr>
30
  <tr valign="top">
31
- <th scope="row">
32
- <?php _e('Comment (Plural Form)', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_header_text_plural">
36
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_text_plural']; ?>" name="wc_header_text_plural" id="wc_header_text_plural" />
37
- </label>
38
- </td>
39
  </tr>
40
  <tr valign="top">
41
- <th scope="row">
42
- <?php _e('On', 'wpdiscuz'); ?>
43
- </th>
44
- <td colspan="3">
45
- <label for="wc_header_on_text">
46
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_on_text']; ?>" name="wc_header_on_text" id="wc_header_on_text" />
47
- </label>
48
- </td>
49
  </tr>
50
  <tr valign="top">
51
- <th scope="row">
52
- <?php _e('Load More Button', 'wpdiscuz'); ?>
53
- </th>
54
- <td colspan="3">
55
- <label for="wc_load_more_submit_text">
56
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_load_more_submit_text']; ?>" name="wc_load_more_submit_text" id="wc_load_more_submit_text" />
57
- </label>
58
- </td>
59
  </tr>
60
  <tr valign="top">
61
- <th scope="row">
62
- <?php _e('Load Rest of Comments', 'wpdiscuz'); ?>
63
- </th>
64
- <td colspan="3">
65
- <label for="wc_load_rest_comments_submit_text">
66
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_load_rest_comments_submit_text']) ? $this->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : 'Load Rest of Comments'; ?>" name="wc_load_rest_comments_submit_text" id="wc_load_rest_comments_submit_text" />
67
- </label>
68
- </td>
69
  </tr>
70
  <tr valign="top">
71
- <th scope="row">
72
- <?php _e('Button text if has new comment', 'wpdiscuz'); ?>
73
- </th>
74
- <td colspan="3">
75
- <label for="wc_new_comment_button_text">
76
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comment_button_text']) ? $this->optionsSerialized->phrases['wc_new_comment_button_text'] : __('New Comment', 'wpdisucz'); ?>" name="wc_new_comment_button_text" id="wc_new_comment_button_text" placeholder="<?php _e("New Comment", "wpdiscuz"); ?>"/>
77
- </label>
78
- </td>
79
  </tr>
80
  <tr valign="top">
81
- <th scope="row">
82
- <?php _e('Button text if has new comments (Plural Form)', 'wpdiscuz'); ?>
83
- </th>
84
- <td colspan="3">
85
- <label for="wc_new_comments_button_text">
86
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comments_button_text']) ? $this->optionsSerialized->phrases['wc_new_comments_button_text'] : __('New Comments', 'wpdisucz'); ?>" name="wc_new_comments_button_text" id="wc_new_comments_button_text" placeholder="<?php _e("New Comments", "wpdiscuz"); ?>"/>
87
- </label>
88
- </td>
89
  </tr>
90
  <tr valign="top">
91
- <th scope="row">
92
- <?php _e('Button text if has new reply', 'wpdiscuz'); ?>
93
- </th>
94
- <td colspan="3">
95
- <label for="wc_new_reply_button_text">
96
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_reply_button_text']) ? $this->optionsSerialized->phrases['wc_new_reply_button_text'] : __('New Reply', 'wpdisucz'); ?>" name="wc_new_reply_button_text" id="wc_new_reply_button_text" placeholder="<?php _e("New Reply", "wpdiscuz"); ?>"/>
97
- </label>
98
- </td>
99
  </tr>
100
  <tr valign="top">
101
- <th scope="row">
102
- <?php _e('Button text if has new replies (Plural Form)', 'wpdiscuz'); ?>
103
- </th>
104
- <td colspan="3">
105
- <label for="wc_new_replies_button_text">
106
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_replies_button_text']) ? $this->optionsSerialized->phrases['wc_new_replies_button_text'] : __('New Replies', 'wpdisucz'); ?>" name="wc_new_replies_button_text" id="wc_new_replies_button_text" placeholder="<?php _e("New Replies", "wpdiscuz"); ?>"/>
107
- </label>
108
- </td>
109
  </tr>
110
  <tr valign="top">
111
- <th scope="row">
112
- <?php _e('Text on load more button if has new comment(s)', 'wpdiscuz'); ?>
113
- </th>
114
- <td colspan="3">
115
- <label for="wc_new_comments_text">
116
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comments_text']) ? $this->optionsSerialized->phrases['wc_new_comments_text'] : __('New', 'wpdisucz'); ?>" name="wc_new_comments_text" id="wc_new_comments_text" />
117
- </label>
118
- </td>
119
  </tr>
120
  </tbody>
121
  </table>
1
+ <?php
2
  if (!defined('ABSPATH')) {
3
  exit();
4
  }
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_be_the_first_text"><?php _e('Be the first to comment', 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_be_the_first_text']; ?>" name="wc_be_the_first_text" id="wc_be_the_first_text" /></td>
 
 
 
 
 
 
13
  </tr>
14
  <tr valign="top">
15
+ <th scope="row"><label for="wc_header_text"><?php _e('Comment', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_text']; ?>" name="wc_header_text" id="wc_header_text" /></td>
 
 
 
 
 
 
17
  </tr>
18
  <tr valign="top">
19
+ <th scope="row"><label for="wc_header_text_plural"><?php _e('Comment (Plural Form)', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_text_plural']; ?>" name="wc_header_text_plural" id="wc_header_text_plural" /></td>
 
 
 
 
 
 
21
  </tr>
22
  <tr valign="top">
23
+ <th scope="row"><label for="wc_header_on_text"><?php _e('On', 'wpdiscuz'); ?></label></th>
24
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_header_on_text']; ?>" name="wc_header_on_text" id="wc_header_on_text" /></td>
 
 
 
 
 
 
25
  </tr>
26
  <tr valign="top">
27
+ <th scope="row"><label for="wc_load_more_submit_text"><?php _e('Load More Button', 'wpdiscuz'); ?></label></th>
28
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_load_more_submit_text']; ?>" name="wc_load_more_submit_text" id="wc_load_more_submit_text" /></td>
 
 
 
 
 
 
29
  </tr>
30
  <tr valign="top">
31
+ <th scope="row"><label for="wc_load_rest_comments_submit_text"><?php _e('Load Rest of Comments', 'wpdiscuz'); ?></label></th>
32
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_load_rest_comments_submit_text']) ? $this->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : 'Load Rest of Comments'; ?>" name="wc_load_rest_comments_submit_text" id="wc_load_rest_comments_submit_text" /></td>
 
 
 
 
 
 
33
  </tr>
34
  <tr valign="top">
35
+ <th scope="row"><label for="wc_new_comment_button_text"><?php _e('Button text if has new comment', 'wpdiscuz'); ?></label></th>
36
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comment_button_text']) ? $this->optionsSerialized->phrases['wc_new_comment_button_text'] : __('New Comment', 'wpdisucz'); ?>" name="wc_new_comment_button_text" id="wc_new_comment_button_text" /></td>
 
 
 
 
 
 
37
  </tr>
38
  <tr valign="top">
39
+ <th scope="row"><label for="wc_new_comments_button_text"><?php _e('Button text if has new comments (Plural Form)', 'wpdiscuz'); ?></label></th>
40
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comments_button_text']) ? $this->optionsSerialized->phrases['wc_new_comments_button_text'] : __('New Comments', 'wpdisucz'); ?>" name="wc_new_comments_button_text" id="wc_new_comments_button_text" /></td>
 
 
 
 
 
 
41
  </tr>
42
  <tr valign="top">
43
+ <th scope="row"><label for="wc_new_reply_button_text"><?php _e('Button text if has new reply', 'wpdiscuz'); ?></label></th>
44
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_reply_button_text']) ? $this->optionsSerialized->phrases['wc_new_reply_button_text'] : __('New Reply', 'wpdisucz'); ?>" name="wc_new_reply_button_text" id="wc_new_reply_button_text" /></td>
 
 
 
 
 
 
45
  </tr>
46
  <tr valign="top">
47
+ <th scope="row"><label for="wc_new_replies_button_text"><?php _e('Button text if has new replies (Plural Form)', 'wpdiscuz'); ?></label></th>
48
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_replies_button_text']) ? $this->optionsSerialized->phrases['wc_new_replies_button_text'] : __('New Replies', 'wpdisucz'); ?>" name="wc_new_replies_button_text" id="wc_new_replies_button_text" /></td>
 
 
 
 
 
 
49
  </tr>
50
  <tr valign="top">
51
+ <th scope="row"><label for="wc_new_comments_text"><?php _e('Text on load more button if has new comment(s)', 'wpdiscuz'); ?></label></th>
52
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_new_comments_text']) ? $this->optionsSerialized->phrases['wc_new_comments_text'] : __('New', 'wpdisucz'); ?>" name="wc_new_comments_text" id="wc_new_comments_text" /></td>
 
 
 
 
 
 
53
  </tr>
54
  </tbody>
55
  </table>
options/phrases-layouts/phrases-notification.php CHANGED
@@ -8,277 +8,115 @@ if (!defined('ABSPATH')) {
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
- <th scope="row">
12
- <?php _e("You\'re subscribed to", 'wpdiscuz'); ?>
13
- </th>
14
- <td colspan="3">
15
- <label for="wc_subscribed_to">
16
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_subscribed_to']; ?>" name="wc_subscribed_to" id="wc_subscribed_to" />
17
- </label>
18
- </td>
19
  </tr>
20
  <tr valign="top">
21
- <th scope="row">
22
- <?php _e('You\'ve successfully subscribed.', 'wpdiscuz'); ?>
23
- </th>
24
- <td colspan="3">
25
- <label for="wc_subscribe_message">
26
- <textarea name="wc_subscribe_message" id="wc_subscribe_message"><?php echo $this->optionsSerialized->phrases['wc_subscribe_message']; ?></textarea>
27
- </label>
28
- </td>
29
  </tr>
30
  <tr valign="top">
31
- <th scope="row">
32
- <?php _e('You\'ve successfully unsubscribed.', 'wpdiscuz'); ?>
33
- </th>
34
- <td colspan="3">
35
- <label for="wc_unsubscribe_message">
36
- <textarea name="wc_unsubscribe_message" id="wc_unsubscribe_message"><?php echo $this->optionsSerialized->phrases['wc_unsubscribe_message']; ?></textarea>
37
- </label>
38
- </td>
39
  </tr>
40
  <?php if (class_exists('Prompt_Comment_Form_Handling') && $this->optionsSerialized->usePostmaticForCommentNotification) { ?>
41
  <tr valign="top">
42
- <th scope="row">
43
- <?php _e("Postmatic subscription label", 'wpdiscuz'); ?>
44
- </th>
45
- <td colspan="3">
46
- <label for="wc_postmatic_subscription_label">
47
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_postmatic_subscription_label']; ?>" name="wc_postmatic_subscription_label" id="wc_postmatic_subscription_label" />
48
- </label>
49
- </td>
50
  </tr>
51
  <?php } ?>
52
  <tr valign="top">
53
- <th scope="row">
54
- <?php _e('Error message for empty field', 'wpdiscuz'); ?>
55
- </th>
56
- <td colspan="3">
57
- <label for="wc_error_empty_text">
58
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_empty_text']; ?>" name="wc_error_empty_text" id="wc_error_empty_text" />
59
- </label>
60
- </td>
61
  </tr>
62
  <tr valign="top">
63
- <th scope="row">
64
- <?php _e('Error message for invalid email field', 'wpdiscuz'); ?>
65
- </th>
66
- <td colspan="3">
67
- <label for="wc_error_email_text">
68
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_email_text']; ?>" name="wc_error_email_text" id="wc_error_email_text" />
69
- </label>
70
- </td>
71
  </tr>
72
  <tr valign="top">
73
- <th scope="row">
74
- <?php _e('Error message for invalid website url field', 'wpdiscuz'); ?>
75
- </th>
76
- <td colspan="3">
77
- <label for="wc_error_url_text">
78
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_url_text']; ?>" name="wc_error_url_text" id="wc_error_url_text" />
79
- </label>
80
- </td>
81
  </tr>
82
  <tr valign="top">
83
- <th scope="row">
84
- <?php _e('You must be', 'wpdiscuz'); ?>
85
- </th>
86
- <td colspan="3">
87
- <label for="wc_you_must_be_text">
88
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_you_must_be_text']; ?>" name="wc_you_must_be_text" id="wc_you_must_be_text" />
89
- </label>
90
- </td>
91
  </tr>
92
  <tr valign="top">
93
- <th scope="row">
94
- <?php _e('Logged in as', 'wpdiscuz'); ?>
95
- </th>
96
- <td colspan="3">
97
- <label for="wc_logged_in_as">
98
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_logged_in_as']; ?>" name="wc_logged_in_as" id="wc_logged_in_as" />
99
- </label>
100
- </td>
101
  </tr>
102
  <tr valign="top">
103
- <th scope="row">
104
- <?php _e('Log out', 'wpdiscuz'); ?>
105
- </th>
106
- <td colspan="3">
107
- <label for="wc_log_out">
108
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_log_out']; ?>" name="wc_log_out" id="wc_log_out" />
109
- </label>
110
- </td>
111
  </tr>
112
  <tr valign="top">
113
- <th scope="row">
114
- <?php _e('Logged In', 'wpdiscuz'); ?>
115
- </th>
116
- <td colspan="3">
117
- <label for="wc_logged_in_text">
118
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_logged_in_text']; ?>" name="wc_logged_in_text" id="wc_logged_in_text" />
119
- </label>
120
- </td>
121
  </tr>
122
  <tr valign="top">
123
- <th scope="row">
124
- <?php _e('To post a comment', 'wpdiscuz'); ?>
125
- </th>
126
- <td colspan="3">
127
- <label for="wc_to_post_comment_text">
128
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_to_post_comment_text']; ?>" name="wc_to_post_comment_text" id="wc_to_post_comment_text" />
129
- </label>
130
- </td>
131
  </tr>
132
  <tr valign="top">
133
- <th scope="row">
134
- <?php _e('Vote Counted', 'wpdiscuz'); ?>
135
- </th>
136
- <td colspan="3">
137
- <label for="wc_vote_counted">
138
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_counted']; ?>" name="wc_vote_counted" id="wc_vote_counted" />
139
- </label>
140
- </td>
141
  </tr>
142
  <tr valign="top">
143
- <th scope="row">
144
- <?php _e('You can vote only 1 time', 'wpdiscuz'); ?>
145
- </th>
146
- <td colspan="3">
147
- <label for="wc_vote_only_one_time">
148
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_only_one_time']; ?>" name="wc_vote_only_one_time" id="wc_vote_only_one_time" />
149
- </label>
150
- </td>
151
  </tr>
152
  <tr valign="top">
153
- <th scope="row">
154
- <?php _e('Voting Error', 'wpdiscuz'); ?>
155
- </th>
156
- <td colspan="3">
157
- <label for="wc_voting_error">
158
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_voting_error']; ?>" name="wc_voting_error" id="wc_voting_error" />
159
- </label>
160
- </td>
161
  </tr>
162
  <tr valign="top">
163
- <th scope="row">
164
- <?php _e('Login To Vote', 'wpdiscuz'); ?>
165
- </th>
166
- <td colspan="3">
167
- <label for="wc_login_to_vote">
168
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_login_to_vote']; ?>" name="wc_login_to_vote" id="wc_login_to_vote" />
169
- </label>
170
- </td>
171
  </tr>
172
  <tr valign="top">
173
- <th scope="row">
174
- <?php _e('You Cannot Vote On Your Comment', 'wpdiscuz'); ?>
175
- </th>
176
- <td colspan="3">
177
- <label for="wc_self_vote">
178
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_self_vote']; ?>" name="wc_self_vote" id="wc_self_vote" />
179
- </label>
180
- </td>
181
  </tr>
182
  <tr valign="top">
183
- <th scope="row">
184
- <?php _e('You are not allowed to vote for this comment (Voting from same IP)', 'wpdiscuz'); ?>
185
- </th>
186
- <td colspan="3">
187
- <label for="wc_deny_voting_from_same_ip">
188
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_deny_voting_from_same_ip']) ? $this->optionsSerialized->phrases['wc_deny_voting_from_same_ip'] : 'You are not allowed to vote for this comment'; ?>" name="wc_deny_voting_from_same_ip" id="wc_deny_voting_from_same_ip" />
189
- </label>
190
- </td>
191
  </tr>
192
  <tr valign="top">
193
- <th scope="row">
194
- <?php _e('Invalid Captcha Code', 'wpdiscuz'); ?>
195
- </th>
196
- <td colspan="3">
197
- <label for="wc_invalid_captcha">
198
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_invalid_captcha']; ?>" name="wc_invalid_captcha" id="wc_invalid_captcha" />
199
- </label>
200
- </td>
201
  </tr>
202
  <tr valign="top">
203
- <th scope="row">
204
- <?php _e('Some of field value is invalid', 'wpdiscuz'); ?>
205
- </th>
206
- <td colspan="3">
207
- <label for="wc_invalid_field">
208
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_invalid_field']; ?>" name="wc_invalid_field" id="wc_invalid_field" />
209
- </label>
210
- </td>
211
  </tr>
212
  <tr valign="top">
213
- <th scope="row">
214
- <?php _e('Comment waiting moderation', 'wpdiscuz'); ?>
215
- </th>
216
- <td colspan="3">
217
- <label for="wc_held_for_moderate">
218
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_held_for_moderate']; ?>" name="wc_held_for_moderate" id="wc_held_for_moderate" />
219
- </label>
220
- </td>
221
  </tr>
222
  <tr valign="top">
223
- <th scope="row">
224
- <?php _e('Message if input text length is too short', 'wpdiscuz'); ?>
225
- </th>
226
- <td colspan="3">
227
- <label for="wc_msg_input_min_length">
228
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_msg_input_min_length']; ?>" name="wc_msg_input_min_length" id="wc_msg_input_min_length" />
229
- </label>
230
- </td>
231
  </tr>
232
  <tr valign="top">
233
- <th scope="row">
234
- <?php _e('Message if input text length is too long', 'wpdiscuz'); ?>
235
- </th>
236
- <td colspan="3">
237
- <label for="wc_msg_input_max_length">
238
- <input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_msg_input_max_length']; ?>" name="wc_msg_input_max_length" id="wc_msg_input_max_length" />
239
- </label>
240
- </td>
241
  </tr>
242
-
243
  <tr valign="top">
244
- <th scope="row">
245
- <?php _e('Message if comment was not updated', 'wpdiscuz'); ?>
246
- </th>
247
- <td colspan="3">
248
- <label for="wc_comment_not_updated">
249
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_not_updated']) ? $this->optionsSerialized->phrases['wc_comment_not_updated'] : __('Sorry, the comment was not updated', 'wpdisucz'); ?>" name="wc_comment_not_updated" id="wc_comment_not_updated" />
250
- </label>
251
- </td>
252
  </tr>
253
  <tr valign="top">
254
- <th scope="row">
255
- <?php _e('Message if comment no longer possible to edit', 'wpdiscuz'); ?>
256
- </th>
257
- <td colspan="3">
258
- <label for="wc_comment_edit_not_possible">
259
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_not_possible']) ? $this->optionsSerialized->phrases['wc_comment_edit_not_possible'] : __('Sorry, this comment no longer possible to edit', 'wpdisucz'); ?>" name="wc_comment_edit_not_possible" id="wc_comment_edit_not_possible" />
260
- </label>
261
- </td>
262
  </tr>
263
  <tr valign="top">
264
- <th scope="row">
265
- <?php _e('Message if comment text not changed', 'wpdiscuz'); ?>
266
- </th>
267
- <td colspan="3">
268
- <label for="wc_comment_not_edited">
269
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_not_edited']) ? $this->optionsSerialized->phrases['wc_comment_not_edited'] : __('TYou\'ve not made any changes', 'wpdisucz'); ?>" name="wc_comment_not_edited" id="wc_comment_not_edited" />
270
- </label>
271
- </td>
272
  </tr>
273
  <tr valign="top">
274
- <th scope="row">
275
- <?php _e('Please fill out required fields', 'wpdiscuz'); ?>
276
- </th>
277
- <td colspan="3">
278
- <label for="wc_msg_required_fields">
279
- <input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_msg_required_fields']) ? $this->optionsSerialized->phrases['wc_msg_required_fields'] : __('Please fill out required fields', 'wpdisucz'); ?>" name="wc_msg_required_fields" id="wc_msg_required_fields" />
280
- </label>
281
- </td>
282
  </tr>
283
  </tbody>
284
  </table>
8
  <table class="wp-list-table widefat plugins" style="margin-top:10px; border:none;">
9
  <tbody>
10
  <tr valign="top">
11
+ <th scope="row"><label for="wc_subscribed_to"><?php _e("You\'re subscribed to", 'wpdiscuz'); ?></label></th>
12
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_subscribed_to']; ?>" name="wc_subscribed_to" id="wc_subscribed_to" /></td>
 
 
 
 
 
 
13
  </tr>
14
  <tr valign="top">
15
+ <th scope="row"><label for="wc_subscribe_message"><?php _e('You\'ve successfully subscribed.', 'wpdiscuz'); ?></label></th>
16
+ <td colspan="3"><textarea name="wc_subscribe_message" id="wc_subscribe_message"><?php echo $this->optionsSerialized->phrases['wc_subscribe_message']; ?></textarea></td>
 
 
 
 
 
 
17
  </tr>
18
  <tr valign="top">
19
+ <th scope="row"><label for="wc_unsubscribe_message"><?php _e('You\'ve successfully unsubscribed.', 'wpdiscuz'); ?></label></th>
20
+ <td colspan="3"><textarea name="wc_unsubscribe_message" id="wc_unsubscribe_message"><?php echo $this->optionsSerialized->phrases['wc_unsubscribe_message']; ?></textarea></td>
 
 
 
 
 
 
21
  </tr>
22
  <?php if (class_exists('Prompt_Comment_Form_Handling') && $this->optionsSerialized->usePostmaticForCommentNotification) { ?>
23
  <tr valign="top">
24
+ <th scope="row"><label for="wc_postmatic_subscription_label"><?php _e("Postmatic subscription label", 'wpdiscuz'); ?></label></th>
25
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_postmatic_subscription_label']; ?>" name="wc_postmatic_subscription_label" id="wc_postmatic_subscription_label" /></td>
 
 
 
 
 
 
26
  </tr>
27
  <?php } ?>
28
  <tr valign="top">
29
+ <th scope="row"><label for="wc_error_empty_text"><?php _e('Error message for empty field', 'wpdiscuz'); ?></label></th>
30
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_empty_text']; ?>" name="wc_error_empty_text" id="wc_error_empty_text" /></td>
 
 
 
 
 
 
31
  </tr>
32
  <tr valign="top">
33
+ <th scope="row"><label for="wc_error_email_text"><?php _e('Error message for invalid email field', 'wpdiscuz'); ?></label></th>
34
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_email_text']; ?>" name="wc_error_email_text" id="wc_error_email_text" /></td>
 
 
 
 
 
 
35
  </tr>
36
  <tr valign="top">
37
+ <th scope="row"><label for="wc_error_url_text"><?php _e('Error message for invalid website url field', 'wpdiscuz'); ?></label></th>
38
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_error_url_text']; ?>" name="wc_error_url_text" id="wc_error_url_text" /></td>
 
 
 
 
 
 
39
  </tr>
40
  <tr valign="top">
41
+ <th scope="row"><label for="wc_you_must_be_text"><?php _e('You must be', 'wpdiscuz'); ?></label></th>
42
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_you_must_be_text']; ?>" name="wc_you_must_be_text" id="wc_you_must_be_text" /></td>
 
 
 
 
 
 
43
  </tr>
44
  <tr valign="top">
45
+ <th scope="row"><label for="wc_logged_in_as"><?php _e('Logged in as', 'wpdiscuz'); ?></label></th>
46
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_logged_in_as']; ?>" name="wc_logged_in_as" id="wc_logged_in_as" /></td>
 
 
 
 
 
 
47
  </tr>
48
  <tr valign="top">
49
+ <th scope="row"><label for="wc_log_out"><?php _e('Log out', 'wpdiscuz'); ?></label></th>
50
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_log_out']; ?>" name="wc_log_out" id="wc_log_out" /></td>
 
 
 
 
 
 
51
  </tr>
52
  <tr valign="top">
53
+ <th scope="row"><label for="wc_logged_in_text"><?php _e('Logged In', 'wpdiscuz'); ?></label></th>
54
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_logged_in_text']; ?>" name="wc_logged_in_text" id="wc_logged_in_text" /></td>
 
 
 
 
 
 
55
  </tr>
56
  <tr valign="top">
57
+ <th scope="row"><label for="wc_to_post_comment_text"><?php _e('To post a comment', 'wpdiscuz'); ?></label></th>
58
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_to_post_comment_text']; ?>" name="wc_to_post_comment_text" id="wc_to_post_comment_text" /></td>
 
 
 
 
 
 
59
  </tr>
60
  <tr valign="top">
61
+ <th scope="row"><label for="wc_vote_counted"><?php _e('Vote Counted', 'wpdiscuz'); ?></label></th>
62
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_counted']; ?>" name="wc_vote_counted" id="wc_vote_counted" /></td>
 
 
 
 
 
 
63
  </tr>
64
  <tr valign="top">
65
+ <th scope="row"><label for="wc_vote_only_one_time"><?php _e('You can vote only 1 time', 'wpdiscuz'); ?></label></th>
66
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_vote_only_one_time']; ?>" name="wc_vote_only_one_time" id="wc_vote_only_one_time" /></td>
 
 
 
 
 
 
67
  </tr>
68
  <tr valign="top">
69
+ <th scope="row"><label for="wc_voting_error"><?php _e('Voting Error', 'wpdiscuz'); ?></label></th>
70
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_voting_error']; ?>" name="wc_voting_error" id="wc_voting_error" /></td>
 
 
 
 
 
 
71
  </tr>
72
  <tr valign="top">
73
+ <th scope="row"><label for="wc_login_to_vote"><?php _e('Login To Vote', 'wpdiscuz'); ?></label></th>
74
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_login_to_vote']; ?>" name="wc_login_to_vote" id="wc_login_to_vote" /></td>
 
 
 
 
 
 
75
  </tr>
76
  <tr valign="top">
77
+ <th scope="row"><label for="wc_self_vote"><?php _e('You Cannot Vote On Your Comment', 'wpdiscuz'); ?></label></th>
78
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_self_vote']; ?>" name="wc_self_vote" id="wc_self_vote" /></td>
 
 
 
 
 
 
79
  </tr>
80
  <tr valign="top">
81
+ <th scope="row"><label for="wc_deny_voting_from_same_ip"><?php _e('You are not allowed to vote for this comment (Voting from same IP)', 'wpdiscuz'); ?></label></th>
82
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_deny_voting_from_same_ip']) ? $this->optionsSerialized->phrases['wc_deny_voting_from_same_ip'] : 'You are not allowed to vote for this comment'; ?>" name="wc_deny_voting_from_same_ip" id="wc_deny_voting_from_same_ip" /></td>
 
 
 
 
 
 
83
  </tr>
84
  <tr valign="top">
85
+ <th scope="row"><label for="wc_invalid_captcha"><?php _e('Invalid Captcha Code', 'wpdiscuz'); ?></label></th>
86
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_invalid_captcha']; ?>" name="wc_invalid_captcha" id="wc_invalid_captcha" /></td>
 
 
 
 
 
 
87
  </tr>
88
  <tr valign="top">
89
+ <th scope="row"><label for="wc_invalid_field"><?php _e('Some of field value is invalid', 'wpdiscuz'); ?></label></th>
90
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_invalid_field']; ?>" name="wc_invalid_field" id="wc_invalid_field" /></td>
 
 
 
 
 
 
91
  </tr>
92
  <tr valign="top">
93
+ <th scope="row"><label for="wc_held_for_moderate"><?php _e('Comment waiting moderation', 'wpdiscuz'); ?></label></th>
94
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_held_for_moderate']; ?>" name="wc_held_for_moderate" id="wc_held_for_moderate" /></td>
 
 
 
 
 
 
95
  </tr>
96
  <tr valign="top">
97
+ <th scope="row"><label for="wc_msg_input_min_length"><?php _e('Message if input text length is too short', 'wpdiscuz'); ?></label></th>
98
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_msg_input_min_length']; ?>" name="wc_msg_input_min_length" id="wc_msg_input_min_length" /></td>
 
 
 
 
 
 
99
  </tr>
100
  <tr valign="top">
101
+ <th scope="row"><label for="wc_msg_input_max_length"><?php _e('Message if input text length is too long', 'wpdiscuz'); ?></label></th>
102
+ <td colspan="3"><input type="text" value="<?php echo $this->optionsSerialized->phrases['wc_msg_input_max_length']; ?>" name="wc_msg_input_max_length" id="wc_msg_input_max_length" /></td>
 
 
 
 
 
 
103
  </tr>
104
+
105
  <tr valign="top">
106
+ <th scope="row"><label for="wc_comment_not_updated"><?php _e('Message if comment was not updated', 'wpdiscuz'); ?></label></th>
107
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_not_updated']) ? $this->optionsSerialized->phrases['wc_comment_not_updated'] : __('Sorry, the comment was not updated', 'wpdisucz'); ?>" name="wc_comment_not_updated" id="wc_comment_not_updated" /></td>
 
 
 
 
 
 
108
  </tr>
109
  <tr valign="top">
110
+ <th scope="row"><label for="wc_comment_edit_not_possible"><?php _e('Message if comment no longer possible to edit', 'wpdiscuz'); ?></label></th>
111
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_edit_not_possible']) ? $this->optionsSerialized->phrases['wc_comment_edit_not_possible'] : __('Sorry, this comment no longer possible to edit', 'wpdisucz'); ?>" name="wc_comment_edit_not_possible" id="wc_comment_edit_not_possible" /></td>
 
 
 
 
 
 
112
  </tr>
113
  <tr valign="top">
114
+ <th scope="row"><label for="wc_comment_not_edited"><?php _e('Message if comment text not changed', 'wpdiscuz'); ?></label></th>
115
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_comment_not_edited']) ? $this->optionsSerialized->phrases['wc_comment_not_edited'] : __('TYou\'ve not made any changes', 'wpdisucz'); ?>" name="wc_comment_not_edited" id="wc_comment_not_edited" /></td>
 
 
 
 
 
 
116
  </tr>
117
  <tr valign="top">
118
+ <th scope="row"><label for="wc_msg_required_fields"><?php _e('Please fill out required fields', 'wpdiscuz'); ?></label></th>
119
+ <td colspan="3"><input type="text" value="<?php echo isset($this->optionsSerialized->phrases['wc_msg_required_fields']) ? $this->optionsSerialized->phrases['wc_msg_required_fields'] : __('Please fill out required fields', 'wpdisucz'); ?>" name="wc_msg_required_fields" id="wc_msg_required_fields" /></td>
 
 
 
 
 
 
120
  </tr>
121
  </tbody>
122
  </table>
readme.txt CHANGED
@@ -1,13 +1,13 @@
1
  === Comments - wpDiscuz ===
2
  Contributors: gVectors Team
3
  Tags: comment, comments, ajax comments, custom comment form, custom comment field
4
- Requires at least: 3.8.0
5
  Tested up to: 4.8
6
- Stable tag: 4.0.14
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
- Comments - wpDiscuz: AJAX powered comments, realtime comments. Designed to extend WordPress native comments. Custom comment forms and fields.
11
 
12
  == Description ==
13
 
@@ -87,43 +87,62 @@ Integration with AntiSpam plugins
87
  * | [wpDiscuz - Comments Censure](https://gvectors.com/product/comments-censure-pro/)
88
 
89
 
90
- This comment system is also available for WooCommerce, Plugin name is WooDiscuz:
91
- https://wordpress.org/plugins/woodiscuz-woocommerce-comments/
92
 
93
 
94
  == Installation ==
95
 
 
 
96
  IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
97
 
 
 
98
  1. Upload plugin folder to the '/wp-content/plugins/' directory,
99
  2. Activate the plugin through the 'Plugins' menu in WordPress.
100
 
 
 
101
  == Frequently Asked Questions ==
102
 
103
  **IMPORTANT**
104
 
105
  * If you have a Cache Plugin, please delete all caches after wpDiscuz update.
106
  * If wpDiscuz comment form is missing please read this support topic:
107
- https://gvectors.com/forum/how-to-and-troubleshooting/resolved-wpdiscuz-comment-form-is-missing/
 
 
 
 
 
 
 
 
 
 
 
 
108
 
 
109
 
110
- = Q&A =
111
 
112
- wpDiscuz Documentation: http://wpdiscuz.com/wpdiscuz-documentation/
113
 
114
- Support Forum: https://gvectors.com/forum/
115
 
 
116
 
117
- * QUESTION: Does it fully replace the current comment system? That in this case what happens to old comments?
118
- * ANSWER: wpDiscuz changes default comment system to a new interactive system and shows all old comments, nothing will be lost.
119
 
 
120
 
121
- * QUESTION: Where comments are stored?
122
- * ANSWER: wpDiscuz uses the default WordPress comment storage system, all comments are on your database and all comments are manageable in Dashboard > Comments admin page.
123
 
 
124
 
125
- * QUESTION: Will my comments be lost if I install this plugin, and then remove it?
126
- * ANSWER: wpDiscuz doesn't affect any data. You can install and uninstall whenever you want without any worries.
127
 
128
 
129
  == Screenshots ==
@@ -140,10 +159,15 @@ Support Forum: https://gvectors.com/forum/
140
 
141
  == Changelog ==
142
 
143
- = 4.0.14 =
 
 
 
 
 
 
 
144
 
145
- * Fixed Bug: Use backslash symbol in comment textarea: '\'
146
- * Fixed Bug: Loose custom field data on comment editing
147
 
148
  IMPORTANT:
149
 
@@ -152,6 +176,11 @@ IMPORTANT:
152
  - If you use CDN and found some issue please purge it.
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
  = 4.0.13 =
156
 
157
  Fixed Bug: CSS changes and Style issues
@@ -407,7 +436,7 @@ IMPORTANT:
407
 
408
  = 3.1.0 =
409
 
410
- * Аccelerated: Better WordPress comments cache compatibility
411
  * Added: Finally we make wpDiscuz compatible from 3.8.0 Wordpress version
412
  * Added: Comment front-end editing for all user roles (+ admin, editor, author)
413
  * Fixed Bug: Show/Hide replies button disappearing when clicking on sorting buttons
@@ -438,7 +467,7 @@ IMPORTANT:
438
  * Added: Option to set maximum number of comment text words before breaking.
439
  * Added: Turkish (tr_TR) translation, thanks to Enes Emen
440
  * Optimized: some core functions and reduced database requests (SQL queries)
441
- * Аaccelerated: new and faster function to recursively get comments (1.5s faster for 100 comments)
442
  * Fixed Bug: problems related to comment edit/save functions
443
 
444
  = 3.0.6 =
@@ -494,11 +523,11 @@ IMPORTANT: If you have a Cache Plugin and CDN, please delete all caches and purg
494
  IMPORTANT: If your're updating from wpDiscuz 1.x or from 2.x you should do one-time data optimization of existing comments. Please go to Comments > wpDiscuz Settings > Comments Optimization Tab and click on [Supercharge my comments] button and wait for 100% result.
495
 
496
  * Boosted: Supports dozens of thousands comments per post (tested with 50k/per post)
497
- * Аccelerated: First page load x10 faster (for >100 comments)
498
- * Аccelerated: Load more comments (button) x12 faster (for >100 comments)
499
- * Аccelerated: Live Update x20 faster (for >100 new comments)
500
- * Аccelerated: Commenting x2 faster
501
- * Аccelerated: Voting x2 faster
502
  * Optimized: SQL queries are x10 less
503
  * Optimized: Memory usage x6 less
504
  * Optimized: Better SEO with AJAX crawling technology for Search Engine Bots
1
  === Comments - wpDiscuz ===
2
  Contributors: gVectors Team
3
  Tags: comment, comments, ajax comments, custom comment form, custom comment field
4
+ Requires at least: 4.4
5
  Tested up to: 4.8
6
+ Stable tag: 4.0.15
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
+ AJAX powered comments, realtime comments. Designed to extend WordPress native comments. Custom comment forms and fields.
11
 
12
  == Description ==
13
 
87
  * | [wpDiscuz - Comments Censure](https://gvectors.com/product/comments-censure-pro/)
88
 
89
 
90
+ This comment system is also available for WooCommerce, Plugin name is WooDiscuz – WooCommerce Comments:
91
+ <a target="_blank" href="https://wordpress.org/plugins/woodiscuz-woocommerce-comments/">https://wordpress.org/plugins/woodiscuz-woocommerce-comments/</a>
92
 
93
 
94
  == Installation ==
95
 
96
+ = Note =
97
+
98
  IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
99
 
100
+ = Installation =
101
+
102
  1. Upload plugin folder to the '/wp-content/plugins/' directory,
103
  2. Activate the plugin through the 'Plugins' menu in WordPress.
104
 
105
+ After installing and activating the plugin, click on **Comments** menu item in the left sidebar in your website admin panel.
106
+
107
  == Frequently Asked Questions ==
108
 
109
  **IMPORTANT**
110
 
111
  * If you have a Cache Plugin, please delete all caches after wpDiscuz update.
112
  * If wpDiscuz comment form is missing please read this support topic:
113
+ * <a target="_blank" href="https://gvectors.com/forum/how-to-and-troubleshooting/resolved-wpdiscuz-comment-form-is-missing/">wpDiscuz comment form is missing</a>
114
+
115
+ = Comments - wpDiscuz Settings =
116
+
117
+ Basic configuration suits for most of cases, but if you want to configure **Comments - wpDiscuz** deeper, click on **» Settings** sub menu item which is under **Comments** menu item and change the settings as you want.
118
+
119
+ = Comments - wpDiscuz Phrases =
120
+
121
+ **Comments - wpDiscuz** has phrases for frontend, for those who want customize texts and messages without using .po/.mo files, but still you can use .po/.mo translation files with combination of **Comments - wpDiscuz** phrases. You just need to enable "Use Plugin .PO/.MO files" setting in **Comments - wpDiscuz** **» Settings** page
122
+
123
+ = Comments - wpDiscuz Documentation =
124
+
125
+ Here you can find more detailed answers for your questions - <a target="_blank" href="http://wpdiscuz.com/wpdiscuz-documentation/">http://wpdiscuz.com/wpdiscuz-documentation/</a>
126
 
127
+ = Support Forum =
128
 
129
+ For more deeper support please visit our <a target="_blank" href="https://gvectors.com/forum/">**Support Forum**</a>
130
 
131
+ = Does this plugin fully replace the current comment system? =
132
 
133
+ Yes! **Comments - wpDiscuz** changes default comment system to a new interactive system.
134
 
135
+ = What will happen to old comments? =
136
 
137
+ Nothing will be lost! **Comments - wpDiscuz** will show all old comments.
 
138
 
139
+ = Where comments are stored? =
140
 
141
+ **Comments - wpDiscuz** uses the default WordPress comment storage system, all comments are on your database and all comments are manageable in Dashboard > Comments admin page.
 
142
 
143
+ = Will my comments be lost if I install this plugin, and then remove it? =
144
 
145
+ **Comments - wpDiscuz** doesn't affect any data. You can install and uninstall whenever you want without any worries.
 
146
 
147
 
148
  == Screenshots ==
159
 
160
  == Changelog ==
161
 
162
+ = 4.0.15 =
163
+
164
+ * Now wpDiscuz requires at least WordPress 4.4 version
165
+ * Added Option : Send notification to comment author when comment was approved
166
+ * Added Phrase : Comment approved notification email subject
167
+ * Added Phrase : Comment approved notification email message
168
+ * Added Phrase : Top bar subscription submit button
169
+ * Fixed Bug : Comment showing only after page refresh
170
 
 
 
171
 
172
  IMPORTANT:
173
 
176
  - If you use CDN and found some issue please purge it.
177
  - 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/)
178
 
179
+ = 4.0.14 =
180
+
181
+ * Fixed Bug: Use backslash symbol in comment textarea: '\'
182
+ * Fixed Bug: Loose custom field data on comment editing
183
+
184
  = 4.0.13 =
185
 
186
  Fixed Bug: CSS changes and Style issues
436
 
437
  = 3.1.0 =
438
 
439
+ * Accelerated: Better WordPress comments cache compatibility
440
  * Added: Finally we make wpDiscuz compatible from 3.8.0 Wordpress version
441
  * Added: Comment front-end editing for all user roles (+ admin, editor, author)
442
  * Fixed Bug: Show/Hide replies button disappearing when clicking on sorting buttons
467
  * Added: Option to set maximum number of comment text words before breaking.
468
  * Added: Turkish (tr_TR) translation, thanks to Enes Emen
469
  * Optimized: some core functions and reduced database requests (SQL queries)
470
+ * Accelerated: new and faster function to recursively get comments (1.5s faster for 100 comments)
471
  * Fixed Bug: problems related to comment edit/save functions
472
 
473
  = 3.0.6 =
523
  IMPORTANT: If your're updating from wpDiscuz 1.x or from 2.x you should do one-time data optimization of existing comments. Please go to Comments > wpDiscuz Settings > Comments Optimization Tab and click on [Supercharge my comments] button and wait for 100% result.
524
 
525
  * Boosted: Supports dozens of thousands comments per post (tested with 50k/per post)
526
+ * Accelerated: First page load x10 faster (for >100 comments)
527
+ * Accelerated: Load more comments (button) x12 faster (for >100 comments)
528
+ * Accelerated: Live Update x20 faster (for >100 new comments)
529
+ * Accelerated: Commenting x2 faster
530
+ * Accelerated: Voting x2 faster
531
  * Optimized: SQL queries are x10 less
532
  * Optimized: Memory usage x6 less
533
  * Optimized: Better SEO with AJAX crawling technology for Search Engine Bots
templates/comment/comment-form.php CHANGED
@@ -28,7 +28,7 @@ if (!post_password_required($post->ID)) {
28
  if (!$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
29
  $wpdiscuz->dbManager->checkVoteData($post->ID);
30
  }
31
- $commentsCount = $wpdiscuz->dbManager->getCommentsCount($post->ID);
32
  $header_text = '<span class="wc_header_text_count">' . $commentsCount . '</span> ';
33
  $header_text .= ($commentsCount > 1) ? $wpdiscuz->optionsSerialized->phrases['wc_header_text_plural'] : $wpdiscuz->optionsSerialized->phrases['wc_header_text'];
34
  $header_text .= ' ' . $wpdiscuz->optionsSerialized->phrases['wc_header_on_text'];
@@ -178,7 +178,7 @@ if (!post_password_required($post->ID)) {
178
  </div>
179
  <?php } ?>
180
  <div class="wpdiscuz-subscribe-form-button">
181
- <input id="wpdiscuz_subscription_button" type="submit" value="&rsaquo;" name="wpdiscuz_subscription_button" />
182
  </div>
183
  <?php wp_nonce_field('wpdiscuz_subscribe_form_nonce_action', 'wpdiscuz_subscribe_form_nonce'); ?>
184
  <input type="hidden" value="<?php echo $post->ID; ?>" name="wpdiscuzSubscriptionPostId" />
@@ -241,12 +241,9 @@ if (!post_password_required($post->ID)) {
241
  <?php
242
  $args = array();
243
  $showLoadeMore = 1;
244
- if (isset($_GET['_escaped_fragment_'])) {
245
- parse_str($_GET['_escaped_fragment_'], $query_array);
246
- $lastParentId = isset($query_array['parentId']) ? intval($query_array['parentId']) : 0;
247
- if ($lastParentId) {
248
  $args['last_parent_id'] = $lastParentId--;
249
- }
250
  }
251
 
252
  if ($wpdiscuz->optionsSerialized->showSortingButtons && $wpdiscuz->optionsSerialized->mostVotedByDefault && !$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
@@ -261,7 +258,7 @@ if (!post_password_required($post->ID)) {
261
  $loadMoreButtonText = ($wpdiscuz->optionsSerialized->commentListLoadType == 1) ? $wpdiscuz->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : $wpdiscuz->optionsSerialized->phrases['wc_load_more_submit_text'];
262
  ?>
263
  <div class="wc-load-more-submit-wrap">
264
- <a class="wc-load-more-link" href="<?php echo get_permalink($post->ID) . '#!parentId=' . $commentData['last_parent_id']; ?>">
265
  <button name="submit" class="wc-load-more-submit wc-loaded button">
266
  <?php echo $loadMoreButtonText; ?>
267
  </button>
@@ -269,7 +266,7 @@ if (!post_password_required($post->ID)) {
269
  </div>
270
  <input id="wpdiscuzHasMoreComments" type="hidden" value="<?php echo $commentData['is_show_load_more']; ?>" />
271
  <?php
272
- } else {
273
  paginate_comments_links();
274
  }
275
  ?>
28
  if (!$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
29
  $wpdiscuz->dbManager->checkVoteData($post->ID);
30
  }
31
+ $commentsCount = get_comments_number();
32
  $header_text = '<span class="wc_header_text_count">' . $commentsCount . '</span> ';
33
  $header_text .= ($commentsCount > 1) ? $wpdiscuz->optionsSerialized->phrases['wc_header_text_plural'] : $wpdiscuz->optionsSerialized->phrases['wc_header_text'];
34
  $header_text .= ' ' . $wpdiscuz->optionsSerialized->phrases['wc_header_on_text'];
178
  </div>
179
  <?php } ?>
180
  <div class="wpdiscuz-subscribe-form-button">
181
+ <input id="wpdiscuz_subscription_button" type="submit" value="<?php echo $wpdiscuz->optionsSerialized->phrases['wc_form_subscription_submit']; ?>" name="wpdiscuz_subscription_button" />
182
  </div>
183
  <?php wp_nonce_field('wpdiscuz_subscribe_form_nonce_action', 'wpdiscuz_subscribe_form_nonce'); ?>
184
  <input type="hidden" value="<?php echo $post->ID; ?>" name="wpdiscuzSubscriptionPostId" />
241
  <?php
242
  $args = array();
243
  $showLoadeMore = 1;
244
+ $lastParentId = filter_input(INPUT_GET, 'wpdParentID', FILTER_SANITIZE_NUMBER_INT);
245
+ if ($lastParentId) {
 
 
246
  $args['last_parent_id'] = $lastParentId--;
 
247
  }
248
 
249
  if ($wpdiscuz->optionsSerialized->showSortingButtons && $wpdiscuz->optionsSerialized->mostVotedByDefault && !$wpdiscuz->optionsSerialized->votingButtonsShowHide) {
258
  $loadMoreButtonText = ($wpdiscuz->optionsSerialized->commentListLoadType == 1) ? $wpdiscuz->optionsSerialized->phrases['wc_load_rest_comments_submit_text'] : $wpdiscuz->optionsSerialized->phrases['wc_load_more_submit_text'];
259
  ?>
260
  <div class="wc-load-more-submit-wrap">
261
+ <a class="wc-load-more-link" href="<?php echo $wpdiscuz->helper->loadMoreLink($commentData['last_parent_id'],$post->ID);?>">
262
  <button name="submit" class="wc-load-more-submit wc-loaded button">
263
  <?php echo $loadMoreButtonText; ?>
264
  </button>
266
  </div>
267
  <input id="wpdiscuzHasMoreComments" type="hidden" value="<?php echo $commentData['is_show_load_more']; ?>" />
268
  <?php
269
+ } else if($wpdiscuz->optionsSerialized->wordpressIsPaginate){
270
  paginate_comments_links();
271
  }
272
  ?>
utils/class.WpdiscuzEmailHelper.php CHANGED
@@ -201,4 +201,27 @@ class WpdiscuzEmailHelper {
201
  }
202
  }
203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  }
201
  }
202
  }
203
 
204
+ public function notifyOnApproving($comment) {
205
+ if ($comment) {
206
+ $user = $comment->user_id ? get_userdata($comment->user_id) : null;
207
+ if ($user) {
208
+ $email = $user->user_email;
209
+ } else {
210
+ $email = $comment->comment_author_email;
211
+ }
212
+ $permalink = get_comment_link($comment);
213
+ $phraseSubject = $this->optionsSerialized->phrases['wc_comment_approved_email_subject'];
214
+ $phraseMessage = $this->optionsSerialized->phrases['wc_comment_approved_email_message'];
215
+ $message = "$phraseMessage<br/><br/><a href='$permalink'>$permalink</a>";
216
+ $message .= "<br/><br/>{$comment->comment_content}";
217
+ $headers = array();
218
+ $content_type = apply_filters('wp_mail_content_type', 'text/html');
219
+ $from_name = apply_filters('wp_mail_from_name', get_option('blogname'));
220
+ $from_email = apply_filters('wp_mail_from', get_option('admin_email'));
221
+ $headers[] = "Content-Type: $content_type; charset=UTF-8";
222
+ $headers[] = "From: " . $from_name . " <" . $from_email . "> \r\n";
223
+ wp_mail($email, $phraseSubject, $message, $headers);
224
+ }
225
+ }
226
+
227
  }
utils/class.WpdiscuzHelper.php CHANGED
@@ -282,31 +282,6 @@ class WpdiscuzHelper {
282
  return $id_strings;
283
  }
284
 
285
- public function isShowLoadMore($parentId, $args) {
286
- $postId = $args['post_id'];
287
- $postAllParent = $this->dbManager->getAllParentCommentCount($postId, $this->optionsSerialized->wordpressThreadComments);
288
- $showLoadeMore = false;
289
- if ($postAllParent) {
290
- if ($args['orderby'] == 'comment_date_gmt') {
291
- if ($args['order'] == 'desc' && $parentId) {
292
- $minId = min($postAllParent);
293
- $showLoadeMore = $minId < $parentId;
294
- } else {
295
- $maxId = max($postAllParent);
296
- $showLoadeMore = $maxId > $parentId;
297
- }
298
- $showLoadeMore = $showLoadeMore && $this->optionsSerialized->wordpressCommentPerPage && (count($postAllParent) > $this->optionsSerialized->wordpressCommentPerPage);
299
- } else {
300
- if ($this->optionsSerialized->commentListLoadType == 1 && $args['limit'] == 0) {
301
- $showLoadeMore = false;
302
- } else {
303
- $showLoadeMore = $args['offset'] + $this->optionsSerialized->wordpressCommentPerPage < count($postAllParent);
304
- }
305
- }
306
- }
307
- return $showLoadeMore;
308
- }
309
-
310
  public function superSocializerFix() {
311
  if (function_exists('the_champ_login_button')) {
312
  ?>
@@ -432,6 +407,13 @@ class WpdiscuzHelper {
432
  $authorURL = apply_filters('author_link', $authorURL, $author_id, $author_nicename);
433
  return $authorURL;
434
  }
 
 
 
 
 
 
 
435
 
436
  }
437
 
282
  return $id_strings;
283
  }
284
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
285
  public function superSocializerFix() {
286
  if (function_exists('the_champ_login_button')) {
287
  ?>
407
  $authorURL = apply_filters('author_link', $authorURL, $author_id, $author_nicename);
408
  return $authorURL;
409
  }
410
+
411
+ public function loadMoreLink($parentCommentID,$post_id){
412
+ global $wp_rewrite;
413
+ $loadMoreLink = !$wp_rewrite->using_permalinks() ? get_permalink($post_id) . "&" : get_permalink($post_id) . "?";
414
+ $loadMoreLink.= 'wpdParentID='.$parentCommentID;
415
+ return $loadMoreLink;
416
+ }
417
 
418
  }
419
 
utils/class.WpdiscuzOptimizationHelper.php CHANGED
@@ -2,33 +2,18 @@
2
 
3
  class WpdiscuzOptimizationHelper {
4
 
5
- private $isCommentInMeta;
6
- private $subComments;
7
  private $optionsSerialized;
8
  private $dbManager;
9
  private $emailHelper;
10
  private $wpdiscuzForm;
11
 
12
- public function __construct($optionsSerialized, $dbManager, $emailHelper , $wpdiscuzForm) {
13
  $this->optionsSerialized = $optionsSerialized;
14
  $this->dbManager = $dbManager;
15
  $this->emailHelper = $emailHelper;
16
  $this->wpdiscuzForm = $wpdiscuzForm;
17
  }
18
 
19
- public function setSubComment($commentId, $update = 1) {
20
- $childCommentIds = array();
21
- $comments = $this->getTreeByParentId($commentId, $childCommentIds);
22
- $childCommentIdsString = implode(',', $comments);
23
- if ($childCommentIdsString) {
24
- $childCommentIdsString .=',';
25
- }
26
- if ($update) {
27
- update_comment_meta($commentId, WpdiscuzCore::META_KEY_CHILDREN, $childCommentIdsString);
28
- }
29
- return $comments;
30
- }
31
-
32
  /**
33
  * recursively get new comments tree
34
  * return array of comments' ids
@@ -58,64 +43,7 @@ class WpdiscuzOptimizationHelper {
58
  }
59
  }
60
 
61
- /**
62
- * get list of comments by parent ids
63
- * @param type $commentIds the parent comment ids
64
- * @return type list of comments
65
- */
66
- public function getCommentListByParentIds($commentIds, $postId) {
67
- $update = 1;
68
- $commentTree = array();
69
- $comments = array();
70
- $idsInMeta = $this->dbManager->getOptimizedCommentIds($postId);
71
- $isIdsInMeta = count($commentIds) == count(array_intersect($commentIds, $idsInMeta));
72
- if ($isIdsInMeta) {
73
- $ids = implode(',', $commentIds);
74
- $children = $this->dbManager->getIdsInMeta($ids);
75
- if ($children) {
76
- $comments = explode(',', trim($children[0] . "", ','));
77
- }
78
- } else {
79
- foreach ($commentIds as $commentId) {
80
- $children = $this->dbManager->getCommentMeta($commentId, WpdiscuzCore::META_KEY_CHILDREN);
81
- if (!$children) {
82
- $update = 0;
83
- $children = $this->setSubComment($commentId, $update);
84
- $commentTree[$commentId] = $children;
85
- $comments = array_merge($comments, $children);
86
- } elseif ($children && $children->meta_value) {
87
- $update = 1;
88
- $children = explode(',', trim($children->meta_value, ','));
89
- $comments = array_merge($comments, $children);
90
- }
91
- }
92
- if (!$update) {
93
- $this->dbManager->addTrees($commentTree);
94
- }
95
- }
96
- return $comments;
97
- }
98
-
99
- /**
100
- * add new insertd commnt id in _commentmeta
101
- * @param type $id the current comment id
102
- * @param type $comment the current comment object
103
- */
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) {
111
- update_comment_meta($id, WpdiscuzCore::META_KEY_VOTES, 0);
112
- }
113
- if (!$comment->comment_parent) {
114
- update_comment_meta($id, WpdiscuzCore::META_KEY_CHILDREN, '');
115
- }
116
- }
117
- }
118
-
119
  /**
120
  * add new comment id in comment meta if status is approved
121
  * @param type $newStatus the comment new status
@@ -126,60 +54,13 @@ class WpdiscuzOptimizationHelper {
126
  if ($newStatus != $oldStatus) {
127
  if ($newStatus == 'approved') {
128
  $this->notifyOnApprove($comment);
 
 
 
129
  }
130
  }
131
  }
132
 
133
- private function updateCommentTree($comment) {
134
- $id = $comment->comment_ID;
135
- $rootComment = $this->getCommentRoot($id);
136
- $rootId = $rootComment->comment_ID;
137
- if ($rootId != $id) {
138
- $this->_updateCommentTree($rootId, $id);
139
- }
140
- }
141
-
142
- private function _updateCommentTree($parentId, $commentId) {
143
- $children = get_comment_meta($parentId, WpdiscuzCore::META_KEY_CHILDREN, TRUE);
144
- $childrenArray = explode(',', $children);
145
- if (($key = array_search($commentId, $childrenArray)) === false) {
146
- $childrenString = $children ? $children . $commentId . ',' : $commentId . ',';
147
- update_comment_meta($parentId, WpdiscuzCore::META_KEY_CHILDREN, $childrenString);
148
- }
149
- }
150
-
151
- public function initSubComments($commentId) {
152
- $this->isCommentInMeta = $this->dbManager->isCommentInMeta($commentId);
153
- if ($this->isCommentInMeta) {
154
- $subParentIds = $this->dbManager->getCommentsByParentId($commentId);
155
- foreach ($subParentIds as $subParentId) {
156
- $this->subComments[] = $subParentId;
157
- }
158
- }
159
- }
160
-
161
- public function deleteCommentFromTree($commentId) {
162
- if ($this->subComments && is_array($this->subComments)) {
163
- foreach ($this->subComments as $subCommentId) {
164
- $this->setSubComment($subCommentId);
165
- }
166
- }
167
- $this->_deleteCommentFromTree($commentId);
168
- }
169
-
170
- private function _deleteCommentFromTree($commentId) {
171
- $rows = $this->dbManager->getRowsContainingCommentId($commentId);
172
- $this->deleteImmediately($rows, $commentId);
173
- }
174
-
175
- private function deleteImmediately($rows, $commentId) {
176
- $pattern = "#(,|^)$commentId,#is";
177
- foreach ($rows as $row) {
178
- $replaced = preg_replace($pattern, '${1}', $row['meta_value']);
179
- update_comment_meta($row['comment_id'], WpdiscuzCore::META_KEY_CHILDREN, $replaced);
180
- }
181
- }
182
-
183
  /**
184
  * get the current comment root comment
185
  * @param type $commentId the current comment id
@@ -219,13 +100,6 @@ class WpdiscuzOptimizationHelper {
219
  }
220
  }
221
 
222
- public function clearChildrenData() {
223
- if (isset($_GET['_wpnonce']) && wp_verify_nonce($_GET['_wpnonce'], 'clear_children_data') && isset($_GET['clear']) && trim($_GET['clear']) && current_user_can('manage_options')) {
224
- $this->dbManager->clearChildrenDataFromMeta();
225
- }
226
- wp_redirect(admin_url('edit-comments.php?page=' . WpdiscuzCore::PAGE_SETTINGS));
227
- }
228
-
229
  public function removeVoteData() {
230
  if (isset($_GET['_wpnonce']) && wp_verify_nonce($_GET['_wpnonce'], 'remove_vote_data') && isset($_GET['remove']) && intval($_GET['remove']) == 1 && current_user_can('manage_options')) {
231
  $res = $this->dbManager->removeVotes();
2
 
3
  class WpdiscuzOptimizationHelper {
4
 
 
 
5
  private $optionsSerialized;
6
  private $dbManager;
7
  private $emailHelper;
8
  private $wpdiscuzForm;
9
 
10
+ public function __construct($optionsSerialized, $dbManager, $emailHelper, $wpdiscuzForm) {
11
  $this->optionsSerialized = $optionsSerialized;
12
  $this->dbManager = $dbManager;
13
  $this->emailHelper = $emailHelper;
14
  $this->wpdiscuzForm = $wpdiscuzForm;
15
  }
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  /**
18
  * recursively get new comments tree
19
  * return array of comments' ids
43
  }
44
  }
45
 
46
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  /**
48
  * add new comment id in comment meta if status is approved
49
  * @param type $newStatus the comment new status
54
  if ($newStatus != $oldStatus) {
55
  if ($newStatus == 'approved') {
56
  $this->notifyOnApprove($comment);
57
+ if ($this->optionsSerialized->isNotifyOnCommentApprove) {
58
+ $this->emailHelper->notifyOnApproving($comment);
59
+ }
60
  }
61
  }
62
  }
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  /**
65
  * get the current comment root comment
66
  * @param type $commentId the current comment id
100
  }
101
  }
102
 
 
 
 
 
 
 
 
103
  public function removeVoteData() {
104
  if (isset($_GET['_wpnonce']) && wp_verify_nonce($_GET['_wpnonce'], 'remove_vote_data') && isset($_GET['remove']) && intval($_GET['remove']) == 1 && current_user_can('manage_options')) {
105
  $res = $this->dbManager->removeVotes();