Comments – wpDiscuz - Version 2.2.3

Version Description

  • Added: Option to hide/show user avatars on comment form and list
  • Added: Option to hide/show comment form header text
  • Added: Option to set maximum character limit for comment text
  • Added: Option to enable .po/.mo translation files for mult-language sites
  • Added: Allowed new HTML tags (blockquote, ul, ol, li, code, em, abbr...)
  • Fixed Bug: Avatar duplication on reply form
  • Fixed Bug: Author display name update when it changed on UM profile page
  • Fixed Bug: 404 error on clicking subscription confirmation link
  • Fixed Bug: Email validation issue with .info and other TLD with more than 3 chars

IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.

Download this release

Release Info

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

Code changes from version 2.2.2 to 2.2.3

comment-form/form.php CHANGED
@@ -3,11 +3,7 @@ global $post, $wc_core, $current_user;
3
  get_currentuserinfo();
4
 
5
  error_reporting(0);
6
-
7
- if ($wc_core->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
8
- $wc_core->wc_options_serialized->wc_phrases = $wc_core->wc_db_helper->get_phrases();
9
- }
10
-
11
  $wc_comment_list_update_type = $wc_core->wc_options_serialized->wc_comment_list_update_type;
12
  ?>
13
  <script type="text/javascript">
@@ -16,6 +12,7 @@ $wc_comment_list_update_type = $wc_core->wc_options_serialized->wc_comment_list_
16
  wpdiscuzValidator.message['empty'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_empty_text']; ?>';
17
  wpdiscuzValidator.message['email'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_email_text']; ?>';
18
  wpdiscuzValidator.message['url'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_url_text']; ?>';
 
19
 
20
  jQuery(document).ready(function ($) {
21
  $(document).delegate('.wc-toggle', 'click', function () {
@@ -54,11 +51,14 @@ $header_text .= ($post->comment_count > 1) ? $wc_core->wc_options_serialized->wc
54
  $header_text .= ' ' . $wc_core->wc_options_serialized->wc_phrases['wc_header_on_text'];
55
  $header_text .= ' "' . get_the_title($post) . '"';
56
 
57
- $wc_main_form_comment_object = (object)array('user_id' => $current_user->ID ,'comment_author_email' => $current_user->user_email, 'comment_type' => '' );
58
 
59
  $wc_is_name_field_required = ($wc_core->wc_options_serialized->wc_is_name_field_required) ? 'required="required"' : '';
60
  $wc_is_email_field_required = ($wc_core->wc_options_serialized->wc_is_email_field_required) ? 'required="required"' : '';
61
- ob_start();do_action('comment_form_top');$wc_comment_form_top_content = ob_get_contents();ob_clean();$wc_comment_form_top_content = wpdiscuz_close_divs($wc_comment_form_top_content);?>
 
 
 
62
  <div style="clear:both"></div>
63
 
64
  <?php if (comments_open($post->ID)) { ?>
@@ -105,15 +105,17 @@ ob_start();do_action('comment_form_top');$wc_comment_form_top_content = ob_get_c
105
  }
106
  ?>
107
  <div id="wpcomm">
108
- <div class="wc-comment-bar">
109
- <p class="wc-comment-title">
110
- <?php echo ($post->comment_count) ? $header_text : $wc_core->wc_options_serialized->wc_phrases['wc_be_the_first_text']; ?>
111
- </p>
112
- <div style="clear:both"></div>
113
- </div>
114
- <?php do_action('comment_form_before');?>
 
 
115
  <div class="wc_social_plugin_wrapper">
116
- <?php echo $wc_comment_form_top_content; ?>
117
  </div>
118
  <div class="wc-form-wrapper">
119
  <?php
@@ -122,10 +124,16 @@ ob_start();do_action('comment_form_top');$wc_comment_form_top_content = ob_get_c
122
 
123
  <form action="" method="post" id="wc_comm_form-<?php echo $unique_id; ?>" class="wc_comm_form wc_main_comm_form">
124
  <div class="wc-field-comment">
125
- <div class="wc-field-avatararea">
126
- <?php echo $wc_core->wc_helper->get_comment_author_avatar($wc_main_form_comment_object); ?>
127
- </div>
128
- <div class="wpdiscuz-item wc-field-textarea"><textarea id="wc_comment-<?php echo $unique_id; ?>" class="wc_comment wc_field_input" name="wc_comment" required="required" placeholder="<?php echo $textarea_placeholder; ?>"></textarea></div>
 
 
 
 
 
 
129
  <div style="clear:both"></div>
130
  </div>
131
  <div id="wc-form-footer-<?php echo $unique_id; ?>" class="wc-form-footer">
@@ -140,10 +148,10 @@ ob_start();do_action('comment_form_top');$wc_comment_form_top_content = ob_get_c
140
  <?php if (!$wc_core->wc_options_serialized->wc_captcha_show_hide) { ?>
141
  <?php if (!is_user_logged_in()) { ?>
142
  <div class="wc-field-captcha wpdiscuz-item">
143
- <input id="wc_captcha-<?php echo $unique_id; ?>" class="wc_field_input wc_field_captcha" name="wc_captcha" required="required" value="" type="text" />
144
  <span class="wc-label wc-captcha-label">
145
- <img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/captcha/captcha.php?comm_id=' . $post->ID . '-' . 0); ?>" id="wc_captcha_img-<?php echo $unique_id; ?>" rel="nofollow"/>
146
- <img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/refresh-16x16.png'); ?>" id="wc_captcha_refresh_img-<?php echo $unique_id; ?>" class="wc_captcha_refresh_img" rel="nofollow"/>
147
  </span>
148
  <span class="captcha_msg"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_captcha_text']; ?></span>
149
  </div>
@@ -223,7 +231,7 @@ ob_start();do_action('comment_form_top');$wc_comment_form_top_content = ob_get_c
223
  <input type="hidden" name="wc_comment_post_ID" value="<?php echo $post->ID; ?>" id="wc_comment_post_ID-<?php echo $unique_id; ?>" />
224
  <input type="hidden" name="wc_comment_parent" value="0" id="wc_comment_parent-<?php echo $unique_id; ?>" />
225
  </form>
226
-
227
  <?php } else { ?>
228
  <p class="wc-must-login"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_you_must_be_text']; ?> <a href="<?php echo wp_login_url(); ?>"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_logged_in_text']; ?></a> <?php echo $wc_core->wc_options_serialized->wc_phrases['wc_to_post_comment_text']; ?></p>
229
  <?php
3
  get_currentuserinfo();
4
 
5
  error_reporting(0);
6
+ $wc_core->wc_options_serialized->init_phrases_on_load();
 
 
 
 
7
  $wc_comment_list_update_type = $wc_core->wc_options_serialized->wc_comment_list_update_type;
8
  ?>
9
  <script type="text/javascript">
12
  wpdiscuzValidator.message['empty'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_empty_text']; ?>';
13
  wpdiscuzValidator.message['email'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_email_text']; ?>';
14
  wpdiscuzValidator.message['url'] = '<?php echo $wc_core->wc_options_serialized->wc_phrases['wc_error_url_text']; ?>';
15
+ wpdiscuzValidator.message['max'] = '<?php echo sprintf($wc_core->wc_options_serialized->wc_phrases['wc_msg_comment_text_max_length'], $wc_core->wc_options_serialized->wc_comment_text_max_length); ?>';
16
 
17
  jQuery(document).ready(function ($) {
18
  $(document).delegate('.wc-toggle', 'click', function () {
51
  $header_text .= ' ' . $wc_core->wc_options_serialized->wc_phrases['wc_header_on_text'];
52
  $header_text .= ' "' . get_the_title($post) . '"';
53
 
54
+ $wc_main_form_comment_object = (object) array('user_id' => $current_user->ID, 'comment_author_email' => $current_user->user_email, 'comment_type' => '');
55
 
56
  $wc_is_name_field_required = ($wc_core->wc_options_serialized->wc_is_name_field_required) ? 'required="required"' : '';
57
  $wc_is_email_field_required = ($wc_core->wc_options_serialized->wc_is_email_field_required) ? 'required="required"' : '';
58
+
59
+ if( ini_get('output_buffering') ){ $wc_ob_allowed = true; ob_start(); do_action('comment_form_top'); $wc_comment_form_top_content = ob_get_contents(); ob_clean(); $wc_comment_form_top_content = wpdiscuz_close_divs($wc_comment_form_top_content); } else{ $wc_ob_allowed = false; }
60
+ $wc_validate_comment_text_length = (intval($wc_core->wc_options_serialized->wc_comment_text_max_length)) ? 'data-validate-length-range="1,' . $wc_core->wc_options_serialized->wc_comment_text_max_length . '"' : '';
61
+ ?>
62
  <div style="clear:both"></div>
63
 
64
  <?php if (comments_open($post->ID)) { ?>
105
  }
106
  ?>
107
  <div id="wpcomm">
108
+ <?php if (!$wc_core->wc_options_serialized->wc_header_text_show_hide) { ?>
109
+ <div class="wc-comment-bar">
110
+ <p class="wc-comment-title">
111
+ <?php echo ($post->comment_count) ? $header_text : $wc_core->wc_options_serialized->wc_phrases['wc_be_the_first_text']; ?>
112
+ </p>
113
+ <div style="clear:both"></div>
114
+ </div>
115
+ <?php } ?>
116
+ <?php do_action('comment_form_before'); ?>
117
  <div class="wc_social_plugin_wrapper">
118
+ <?php if( $wc_ob_allowed ){ echo $wc_comment_form_top_content; } else{ do_action('comment_form_top'); }?>
119
  </div>
120
  <div class="wc-form-wrapper">
121
  <?php
124
 
125
  <form action="" method="post" id="wc_comm_form-<?php echo $unique_id; ?>" class="wc_comm_form wc_main_comm_form">
126
  <div class="wc-field-comment">
127
+ <?php if (!$wc_core->wc_options_serialized->wc_avatar_show_hide) { ?>
128
+ <div class="wc-field-avatararea">
129
+ <?php echo $wc_core->wc_helper->get_comment_author_avatar($wc_main_form_comment_object); ?>
130
+ </div>
131
+ <?php } ?>
132
+ <div class="wpdiscuz-item wc-field-textarea" <?php
133
+ if ($wc_core->wc_options_serialized->wc_avatar_show_hide) {
134
+ echo ' style="margin-left: 0;"';
135
+ }
136
+ ?>><textarea <?php echo $wc_validate_comment_text_length; ?> id="wc_comment-<?php echo $unique_id; ?>" class="wc_comment wc_field_input" name="wc_comment" required="required" placeholder="<?php echo $textarea_placeholder; ?>"></textarea></div>
137
  <div style="clear:both"></div>
138
  </div>
139
  <div id="wc-form-footer-<?php echo $unique_id; ?>" class="wc-form-footer">
148
  <?php if (!$wc_core->wc_options_serialized->wc_captcha_show_hide) { ?>
149
  <?php if (!is_user_logged_in()) { ?>
150
  <div class="wc-field-captcha wpdiscuz-item">
151
+ <input id="wc_captcha-<?php echo $unique_id; ?>" class="wc_field_input wc_field_captcha" name="wc_captcha" required="required" value="" type="text" maxlength="5"/>
152
  <span class="wc-label wc-captcha-label">
153
+ <img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/captcha/captcha.php?comm_id=' . $post->ID . '-' . 0); ?>" id="wc_captcha_img-<?php echo $unique_id; ?>" rel="nofollow" noimageindex />
154
+ <img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/refresh-16x16.png'); ?>" id="wc_captcha_refresh_img-<?php echo $unique_id; ?>" class="wc_captcha_refresh_img" rel="nofollow" noimageindex/>
155
  </span>
156
  <span class="captcha_msg"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_captcha_text']; ?></span>
157
  </div>
231
  <input type="hidden" name="wc_comment_post_ID" value="<?php echo $post->ID; ?>" id="wc_comment_post_ID-<?php echo $unique_id; ?>" />
232
  <input type="hidden" name="wc_comment_parent" value="0" id="wc_comment_parent-<?php echo $unique_id; ?>" />
233
  </form>
234
+
235
  <?php } else { ?>
236
  <p class="wc-must-login"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_you_must_be_text']; ?> <a href="<?php echo wp_login_url(); ?>"><?php echo $wc_core->wc_options_serialized->wc_phrases['wc_logged_in_text']; ?></a> <?php echo $wc_core->wc_options_serialized->wc_phrases['wc_to_post_comment_text']; ?></p>
237
  <?php
comment-form/tpl-comment.php CHANGED
@@ -6,13 +6,15 @@ class WC_Comment_Template_Builder {
6
  public $wc_db_helper;
7
  public $wc_options;
8
  public $wc_options_serialized;
 
9
 
10
  function __construct($wc_helper, $wc_db_helper, $wc_options, $wc_options_serialized) {
11
  $this->wc_helper = $wc_helper;
12
  $this->wc_db_helper = $wc_db_helper;
13
  $this->wc_options = $wc_options;
14
  $this->wc_options_serialized = $wc_options_serialized;
15
- add_action('plugins_loaded', array(&$this, 'init_phrases_on_load'), 2129);
 
16
  }
17
 
18
  /**
@@ -25,19 +27,11 @@ class WC_Comment_Template_Builder {
25
  get_currentuserinfo();
26
 
27
 
28
- $comment_content = wp_kses($comment->comment_content, array(
29
- 'br' => array(),
30
- 'a' => array('href' => array(), 'title' => array(), 'target' => array(), 'rel' => array(), 'download' => array(), 'hreflang' => array(), 'media' => array(), 'type' => array()),
31
- 'i' => array(),
32
- 'b' => array(),
33
- 'u' => array(),
34
- 'strong' => array(),
35
- 'p' => array(),
36
- 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
37
- ));
38
 
39
  $comment_content = $this->wc_helper->make_clickable($comment_content);
40
  $comment_content = apply_filters('comment_text', $comment_content, $comment, $args);
 
41
 
42
  $vote_cls = '';
43
  $vote_title_text = '';
@@ -80,11 +74,11 @@ class WC_Comment_Template_Builder {
80
  $share_text = $this->wc_options_serialized->wc_phrases['wc_share_text'];
81
  $comment_wrapper_class = ($comment->comment_parent) ? 'wc-comment wc-reply' : 'wc-comment';
82
  $textarea_placeholder = $this->get_textarea_placeholder($comment);
83
-
84
- $vote_count = ($comment->votes) ? $comment->votes : 0;
85
  $unique_id = $this->get_unique_id($comment);
86
 
87
- $wc_author_name = $comment->comment_author ? $comment->comment_author : __('Anonymous', WC_Core::$TEXT_DOMAIN);
88
  $wc_comm_author_avatar = $this->wc_helper->get_comment_author_avatar($comment);
89
  $wc_profile_url = $this->get_profile_url($user);
90
 
@@ -124,15 +118,17 @@ class WC_Comment_Template_Builder {
124
  $comment_content_class = ($wc_visible_parent_comment_ids != null && !in_array($comment->comment_ID, $wc_visible_parent_comment_ids)) ? ' wc_new_loaded_comment' : '';
125
 
126
  $output = '<div id="wc-comm-' . $unique_id . '" class="' . $comment_wrapper_class . ' ' . $wc_author_class . ' ' . $parent_comment . ' wc_comment_level-' . $depth . '">';
127
- $output .= '<div class="wc-comment-left" id="comment-' . $comment->comment_ID . '">' . $wc_comm_author_avatar;
128
- if (!$this->wc_options_serialized->wc_author_titles_show_hide) {
129
- $output .= '<div class="' . $wc_author_class . ' wc-comment-label">' . $author_title . '</div>';
130
- }
131
- if (class_exists('userpro_api') && $comment->user_id) {
132
- $output .= userpro_show_badges($comment->user_id, $inline = true);
 
 
 
133
  }
134
- $output .= '</div>';
135
- $output .= '<div class="wc-comment-right ' . $comment_content_class . '">';
136
  $output .= '<div class="wc-comment-header"><div class="wc-comment-author">' . $wc_author_name . '</div><div class="wc-comment-date">' . $posted_date . '</div><div style="clear:both"></div></div>';
137
  $output .= '<div class="wc-comment-text">' . $comment_content . '</div>';
138
  $output .= '<div class="wc-comment-footer">';
@@ -201,8 +197,12 @@ class WC_Comment_Template_Builder {
201
 
202
  $output_form = '<div class="wc-form-wrapper wc-secondary-forms-wrapper" id="wc-secondary-forms-wrapper-' . $unique_id . '">';
203
  $output_form .= '<div class="wc-secondary-forms-social-content" id="wc-secondary-forms-social-content-' . $unique_id . '"></div>';
204
- $output_form .= '<form action="" method="post" id="wc_comm_form-' . $unique_id . '" class="wc_comm_form wc_secondary_form">';
205
- $output_form .= '<div class="wc-field-comment"><div class="wc-field-avatararea">' . $this->wc_helper->get_comment_author_avatar($comment) . '</div><div class="wc-field-textarea wpdiscuz-item"><textarea id="wc_comment-' . $unique_id . '" class="wc_comment wc_field_input" name="wc_comment" required="required" placeholder="' . $textarea_placeholder . '"></textarea></div><div style="clear:both"></div></div>';
 
 
 
 
206
 
207
  $output_form .= '<div id="wc-form-footer-' . $unique_id . '" class="wc-form-footer">';
208
 
@@ -226,9 +226,9 @@ class WC_Comment_Template_Builder {
226
  if (!$this->wc_options_serialized->wc_captcha_show_hide) {
227
  if (!is_user_logged_in()) {
228
  $output_form .= '<div class="wc-field-captcha wpdiscuz-item">';
229
- $output_form .= '<input id="wc_captcha-' . $unique_id . '" class="wc_field_input wc_field_captcha" name="wc_captcha" required="required" value="" type="text" /><span class="wc-label wc-captcha-label">';
230
- $output_form .= '<img rel="nofollow" src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/captcha/captcha.php?comm_id=' . $comment->comment_post_ID . '-' . $comment->comment_ID) . '" id="wc_captcha_img-' . $unique_id . '" />';
231
- $output_form .= '<img rel="nofollow" src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/refresh-16x16.png') . '" id="wc_captcha_refresh_img-' . $unique_id . '" class="wc_captcha_refresh_img" />';
232
  $output_form .= '</span><span class="captcha_msg">' . $this->wc_options_serialized->wc_phrases['wc_captcha_text'] . '</span></div>';
233
  }
234
  }
@@ -345,13 +345,6 @@ class WC_Comment_Template_Builder {
345
  return $user_can_comment;
346
  }
347
 
348
- public function init_phrases_on_load() {
349
-
350
- if ($this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
351
- $this->wc_options_serialized->wc_phrases = $this->wc_db_helper->get_phrases();
352
- }
353
- }
354
-
355
  /**
356
  *
357
  * get profile url
@@ -385,6 +378,17 @@ class WC_Comment_Template_Builder {
385
  return $wc_profile_url_filter ? $wc_profile_url_filter : $wc_profile_url;
386
  }
387
 
 
 
 
 
 
 
 
 
 
 
 
388
  /**
389
  * returns placeholder for textarea from options page phrases
390
  */
6
  public $wc_db_helper;
7
  public $wc_options;
8
  public $wc_options_serialized;
9
+ private $wc_validate_comment_text_length;
10
 
11
  function __construct($wc_helper, $wc_db_helper, $wc_options, $wc_options_serialized) {
12
  $this->wc_helper = $wc_helper;
13
  $this->wc_db_helper = $wc_db_helper;
14
  $this->wc_options = $wc_options;
15
  $this->wc_options_serialized = $wc_options_serialized;
16
+ add_action('plugins_loaded', array(&$this->wc_options_serialized, 'init_phrases_on_load'), 2129);
17
+ $this->wc_validate_comment_text_length = (intval($this->wc_options_serialized->wc_comment_text_max_length)) ? 'data-validate-length-range="1,' . $this->wc_options_serialized->wc_comment_text_max_length . '"' : '';
18
  }
19
 
20
  /**
27
  get_currentuserinfo();
28
 
29
 
30
+ $comment_content = wp_kses($comment->comment_content, $this->wc_helper->wc_allowed_tags);
 
 
 
 
 
 
 
 
 
31
 
32
  $comment_content = $this->wc_helper->make_clickable($comment_content);
33
  $comment_content = apply_filters('comment_text', $comment_content, $comment, $args);
34
+ $hide_avatar_style = $this->wc_options_serialized->wc_avatar_show_hide ? 'style = "margin-left : 0;"' : '';
35
 
36
  $vote_cls = '';
37
  $vote_title_text = '';
74
  $share_text = $this->wc_options_serialized->wc_phrases['wc_share_text'];
75
  $comment_wrapper_class = ($comment->comment_parent) ? 'wc-comment wc-reply' : 'wc-comment';
76
  $textarea_placeholder = $this->get_textarea_placeholder($comment);
77
+ $vote_count_meta = get_comment_meta($comment->comment_ID, 'wpdiscuz_votes', true);
78
+ $vote_count = $vote_count_meta ? $vote_count_meta : 0;
79
  $unique_id = $this->get_unique_id($comment);
80
 
81
+ $wc_author_name = $this->get_author_name($comment);
82
  $wc_comm_author_avatar = $this->wc_helper->get_comment_author_avatar($comment);
83
  $wc_profile_url = $this->get_profile_url($user);
84
 
118
  $comment_content_class = ($wc_visible_parent_comment_ids != null && !in_array($comment->comment_ID, $wc_visible_parent_comment_ids)) ? ' wc_new_loaded_comment' : '';
119
 
120
  $output = '<div id="wc-comm-' . $unique_id . '" class="' . $comment_wrapper_class . ' ' . $wc_author_class . ' ' . $parent_comment . ' wc_comment_level-' . $depth . '">';
121
+ if (!$this->wc_options_serialized->wc_avatar_show_hide) {
122
+ $output .= '<div class="wc-comment-left" id="comment-' . $comment->comment_ID . '">' . $wc_comm_author_avatar;
123
+ if (!$this->wc_options_serialized->wc_author_titles_show_hide) {
124
+ $output .= '<div class="' . $wc_author_class . ' wc-comment-label">' . $author_title . '</div>';
125
+ }
126
+ if (class_exists('userpro_api') && $comment->user_id) {
127
+ $output .= userpro_show_badges($comment->user_id, $inline = true);
128
+ }
129
+ $output .= '</div>';
130
  }
131
+ $output .= '<div class="wc-comment-right ' . $comment_content_class . '" ' . $hide_avatar_style . '>';
 
132
  $output .= '<div class="wc-comment-header"><div class="wc-comment-author">' . $wc_author_name . '</div><div class="wc-comment-date">' . $posted_date . '</div><div style="clear:both"></div></div>';
133
  $output .= '<div class="wc-comment-text">' . $comment_content . '</div>';
134
  $output .= '<div class="wc-comment-footer">';
197
 
198
  $output_form = '<div class="wc-form-wrapper wc-secondary-forms-wrapper" id="wc-secondary-forms-wrapper-' . $unique_id . '">';
199
  $output_form .= '<div class="wc-secondary-forms-social-content" id="wc-secondary-forms-social-content-' . $unique_id . '"></div>';
200
+ $output_form .= '<form action="" method="post" id="wc_comm_form-' . $unique_id . '" class="wc_comm_form wc_secondary_form"><div class="wc-field-comment">';
201
+ if (!$this->wc_options_serialized->wc_avatar_show_hide) {
202
+ $wc_reply_form_comment_object = (object) array('user_id' => $current_user->ID, 'comment_author_email' => $current_user->user_email, 'comment_type' => '');
203
+ $output_form .= '<div class="wc-field-avatararea">' . get_avatar($wc_reply_form_comment_object) . '</div>';
204
+ }
205
+ $output_form .= '<div class="wc-field-textarea wpdiscuz-item" ' . $hide_avatar_style . '><textarea ' . $this->wc_validate_comment_text_length . ' id="wc_comment-' . $unique_id . '" class="wc_comment wc_field_input" name="wc_comment" required="required" placeholder="' . $textarea_placeholder . '"></textarea></div><div style="clear:both"></div></div>';
206
 
207
  $output_form .= '<div id="wc-form-footer-' . $unique_id . '" class="wc-form-footer">';
208
 
226
  if (!$this->wc_options_serialized->wc_captcha_show_hide) {
227
  if (!is_user_logged_in()) {
228
  $output_form .= '<div class="wc-field-captcha wpdiscuz-item">';
229
+ $output_form .= '<input id="wc_captcha-' . $unique_id . '" class="wc_field_input wc_field_captcha" name="wc_captcha" required="required" value="" type="text" maxlength="5" /><span class="wc-label wc-captcha-label">';
230
+ $output_form .= '<img rel="nofollow" noimageindex src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/captcha/captcha.php?comm_id=' . $comment->comment_post_ID . '-' . $comment->comment_ID) . '" id="wc_captcha_img-' . $unique_id . '" />';
231
+ $output_form .= '<img rel="nofollow" noimageindex src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/refresh-16x16.png') . '" id="wc_captcha_refresh_img-' . $unique_id . '" class="wc_captcha_refresh_img" />';
232
  $output_form .= '</span><span class="captcha_msg">' . $this->wc_options_serialized->wc_phrases['wc_captcha_text'] . '</span></div>';
233
  }
234
  }
345
  return $user_can_comment;
346
  }
347
 
 
 
 
 
 
 
 
348
  /**
349
  *
350
  * get profile url
378
  return $wc_profile_url_filter ? $wc_profile_url_filter : $wc_profile_url;
379
  }
380
 
381
+ public function get_author_name($comment) {
382
+ if (class_exists('UM_API') && isset($comment->user_id) && !empty($comment->user_id)) {
383
+ um_fetch_user($comment->user_id);
384
+ $author_name = um_user('display_name');
385
+ um_reset_user();
386
+ } else {
387
+ $author_name = $comment->comment_author ? $comment->comment_author : __('Anonymous', WC_Core::$TEXT_DOMAIN);
388
+ }
389
+ return $author_name;
390
+ }
391
+
392
  /**
393
  * returns placeholder for textarea from options page phrases
394
  */
dto/wc-comment.php CHANGED
@@ -25,16 +25,16 @@ class WC_Comment {
25
  $this->comment_author = $comment->comment_author;
26
  $this->comment_author_email = $comment->comment_author_email;
27
  $this->comment_author_url = $comment->comment_author_url;
28
- $this->comment_author_IP = $comment->comment_author_IP;
29
  $this->comment_date = $comment->comment_date;
30
  $this->comment_date_gmt = $comment->comment_date_gmt;
31
  $this->comment_content = $comment->comment_content;
32
- $this->comment_karma = $comment->comment_karma;
33
- $this->comment_approved = $comment->comment_approved;
34
- $this->comment_agent = $comment->comment_agent;
35
- $this->comment_type = $comment->comment_type;
36
  $this->comment_parent = $comment->comment_parent;
37
- $this->user_id = $comment->user_id;
38
  $this->votes = $this->get_vote_count($comment->comment_ID);
39
  }
40
 
25
  $this->comment_author = $comment->comment_author;
26
  $this->comment_author_email = $comment->comment_author_email;
27
  $this->comment_author_url = $comment->comment_author_url;
28
+ $this->comment_author_IP = '';
29
  $this->comment_date = $comment->comment_date;
30
  $this->comment_date_gmt = $comment->comment_date_gmt;
31
  $this->comment_content = $comment->comment_content;
32
+ $this->comment_karma = '';
33
+ $this->comment_approved = '';
34
+ $this->comment_agent = '';
35
+ $this->comment_type = '';
36
  $this->comment_parent = $comment->comment_parent;
37
+ $this->user_id = '';
38
  $this->votes = $this->get_vote_count($comment->comment_ID);
39
  }
40
 
files/css/wpdiscuz.min.css CHANGED
@@ -1 +1 @@
1
- #wc-comment-header{padding:20px 5px 1px 5px;display:block;float:none;clear:both;font-size:18px}#wpcomm form div{box-sizing:inherit}#wpcomm form .wpdiscuz-item{display:block;height:auto}.wpdiscuz-item input{border-radius:0;height:auto;width:auto}#wpcomm{margin:15px 5px;padding:1px 0 10px 0;border-top:#ddd solid 1px}#wpcomm form{margin:0;padding:0;background:0;border:0;width:auto!important}#wpcomm form div{margin:0}#wc_show_hide_loggedin_username{padding:10px 5px 5px 5px;font-size:13px}#wpcomm .wc_new_comment_and_replies{margin:0;padding:0;width:100%;height:auto;background:transparent}#wpcomm .wc_new_comment_and_replies .wc_new_comment{float:right;display:none;padding:3px 10px;font-size:12px;margin:1px 0 1px 3px;cursor:pointer;color:#fff;line-height:15px}#wpcomm .wc_new_comment_and_replies .wc_new_reply{float:right;display:none;padding:3px 10px;font-size:12px;margin:1px 0 1px 1px;cursor:pointer;color:#fff;line-height:15px}#wpcomm .wc-comment-bar{width:100%;padding:0;display:block}#wpcomm .wc-comment-title{margin:0;line-height:18px;font-weight:bold;padding:10px;margin-bottom:10px;font-size:13px;text-align:right;border-bottom:#ccc dotted 1px;padding-bottom:10px}#wpcomm .wc-form-wrapper{padding:10px;margin-top:20px;border:1px solid #f1f1f1}#wpcomm .wc-author-data{margin-bottom:3px}#wpcomm .wc-field-submit{padding:5px 0 13px 0}#wpcomm .wc-field-name{width:49%;float:left}#wpcomm .wc-field-email{width:49%;float:right;text-align:right}#wpcomm .wc-field-comment{margin:5px auto 1px auto}#wpcomm .wc-field-comment .wc-field-avatararea{width:60px;float:left}#wpcomm .wc-field-comment .wc-field-textarea{margin-left:65px}#wpcomm .wc-field-captcha{width:49%;float:left;margin:0;height:auto!important}#wpcomm .wc-field-submit{width:49%;float:right;text-align:right;margin:0}#wpcomm .wc-field-website{width:100%;padding:0 0 10px 0;margin:0;display:block}#wpcomm .wc-field-name input[type="text"]{width:99%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-website input[type="url"],#wpcomm .wc-field-website input[type="text"]{width:100%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-email input[type="email"]{width:100%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-captcha input[type="text"]{max-width:55%;min-width:110px;padding:3px 5px;font-size:14px;margin:0 5px 2px 0;height:27px}@media screen and (max-width:1000px){#wpcomm .wc-field-captcha input[type="text"]{max-width:45%;min-width:90px}}@media screen and (max-width:850px){#wpcomm .wc-field-captcha input[type="text"]{max-width:35%;min-width:90px}}@media screen and (max-width:790px){#wpcomm .wc-field-captcha input[type="text"]{max-width:30%;min-width:80px}}@media screen and (max-width:690px){#wpcomm .wc-field-captcha input[type="text"]{max-width:30%;min-width:80px}}#wpcomm .wc-field-submit input[type="submit"]{margin:1px}#wpcomm .wc-field-submit input[type="button"]{margin:1px;border:#ddd 1px solid;font-size:13px;line-height:16px;padding:6px 15px;clear:both;float:none}#wpcomm .captcha_msg{color:#999;font-family:Lato,sans-serif;font-size:13px;line-height:18px;display:block;clear:both;padding:5px 0 0 0}#wpcomm .wc-field-comment textarea,#wpcomm .wc-comment .wc-comment-right textarea{width:100%;max-width:100%;height:48px;min-height:48px!important;padding:5px;box-sizing:border-box;border-radius:0}#wpcomm .wc-label{display:block;font-size:14px;padding:5px}#wpcomm .wc_manage_subscribtions{cursor:pointer;padding:0 0 5px 0;display:block;font-size:13px;line-height:16px;font-family:Lato,sans-serif}#wpcomm .wc_notification_checkboxes{padding:7px 0 7px 0;text-align:left;display:none;border-top:1px dotted #ddd;line-height:18px;font-size:13px}#wpcomm .wc_notification_checkboxes input[type="checkbox"],#wpcomm .wc_notification_checkboxes input[type="radio"]{overflow:none;width:inherit;font-size:13px;margin:0;padding:0;display:inline;clear:both;float:none;max-height:20px;margin:0 3px}#wpcomm .wc_notification_checkboxes label{clear:both;float:none;font-weight:normal}#wpcomm .wc-label-comment-notify{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-label-reply-notify,#wpcomm .wc-notification-none{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-label-all-reply-notify{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-field-captcha .wc-label{font-size:14px;padding:5px;text-align:center;display:inline}#wpcomm input[type="text"],#wpcomm input[type="email"],#wpcomm input[type="url"],#wpcomm textarea{font-size:14px;color:#777;font-family:Lato,sans-serif;box-sizing:border-box;margin:0;clear:both;float:none;display:inline}#wpcomm .wc-copyright{margin:0 0 0 auto;text-align:right;display:block;padding-top:2px}#wpcomm .wc-copyright a{font-size:9px;color:#aaa;cursor:help;text-decoration:none;margin:0;padding:0;border:0}#wpcomm .wc-thread-wrapper{padding:10px 0;margin-bottom:10px}#wpcomm .wc-comment{margin-bottom:13px}#wpcomm .wc-comment .wc-field-submit{padding:5px 0 5px 0}#wpcomm .wc-comment .wc-form-wrapper{padding:10px 10px 7px 10px}#wpcomm .wc-comment .wc-comment-left{width:62px;float:left;position:absolute;text-align:center;font-family:Lato,sans-serif;line-height:16px}#wpcomm .wc-comment .wc-comment-right{margin-left:70px;border:#f5f5f5 1px solid;padding:10px 10px 3px 10px}#wpcomm .wc-reply .wc-comment-right{margin-left:70px;border:#f5f5f5 1px solid;padding:10px 10px 3px 10px}#wpcomm .wc-reply{margin-top:10px;margin-bottom:0;margin-left:40px}#wpcomm .wc-must-login{margin:0;font-size:14px;line-height:16px;padding:10px;text-align:center}#wpcomm hr{background-color:rgba(0,0,0,0.1);border:0 none;height:1px;margin:10px 0}#wpcomm .avatar{border:1px solid rgba(0,0,0,0.1);padding:2px;margin:0 auto;float:none;display:inline;width:48px;height:auto}#wpcomm .wc-form-wrapper .avatar{margin-top:3px}#wpcomm .wc-comment-text{text-align:left;padding-bottom:5px;line-height:20px;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}#wpcomm .wc-comment-text img{max-width:90%;height:auto}#wpcomm .wc-comment-header{margin-bottom:7px;font-family:Lato,sans-serif}#wpcomm .wc-comment-author{font-size:16px;width:40%;float:left;white-space:nowrap}#wpcomm .wc-comment-author a{font-size:16px;white-space:nowrap;text-decoration:none}#wpcomm .wc-comment-label{color:#fff;padding:2px 5px;font-size:12px;margin:4px auto;text-align:center;display:table;line-height:16px}#wpcomm .wc-comment-date{font-size:12px;color:#999;float:right;text-align:right;white-space:nowrap;line-height:27px}#wpcomm .wc-comment-footer{font-size:12px;font-weight:normal;color:#999;margin-top:12px;min-height:28px;font-family:Lato,sans-serif}#wpcomm .wc-comment-footer a,#wpcomm .wc-comment-footer span.wc_editable_comment,#wpcomm .wc-comment-footer span.wc_save_edited_comment,#wpcomm span.wc_cancel_edit{text-decoration:none;font-size:13px;font-weight:bold;cursor:pointer}#wpcomm .wc-comment-footer .share_buttons_box img{vertical-align:middle}#wpcomm .wc-comment-footer .wc-voted{color:#666;cursor:default}#wpcomm .wc-comment-footer .wc-vote-img-up{padding:0;margin:0 0 -2px 0;vertical-align:baseline;display:inline;float:none;clear:both;border:0;background:transparent;width:16px;height:16px;border-radius:0;box-shadow:none;box-sizing:border-box}#wpcomm .wc-comment-footer .wc-vote-img-down{padding:0;margin:0 0 -6px 0;vertical-align:baseline;display:inline;float:none;clear:both;border:0;background:transparent;width:16px;height:16px;border-radius:0;box-shadow:none;box-sizing:border-box}#wpcomm .wc-comment-footer .wc-vote-result{padding:2px 6px 2px 5px;color:#fff;font-size:12px;font-weight:bold;display:inline;margin-right:5px}#wpcomm .wc-toggle{float:right;text-align:right;padding-right:0;margin-right:0;color:#999;cursor:pointer;font-size:12px;white-space:nowrap}#wpcomm .wpdiscuz-item{background:0;border-radius:0;box-shadow:none}#wc_response_info img{margin:0 auto 0 auto;box-shadow:none}#wpcomm .share_buttons_box img{display:inline!important;width:16px;height:16px}#wpcomm .wc-captcha-label img{display:inline!important;border:0;padding:0 0 0 2px;margin:0;vertical-align:middle}#wpcomm .wc-reply-link,#wpcomm .wc-vote-link,#wpcomm .wc-share-link{cursor:pointer;font-size:13px;font-weight:bold}#wpcomm .wc-form-footer,#wpcomm .wc-secondary-forms-wrapper{display:none}#wpcomm .wc-field-captcha .wc-captcha-label{padding:0;display:inline-block}#wpcomm .wc_captcha_refresh_img{cursor:pointer;margin-left:3px}#wpcomm .share_buttons_box{display:none}#wpcomm .wc-comment.wc-no-left-margin{margin-left:0!important}div.wc_modal{background:none repeat scroll 0 0 #ededed;color:#444;font-size:18px;font-weight:normal;padding:45px 10px 50px 10px!important;text-align:center;line-height:25px}.wc-load-more-submit-wrap{width:100%;text-align:center;margin-bottom:20px;margin-top:25px}.wc-load-more-submit{width:auto!important;padding:10px 20px;text-align:center;background-color:#fafafa;border-radius:3px;color:#555;cursor:pointer}.wc-load-more-submit:hover{background-image:-moz-linear-gradient(center top,#f4f4f4,#e6e6e6);background-repeat:repeat-x;box-shadow:0 1px 2px rgba(64,64,64,0.1);color:#7c7c7c}#wc_openModalFormAction>div#wc_response_info{width:200px;background:none repeat scroll 0 0 #ededed;color:#444;font-size:18px;font-weight:normal;padding:45px 10px 50px 10px!important;text-align:center;line-height:25px}#wc_openModalFormAction>div#wc_response_info a.close{background-position-x:right;background-position-y:top}#wpcomm #bywpdiscuz{display:none}#wpcomm .by-wpdiscuz{text-align:right;border-top:#ddd solid 1px;padding:1px 1px 1px 1px}#wpcomm .by-wpdiscuz a{font-size:11px;font-weight:bold;text-align:right;color:#ccc;padding:1px;margin:0;line-height:12px;border:0;text-decoration:none}#wpcomm .wpdimg{border:0;padding:0;margin:0;height:12px;cursor:pointer;display:inline;clear:both}#wc_unsubscribe_message{margin:10px auto 1px auto;padding:10px;text-align:center;border:#0d0 1px dotted;background:#cfc}.wc_unsubscribe_message{font-size:14px;color:#444}#wpcomm .wc_comment_level-3{margin-left:40px!important}#wpcomm .wc_comment_level-4{margin-left:40px!important}#wpcomm .wc_comment_level-5{margin-left:40px!important}#wpcomm .wc_editable_div{-moz-appearance:textfield-multiline;-webkit-appearance:textarea;border:1px solid #ccc;border-radius:0;font:medium -moz-fixed;font:-webkit-small-control;overflow:auto;resize:both;box-sizing:border-box;height:46px;max-width:100%;min-height:46px!important;padding:5px;width:100%}#wpcomm .wc_cancel_edit{display:none}#wpcomm .wc-comment-text p{margin-bottom:10px}#wpcomm .wc-comment-right textarea.wc_edit_comment{height:80px;max-height:200px}#wpcomm .wc_social_plugin_wrapper{width:auto}#wpcomm .wc_social_plugin_wrapper .wp-social-login-connect-with{float:left;font-size:13px;padding:2px 7px 0 0;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper .wp-social-login-provider-list{padding:1px;text-align:left;margin-bottom:-10px}#wpcomm .wc-secondary-forms-social-content .wp-social-login-provider-list{padding:1px;text-align:right}#wpcomm .wc-secondary-forms-social-content .wp-social-login-provider-list img{width:20px;height:20px;float:none;display:inline;border:0}#wpcomm .wc_social_plugin_wrapper .wp-social-login-provider-list img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc-form-wrapper{clear:both}#wpcomm .wc_comm_form .wc_secondary_form{clear:both}#wpcomm .wc_comm_form .wc-field-comment{clear:both}#wpcomm .wc_social_plugin_wrapper .social_connect_ui{padding:0;clear:both;margin:0;margin-top:-20px;margin-bottom:-10px}#wpcomm .wc_social_plugin_wrapper .comment-form-social-connect{display:inherit;padding:0;margin:0;float:left;line-height:35px;padding-right:10px}#wpcomm .wc_social_plugin_wrapper .social_connect_form img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc_social_plugin_wrapper .social_connect_form{float:left;line-height:35px;text-align:left;vertical-align:middle}#wpcomm .wc_social_plugin_wrapper .comment-form-social-connect label{display:inherit;padding:0;margin:0;font-style:normal;font-weight:normal;border:0;font-size:13px;text-transform:uppercase}#social_connect_facebook_auth,#social_connect_twitter_auth,#social_connect_google_auth,#social_connect_google_plus_auth,#social_connect_yahoo_auth,#social_connect_wordpress_auth{clear:both;padding:0;margin:0}#wpcomm .wc-secondary-forms-social-content .social_connect_ui{padding:0;clear:both;margin:0;text-align:right}#wpcomm .wc-secondary-forms-social-content .comment-form-social-connect{display:inherit;padding:0;margin:0;float:left;line-height:35px;padding-right:10px}#wpcomm .wc-secondary-forms-social-content .social_connect_form img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc-secondary-forms-social-content .social_connect_form{float:left;width:100%;text-align:right;padding:0 0 5px 0;line-height:20px;vertical-align:middle}#wpcomm .wc-secondary-forms-social-content .comment-form-social-connect label{display:inherit;padding:0;margin:0;font-style:normal;font-weight:normal;border:0;font-size:13px;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper .wp-social-login-connect-with_by_the_champ{float:left;font-size:13px;padding:5px 7px 0 0;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper ul.wc_social_login_by_the_champ{list-style:none outside none!important;margin:0!important;padding-left:0!important}#wpcomm .wc_social_plugin_wrapper ul.wc_social_login_by_the_champ .theChampLoginButton{width:24px!important;height:24px!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ{list-style:none outside none!important;margin:0!important;padding-left:0!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ .theChampLoginButton{width:24px!important;height:24px!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ li{float:right!important} #wpcomm .wc_social_plugin_wrapper .theChampFacebookButton{ display:block!important; } #wpcomm .theChampTwitterButton{background-position:-4px -68px!important}#wpcomm .theChampGoogleButton{background-position:-36px -2px!important}#wpcomm .theChampVkontakteButton{background-position:-35px -67px!important}#wpcomm .theChampLinkedinButton{background-position:-34px -34px!important}#wpcomm input[type="text"], #wpcomm input[type="email"], #wpcomm input[type="password"], #wpcomm input[type="url"]{ line-height: inherit!important;}#wpcomm .wc-form-wrapper{ clear: both; }
1
+ #wc-comment-header{padding:20px 5px 1px 5px;display:block;float:none;clear:both;font-size:18px}#wpcomm form div{box-sizing:inherit}#wpcomm form .wpdiscuz-item{display:block;height:auto}.wpdiscuz-item input{border-radius:0;height:auto;width:auto}#wpcomm{margin:15px 5px;padding:1px 0 10px 0;border-top:#ddd solid 1px}#wpcomm form{margin:0;padding:0;background:0;border:0;width:auto!important}#wpcomm form div{margin:0}#wc_show_hide_loggedin_username{padding:10px 5px 5px 5px;font-size:13px}#wpcomm .wc_new_comment_and_replies{margin:0;padding:0;width:100%;height:auto;background:transparent}#wpcomm .wc_new_comment_and_replies .wc_new_comment{float:right;display:none;padding:3px 10px;font-size:12px;margin:1px 0 1px 3px;cursor:pointer;color:#fff;line-height:15px}#wpcomm .wc_new_comment_and_replies .wc_new_reply{float:right;display:none;padding:3px 10px;font-size:12px;margin:1px 0 1px 1px;cursor:pointer;color:#fff;line-height:15px}#wpcomm .wc-comment-bar{width:100%;padding:0;display:block}#wpcomm .wc-comment-title{margin:0;line-height:18px;font-weight:bold;padding:10px;margin-bottom:10px;font-size:13px;text-align:right;border-bottom:#ccc dotted 1px;padding-bottom:10px}#wpcomm .wc-form-wrapper{padding:10px;margin-top:20px;border:1px solid #f1f1f1}#wpcomm .wc-author-data{margin-bottom:3px}#wpcomm .wc-field-submit{padding:5px 0 13px 0}#wpcomm .wc-field-name{width:49%;float:left}#wpcomm .wc-field-email{width:49%;float:right;text-align:right}#wpcomm .wc-field-comment{margin:5px auto 1px auto}#wpcomm .wc-field-comment .wc-field-avatararea{width:60px;float:left}#wpcomm .wc-field-comment .wc-field-textarea{margin-left:65px}#wpcomm .wc-field-captcha{width:49%;float:left;margin:0;height:auto!important}#wpcomm .wc-field-submit{width:49%;float:right;text-align:right;margin:0}#wpcomm .wc-field-website{width:100%;padding:0 0 10px 0;margin:0;display:block}#wpcomm .wc-field-name input[type="text"]{width:99%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-website input[type="url"],#wpcomm .wc-field-website input[type="text"]{width:100%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-email input[type="email"]{width:100%;max-width:100%;padding:3px 5px;font-size:14px;margin:0;height:29px}#wpcomm .wc-field-captcha input[type="text"]{max-width:45%;min-width:85px;padding:3px 5px;font-size:14px;margin:0 5px 2px 0;height:27px}@media screen and (max-width:1000px){#wpcomm .wc-field-captcha input[type="text"]{max-width:45%;min-width:90px}}@media screen and (max-width:850px){#wpcomm .wc-field-captcha input[type="text"]{max-width:35%;min-width:90px}}@media screen and (max-width:790px){#wpcomm .wc-field-captcha input[type="text"]{max-width:30%;min-width:80px}}@media screen and (max-width:690px){#wpcomm .wc-field-captcha input[type="text"]{max-width:30%;min-width:80px}}#wpcomm .wc-field-submit input[type="submit"]{margin:1px}#wpcomm .wc-field-submit input[type="button"]{margin:1px;border:#ddd 1px solid;font-size:13px;line-height:16px;padding:6px 15px;clear:both;float:none}#wpcomm .captcha_msg{color:#999;font-family:Lato,sans-serif;font-size:13px;line-height:18px;display:block;clear:both;padding:5px 0 0 0}#wpcomm .wc-field-comment textarea,#wpcomm .wc-comment .wc-comment-right textarea{width:100%;max-width:100%;height:48px;min-height:48px!important;padding:5px;box-sizing:border-box;border-radius:0}#wpcomm .wc-label{display:block;font-size:14px;padding:5px}#wpcomm .wc_manage_subscribtions{cursor:pointer;padding:0 0 5px 0;display:block;font-size:13px;line-height:16px;font-family:Lato,sans-serif}#wpcomm .wc_notification_checkboxes{padding:7px 0 7px 0;text-align:left;display:none;border-top:1px dotted #ddd;line-height:18px;font-size:13px}#wpcomm .wc_notification_checkboxes input[type="checkbox"],#wpcomm .wc_notification_checkboxes input[type="radio"]{overflow:none;width:inherit;font-size:13px;margin:0;padding:0;display:inline;clear:both;float:none;max-height:20px;margin:0 3px}#wpcomm .wc_notification_checkboxes label{clear:both;float:none;font-weight:normal}#wpcomm .wc-label-comment-notify{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-label-reply-notify,#wpcomm .wc-notification-none{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-label-all-reply-notify{display:inline;font-size:13px;padding:0;margin:0;border:0;line-height:15px;text-decoration:none;color:#999;font-family:Lato,sans-serif;cursor:pointer}#wpcomm .wc-field-captcha .wc-label{font-size:14px;padding:5px;text-align:center;display:inline}#wpcomm input[type="text"],#wpcomm input[type="email"],#wpcomm input[type="url"],#wpcomm textarea{font-size:14px;color:#777;font-family:Lato,sans-serif;box-sizing:border-box;margin:0;clear:both;float:none;display:inline}#wpcomm .wc-copyright{margin:0 0 0 auto;text-align:right;display:block;padding-top:2px}#wpcomm .wc-copyright a{font-size:9px;color:#aaa;cursor:help;text-decoration:none;margin:0;padding:0;border:0}#wpcomm .wc-thread-wrapper{padding:10px 0;margin-bottom:10px}#wpcomm .wc-comment{margin-bottom:13px}#wpcomm .wc-comment .wc-field-submit{padding:5px 0 5px 0}#wpcomm .wc-comment .wc-form-wrapper{padding:10px 10px 7px 10px}#wpcomm .wc-comment .wc-comment-left{width:62px;float:left;position:absolute;text-align:center;font-family:Lato,sans-serif;line-height:16px}#wpcomm .wc-comment .wc-comment-right{margin-left:70px;border:#f5f5f5 1px solid;padding:10px 10px 3px 10px}#wpcomm .wc-reply .wc-comment-right{margin-left:70px;border:#f5f5f5 1px solid;padding:10px 10px 3px 10px}#wpcomm .wc-reply{margin-top:10px;margin-bottom:0;margin-left:40px}#wpcomm .wc-must-login{margin:0;font-size:14px;line-height:16px;padding:10px;text-align:center}#wpcomm hr{background-color:rgba(0,0,0,0.1);border:0 none;height:1px;margin:10px 0}#wpcomm .avatar{border:1px solid rgba(0,0,0,0.1);padding:2px;margin:0 auto;float:none;display:inline;width:48px;height:auto}#wpcomm .wc-form-wrapper .avatar{margin-top:3px}#wpcomm .wc-comment-text{text-align:left;padding-bottom:5px;line-height:20px;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}#wpcomm .wc-comment-text img{max-width:90%;height:auto}#wpcomm .wc-comment-header{margin-bottom:7px;font-family:Lato,sans-serif}#wpcomm .wc-comment-author{font-size:16px;width:40%;float:left;white-space:nowrap}#wpcomm .wc-comment-author a{font-size:16px;white-space:nowrap;text-decoration:none}#wpcomm .wc-comment-label{color:#fff;padding:2px 5px;font-size:12px;margin:4px auto;text-align:center;display:table;line-height:16px}#wpcomm .wc-comment-date{font-size:12px;color:#999;float:right;text-align:right;white-space:nowrap;line-height:27px}#wpcomm .wc-comment-footer{font-size:12px;font-weight:normal;color:#999;margin-top:12px;min-height:28px;font-family:Lato,sans-serif}#wpcomm .wc-comment-footer a,#wpcomm .wc-comment-footer span.wc_editable_comment,#wpcomm .wc-comment-footer span.wc_save_edited_comment,#wpcomm span.wc_cancel_edit{text-decoration:none;font-size:13px;font-weight:bold;cursor:pointer}#wpcomm .wc-comment-footer .share_buttons_box img{vertical-align:middle}#wpcomm .wc-comment-footer .wc-voted{color:#666;cursor:default}#wpcomm .wc-comment-footer .wc-vote-img-up{padding:0;margin:0 0 -2px 0;vertical-align:baseline;display:inline;float:none;clear:both;border:0;background:transparent;width:16px;height:16px;border-radius:0;box-shadow:none;box-sizing:border-box}#wpcomm .wc-comment-footer .wc-vote-img-down{padding:0;margin:0 0 -6px 0;vertical-align:baseline;display:inline;float:none;clear:both;border:0;background:transparent;width:16px;height:16px;border-radius:0;box-shadow:none;box-sizing:border-box}#wpcomm .wc-comment-footer .wc-vote-result{padding:2px 6px 2px 5px;color:#fff;font-size:12px;font-weight:bold;display:inline;margin-right:5px}#wpcomm .wc-toggle{float:right;text-align:right;padding-right:0;margin-right:0;color:#999;cursor:pointer;font-size:12px;white-space:nowrap}#wpcomm .wpdiscuz-item{background:0;border-radius:0;box-shadow:none}#wc_response_info img{margin:0 auto 0 auto;box-shadow:none}#wpcomm .share_buttons_box img{display:inline!important;width:16px;height:16px}#wpcomm .wc-captcha-label img{display:inline!important;border:0;padding:0 0 0 2px;margin:0;vertical-align:middle}#wpcomm .wc-reply-link,#wpcomm .wc-vote-link,#wpcomm .wc-share-link{cursor:pointer;font-size:13px;font-weight:bold}#wpcomm .wc-form-footer,#wpcomm .wc-secondary-forms-wrapper{display:none}#wpcomm .wc-field-captcha .wc-captcha-label{padding:0;display:inline-block}#wpcomm .wc_captcha_refresh_img{cursor:pointer;margin-left:3px}#wpcomm .share_buttons_box{display:none}#wpcomm .wc-comment.wc-no-left-margin{margin-left:0!important}div.wc_modal{background:none repeat scroll 0 0 #ededed;color:#444;font-size:18px;font-weight:normal;padding:45px 10px 50px 10px!important;text-align:center;line-height:25px}.wc-load-more-submit-wrap{width:100%;text-align:center;margin-bottom:20px;margin-top:25px}.wc-load-more-submit{width:auto!important;padding:10px 20px;text-align:center;background-color:#fafafa;border-radius:3px;color:#555;cursor:pointer}.wc-load-more-submit:hover{background-image:-moz-linear-gradient(center top,#f4f4f4,#e6e6e6);background-repeat:repeat-x;box-shadow:0 1px 2px rgba(64,64,64,0.1);color:#7c7c7c}#wc_openModalFormAction>div#wc_response_info{width:200px;background:none repeat scroll 0 0 #ededed;color:#444;font-size:18px;font-weight:normal;padding:45px 10px 50px 10px!important;text-align:center;line-height:25px}#wc_openModalFormAction>div#wc_response_info a.close{background-position-x:right;background-position-y:top}#wpcomm #bywpdiscuz{display:none}#wpcomm .by-wpdiscuz{text-align:right;border-top:#ddd solid 1px;padding:1px 1px 1px 1px}#wpcomm .by-wpdiscuz a{font-size:11px;font-weight:bold;text-align:right;color:#ccc;padding:1px;margin:0;line-height:12px;border:0;text-decoration:none}#wpcomm .wpdimg{border:0;padding:0;margin:0;height:12px;cursor:pointer;display:inline;clear:both}#wc_unsubscribe_message{margin:10px auto 1px auto;padding:10px;text-align:center;border:#0d0 1px dotted;background:#cfc}.wc_unsubscribe_message{font-size:14px;color:#444}#wpcomm .wc_comment_level-3{margin-left:40px!important}#wpcomm .wc_comment_level-4{margin-left:40px!important}#wpcomm .wc_comment_level-5{margin-left:40px!important}#wpcomm .wc_editable_div{-moz-appearance:textfield-multiline;-webkit-appearance:textarea;border:1px solid #ccc;border-radius:0;font:medium -moz-fixed;font:-webkit-small-control;overflow:auto;resize:both;box-sizing:border-box;height:46px;max-width:100%;min-height:46px!important;padding:5px;width:100%}#wpcomm .wc_cancel_edit{display:none}#wpcomm .wc-comment-text p{margin-bottom:10px}#wpcomm .wc-comment-right textarea.wc_edit_comment{height:80px;max-height:200px}#wpcomm .wc_social_plugin_wrapper{width:auto}#wpcomm .wc_social_plugin_wrapper .wp-social-login-connect-with{float:left;font-size:13px;padding:2px 7px 0 0;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper .wp-social-login-provider-list{padding:1px;text-align:left;margin-bottom:-10px}#wpcomm .wc-secondary-forms-social-content .wp-social-login-provider-list{padding:1px;text-align:right}#wpcomm .wc-secondary-forms-social-content .wp-social-login-provider-list img{width:20px;height:20px;float:none;display:inline;border:0}#wpcomm .wc_social_plugin_wrapper .wp-social-login-provider-list img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc-form-wrapper{clear:both}#wpcomm .wc_comm_form .wc_secondary_form{clear:both}#wpcomm .wc_comm_form .wc-field-comment{clear:both}#wpcomm .wc_social_plugin_wrapper .social_connect_ui{padding:0;clear:both;margin:0;margin-top:-20px;margin-bottom:-10px}#wpcomm .wc_social_plugin_wrapper .comment-form-social-connect{display:inherit;padding:0;margin:0;float:left;line-height:35px;padding-right:10px}#wpcomm .wc_social_plugin_wrapper .social_connect_form img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc_social_plugin_wrapper .social_connect_form{float:left;line-height:35px;text-align:left;vertical-align:middle}#wpcomm .wc_social_plugin_wrapper .comment-form-social-connect label{display:inherit;padding:0;margin:0;font-style:normal;font-weight:normal;border:0;font-size:13px;text-transform:uppercase}#social_connect_facebook_auth,#social_connect_twitter_auth,#social_connect_google_auth,#social_connect_google_plus_auth,#social_connect_yahoo_auth,#social_connect_wordpress_auth{clear:both;padding:0;margin:0}#wpcomm .wc-secondary-forms-social-content .social_connect_ui{padding:0;clear:both;margin:0;text-align:right}#wpcomm .wc-secondary-forms-social-content .comment-form-social-connect{display:inherit;padding:0;margin:0;float:left;line-height:35px;padding-right:10px}#wpcomm .wc-secondary-forms-social-content .social_connect_form img{width:24px;height:24px;float:none;display:inline;border:0}#wpcomm .wc-secondary-forms-social-content .social_connect_form{float:left;width:100%;text-align:right;padding:0 0 5px 0;line-height:20px;vertical-align:middle}#wpcomm .wc-secondary-forms-social-content .comment-form-social-connect label{display:inherit;padding:0;margin:0;font-style:normal;font-weight:normal;border:0;font-size:13px;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper .wp-social-login-connect-with_by_the_champ{float:left;font-size:13px;padding:5px 7px 0 0;text-transform:uppercase}#wpcomm .wc_social_plugin_wrapper ul.wc_social_login_by_the_champ{list-style:none outside none!important;margin:0!important;padding-left:0!important}#wpcomm .wc_social_plugin_wrapper ul.wc_social_login_by_the_champ .theChampLoginButton{width:24px!important;height:24px!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ{list-style:none outside none!important;margin:0!important;padding-left:0!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ .theChampLoginButton{width:24px!important;height:24px!important}#wpcomm .wc-secondary-forms-social-content ul.wc_social_login_by_the_champ li{float:right!important} #wpcomm .wc_social_plugin_wrapper .theChampFacebookButton{ display:block!important; } #wpcomm .theChampTwitterButton{background-position:-4px -68px!important}#wpcomm .theChampGoogleButton{background-position:-36px -2px!important}#wpcomm .theChampVkontakteButton{background-position:-35px -67px!important}#wpcomm .theChampLinkedinButton{background-position:-34px -34px!important}#wpcomm input[type="text"], #wpcomm input[type="email"], #wpcomm input[type="password"], #wpcomm input[type="url"]{ line-height: inherit!important;}#wpcomm .wc-form-wrapper{ clear: both; } #wpcomm .wc-comment-text ol li, ul li{ margin-left:20px; } #wpcomm .wc-comment-text blockquote { font-size: inherit; line-height: inherit; margin-bottom: 1em; margin-left: 1em; padding-left: 1em; }
files/js/validator.js CHANGED
@@ -10,7 +10,8 @@ var wpdiscuzValidator = (function ($) {
10
  var message, tests, checkField, validate, mark, unmark, field, minmax, defaults,
11
  validateWords, lengthRange, lengthLimit, pattern, alertTxt, data,
12
  email_illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/,
13
- email_filter = /^.+@.+\..{2,3}$/;
 
14
  /* general text messages
15
  */
16
  message = {
10
  var message, tests, checkField, validate, mark, unmark, field, minmax, defaults,
11
  validateWords, lengthRange, lengthLimit, pattern, alertTxt, data,
12
  email_illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/,
13
+ email_filter = /^.+@.+\..{2,4}$/;
14
+ // email_filter = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/;
15
  /* general text messages
16
  */
17
  message = {
files/js/validator.min.js CHANGED
@@ -1 +1 @@
1
- var wpdiscuzValidator=(function(c){var l,e,o,q,h,s,b,g,j,r,m,t,u,f,v,a=/[\(\)\<\>\,\;\:\\\/\"\[\]]/,d=/^.+@.+\..{2,3}$/;l={invalid:"invalid input",empty:"please put something here",min:"input is too short",max:"input is too long",number_min:"too low",number_max:"too high",url:"invalid URL",number:"not a number",email:"email address is invalid",email_repeat:"emails do not match",password_repeat:"passwords do not match",repeat:"no match",complete:"input is not complete",select:"Please select an option"};if(!window.console){console={};console.log=console.warn=function(){return}}j={alerts:true};e={sameAsPlaceholder:function(w){return c.fn.placeholder&&w.attr("placeholder")!==undefined&&v.val==w.prop("placeholder")},hasValue:function(w){if(!w){f=l.empty;return false}return true},linked:function(x,w){if(w!=x){f=l[v.type+"_repeat"]||l.no_match;return false}return true},email:function(w){if(!d.test(w)||w.match(a)){f=w?l.email:l.empty;return false}return true},text:function(x){if(r){var C=x.split(" ");var B=function(D){for(var E=C.length;E--;){if(C[E].length<D){return false}}return true};if(C.length<r||!B(2)){f=l.complete;return false}return true}if(m&&x.length<m[0]){f=l.min;return false}if(m&&m[1]&&x.length>m[1]){f=l.max;return false}if(t&&t.length){var A=false;while(t.length){if(t.pop()==x.length){A=true}}if(!A){f=l.complete;return false}}if(u){var z,w;switch(u){case"alphanumeric":z=/^[a-z0-9]+$/i;break;case"numeric":z=/^[0-9]+$/i;break;case"phone":z=/^\+?([0-9]|[-|' '])+$/i;break;default:z=u}try{w=new RegExp(z).test(x);if(x&&!w){return false}}catch(y){console.log(y,b,"regex is invalid");return false}}return true},number:function(w){if(isNaN(parseFloat(w))&&!isFinite(w)){f=l.number;return false}else{if(m&&w.length<m[0]){f=l.min;return false}else{if(m&&m[1]&&w.length>m[1]){f=l.max;return false}else{if(g[0]&&(w|0)<g[0]){f=l.number_min;return false}else{if(g[1]&&(w|0)>g[1]){f=l.number_max;return false}}}}}return true},date:function(x){var y,w=x.split(/[-./]/g),z;if(b[0].valueAsNumber){return true}for(z=w.length;z--;){if(isNaN(parseFloat(x))&&!isFinite(x)){return false}}try{y=new Date(w[2],w[1]-1,w[0]);if(y.getMonth()+1==w[1]&&y.getDate()==w[0]){return y}return false}catch(B){console.log("date test: ",err);return false}},url:function(w){function x(y){}if(!x(w)){console.log(w);f=w?l.url:l.empty;return false}return true},hidden:function(w){if(m&&w.length<m[0]){f=l.min;return false}if(u){var x;if(u=="alphanumeric"){x=/^[a-z0-9]+$/i;if(!x.test(w)){return false}}}return true},select:function(w){if(!e.hasValue(w)){f=l.select;return false}return true}};h=function(y,z){if(!z||!y||!y.length){return false}var x=y.parents(".wpdiscuz-item"),w;if(x.hasClass("bad")){if(j.alerts){x.find(".alert").html(z)}}else{if(j.alerts){w=c('<div class="alert">').html(z);x.append(w)}}x.removeClass("bad");setTimeout(function(){x.addClass("bad")},0)};s=function(w){if(!w||!w.length){console.warn('no "field" argument, null or DOM object not found');return false}w.parents(".wpdiscuz-item").removeClass("bad").find(".alert").remove()};function k(w,x){if(w=="tel"){u=u||"phone"}if(!w||w=="password"||w=="tel"){w="text"}return e[w](x)}function p(w){b=c(w);b.data("valid",true);b.data("type",b.attr("type"));u=b.attr("pattern")}function i(w){p(this);if(w.charCode){return k(this.type,String.fromCharCode(w.charCode))}}function o(){if(this.type!="hidden"&&c(this).is(":hidden")){return true}p(this);b.data("val",b[0].value.replace(/^\s+|\s+$/g,""));v=b.data();f=l[b.prop("name")]||l.invalid;if(b[0].nodeName.toLowerCase()==="select"){v.type="select"}if(b[0].nodeName.toLowerCase()==="textarea"){v.type="text"}r=v.validateWords||0;m=v.validateLengthRange?(v.validateLengthRange+"").split(","):[1];t=v.validateLength?(v.validateLength+"").split(","):false;g=v.validateMinmax?(v.validateMinmax+"").split(","):"";v.valid=e.hasValue(v.val);if(v.valid){if(e.sameAsPlaceholder(b)){f=l.empty;v.valid=false}if(v.validateLinked){var w=v.validateLinked.indexOf("#")==0?c(v.validateLinked):c(":input[name="+v.validateLinked+"]");v.valid=e.linked(v.val,w.val())}else{if(v.valid||v.type=="select"){v.valid=k(v.type,v.val)}}}if(b.hasClass("wpdiscuz_optional")&&!v.val){v.valid=true}if(v.valid){s(b)}else{h(b,f);submit=false}return v.valid}function n(w){w=c(w);if(w.length==0){console.warn("element not found");return false}var y=this,z=true,x=w.find(":input").filter("[required=required], .required, .wpdiscuz_optional").not("[disabled=disabled]");x.each(function(){z=z*o.apply(this)});return !!z}return{defaults:j,checkField:o,keypress:i,checkAll:n,mark:h,unmark:s,message:l,tests:e}})(jQuery);
1
+ var wpdiscuzValidator=(function(c){var l,e,o,q,h,s,b,g,j,r,m,t,u,f,v,a=/[\(\)\<\>\,\;\:\\\/\"\[\]]/,d=/^.+@.+\..{2,4}$/;l={invalid:"invalid input",empty:"please put something here",min:"input is too short",max:"input is too long",number_min:"too low",number_max:"too high",url:"invalid URL",number:"not a number",email:"email address is invalid",email_repeat:"emails do not match",password_repeat:"passwords do not match",repeat:"no match",complete:"input is not complete",select:"Please select an option"};if(!window.console){console={};console.log=console.warn=function(){return}}j={alerts:true};e={sameAsPlaceholder:function(w){return c.fn.placeholder&&w.attr("placeholder")!==undefined&&v.val==w.prop("placeholder")},hasValue:function(w){if(!w){f=l.empty;return false}return true},linked:function(x,w){if(w!=x){f=l[v.type+"_repeat"]||l.no_match;return false}return true},email:function(w){if(!d.test(w)||w.match(a)){f=w?l.email:l.empty;return false}return true},text:function(x){if(r){var C=x.split(" ");var B=function(D){for(var E=C.length;E--;){if(C[E].length<D){return false}}return true};if(C.length<r||!B(2)){f=l.complete;return false}return true}if(m&&x.length<m[0]){f=l.min;return false}if(m&&m[1]&&x.length>m[1]){f=l.max;return false}if(t&&t.length){var A=false;while(t.length){if(t.pop()==x.length){A=true}}if(!A){f=l.complete;return false}}if(u){var z,w;switch(u){case"alphanumeric":z=/^[a-z0-9]+$/i;break;case"numeric":z=/^[0-9]+$/i;break;case"phone":z=/^\+?([0-9]|[-|' '])+$/i;break;default:z=u}try{w=new RegExp(z).test(x);if(x&&!w){return false}}catch(y){console.log(y,b,"regex is invalid");return false}}return true},number:function(w){if(isNaN(parseFloat(w))&&!isFinite(w)){f=l.number;return false}else{if(m&&w.length<m[0]){f=l.min;return false}else{if(m&&m[1]&&w.length>m[1]){f=l.max;return false}else{if(g[0]&&(w|0)<g[0]){f=l.number_min;return false}else{if(g[1]&&(w|0)>g[1]){f=l.number_max;return false}}}}}return true},date:function(x){var y,w=x.split(/[-./]/g),z;if(b[0].valueAsNumber){return true}for(z=w.length;z--;){if(isNaN(parseFloat(x))&&!isFinite(x)){return false}}try{y=new Date(w[2],w[1]-1,w[0]);if(y.getMonth()+1==w[1]&&y.getDate()==w[0]){return y}return false}catch(B){console.log("date test: ",err);return false}},url:function(w){function x(y){return/^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/i.test(y)}if(!x(w)){console.log(w);f=w?l.url:l.empty;return false}return true},hidden:function(w){if(m&&w.length<m[0]){f=l.min;return false}if(u){var x;if(u=="alphanumeric"){x=/^[a-z0-9]+$/i;if(!x.test(w)){return false}}}return true},select:function(w){if(!e.hasValue(w)){f=l.select;return false}return true}};h=function(y,z){if(!z||!y||!y.length){return false}var x=y.parents(".wpdiscuz-item"),w;if(x.hasClass("bad")){if(j.alerts){x.find(".alert").html(z)}}else{if(j.alerts){w=c('<div class="alert">').html(z);x.append(w)}}x.removeClass("bad");setTimeout(function(){x.addClass("bad")},0)};s=function(w){if(!w||!w.length){console.warn('no "field" argument, null or DOM object not found');return false}w.parents(".wpdiscuz-item").removeClass("bad").find(".alert").remove()};function k(w,x){if(w=="tel"){u=u||"phone"}if(!w||w=="password"||w=="tel"){w="text"}return e[w](x)}function p(w){b=c(w);b.data("valid",true);b.data("type",b.attr("type"));u=b.attr("pattern")}function i(w){p(this);if(w.charCode){return k(this.type,String.fromCharCode(w.charCode))}}function o(){if(this.type!="hidden"&&c(this).is(":hidden")){return true}p(this);b.data("val",b[0].value.replace(/^\s+|\s+$/g,""));v=b.data();f=l[b.prop("name")]||l.invalid;if(b[0].nodeName.toLowerCase()==="select"){v.type="select"}if(b[0].nodeName.toLowerCase()==="textarea"){v.type="text"}r=v.validateWords||0;m=v.validateLengthRange?(v.validateLengthRange+"").split(","):[1];t=v.validateLength?(v.validateLength+"").split(","):false;g=v.validateMinmax?(v.validateMinmax+"").split(","):"";v.valid=e.hasValue(v.val);if(v.valid){if(e.sameAsPlaceholder(b)){f=l.empty;v.valid=false}if(v.validateLinked){var w=v.validateLinked.indexOf("#")==0?c(v.validateLinked):c(":input[name="+v.validateLinked+"]");v.valid=e.linked(v.val,w.val())}else{if(v.valid||v.type=="select"){v.valid=k(v.type,v.val)}}}if(b.hasClass("wpdiscuz_optional")&&!v.val){v.valid=true}if(v.valid){s(b)}else{h(b,f);submit=false}return v.valid}function n(w){w=c(w);if(w.length==0){console.warn("element not found");return false}var y=this,z=true,x=w.find(":input").filter("[required=required], .required, .wpdiscuz_optional").not("[disabled=disabled]");x.each(function(){z=z*o.apply(this)});return !!z}return{defaults:j,checkField:o,keypress:i,checkAll:n,mark:h,unmark:s,message:l,tests:e}})(jQuery);
files/js/wc-frontend.js CHANGED
@@ -1,5 +1,5 @@
1
  jQuery(document).ready(function ($) {
2
- $(document).delegate('.wc_manage_subscribtions', 'click', function () {
3
  $(this).next('.wc_notification_checkboxes').slideToggle(700);
4
  });
5
- });
1
  jQuery(document).ready(function ($) {
2
+ $(document).delegate('.wc_manage_subscribtions', 'click', function () {
3
  $(this).next('.wc_notification_checkboxes').slideToggle(700);
4
  });
5
+ });
includes/wc-db-helper.php CHANGED
@@ -7,7 +7,7 @@ class WC_DB_Helper {
7
  private $users_voted;
8
  private $phrases;
9
  private $email_notification;
10
-
11
  function __construct() {
12
  global $wpdb;
13
  $this->db = $wpdb;
@@ -109,7 +109,7 @@ class WC_DB_Helper {
109
  */
110
  public function add_vote_type($user_id, $comment_id, $vote_type) {
111
  $is_guest = is_user_logged_in() ? 0 : 1;
112
- $sql = $this->db->prepare("INSERT INTO `" . $this->users_voted . "`(`user_id`, `comment_id`, `vote_type`,`is_guest`)VALUES(%s,%d,%d,%d);", $user_id, $comment_id, $vote_type,$is_guest);
113
  return $this->db->query($sql);
114
  }
115
 
@@ -140,9 +140,9 @@ class WC_DB_Helper {
140
  $phrase_value = $phrase_value[WC_Helper::$datetime][0];
141
  }
142
  if ($this->is_phrase_exists($phrase_key)) {
143
- $sql = $this->db->prepare("UPDATE `" . $this->phrases . "` SET `phrase_value` = %s WHERE `phrase_key` = %s;", str_replace('"','&#34;',$phrase_value), $phrase_key);
144
  } else {
145
- $sql = $this->db->prepare("INSERT INTO `" . $this->phrases . "`(`phrase_key`, `phrase_value`)VALUES(%s, %s);", $phrase_key, str_replace('"','&#34;',$phrase_value));
146
  }
147
  $this->db->query($sql);
148
  }
@@ -307,11 +307,12 @@ class WC_DB_Helper {
307
  * create unsubscribe link
308
  */
309
  public function wc_unsubscribe_link($id, $email, $subscribtion_type) {
 
310
  $sql_subscriber_data = $this->db->prepare("SELECT `id`, `post_id`, `activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = %s AND `subscribtion_id` = %d AND `email` LIKE %s", $subscribtion_type, $id, $email);
311
  $wc_unsubscribe = $this->db->get_row($sql_subscriber_data, ARRAY_A);
312
  $post_id = $wc_unsubscribe['post_id'];
313
-
314
- $wc_unsubscribe_link = get_permalink($post_id) . "?wpdiscuzSubscribeID=" . $wc_unsubscribe['id'] . "&key=" . $wc_unsubscribe['activation_key'] . '&#wc_unsubscribe_message';
315
  return $wc_unsubscribe_link;
316
  }
317
 
@@ -319,10 +320,12 @@ class WC_DB_Helper {
319
  * generate confirm link
320
  */
321
  public function wc_confirm_link($subscrib_id) {
 
322
  $sql_subscriber_data = $this->db->prepare("SELECT `id`, `post_id`, `activation_key` FROM `" . $this->email_notification . "` WHERE `id` = %d ", $subscrib_id);
323
  $wc_confirm = $this->db->get_row($sql_subscriber_data, ARRAY_A);
324
  $post_id = $wc_confirm['post_id'];
325
- $wc_confirm_link = get_permalink($post_id) . "?wpdiscuzConfirmID=" . $wc_confirm['id'] . "&wpdiscuzConfirmKey=" . $wc_confirm['activation_key'] . '&wpDiscuzComfirm=yes&#wc_unsubscribe_message';
 
326
  return $wc_confirm_link;
327
  }
328
 
@@ -346,7 +349,7 @@ class WC_DB_Helper {
346
  $sql_alter = "ALTER TABLE `" . $this->phrases . "` MODIFY `phrase_value` TEXT NOT NULL;";
347
  $this->db->query($sql_alter);
348
  }
349
-
350
  public function wc_alter_voting_table() {
351
  $sql_alter = "ALTER TABLE `" . $this->users_voted . "` MODIFY `user_id` VARCHAR(255) NOT NULL, ADD COLUMN `is_guest` TINYINT(1) DEFAULT 0, ADD INDEX `is_guest` (`is_guest`);";
352
  $this->db->query($sql_alter);
7
  private $users_voted;
8
  private $phrases;
9
  private $email_notification;
10
+
11
  function __construct() {
12
  global $wpdb;
13
  $this->db = $wpdb;
109
  */
110
  public function add_vote_type($user_id, $comment_id, $vote_type) {
111
  $is_guest = is_user_logged_in() ? 0 : 1;
112
+ $sql = $this->db->prepare("INSERT INTO `" . $this->users_voted . "`(`user_id`, `comment_id`, `vote_type`,`is_guest`)VALUES(%s,%d,%d,%d);", $user_id, $comment_id, $vote_type, $is_guest);
113
  return $this->db->query($sql);
114
  }
115
 
140
  $phrase_value = $phrase_value[WC_Helper::$datetime][0];
141
  }
142
  if ($this->is_phrase_exists($phrase_key)) {
143
+ $sql = $this->db->prepare("UPDATE `" . $this->phrases . "` SET `phrase_value` = %s WHERE `phrase_key` = %s;", str_replace('"', '&#34;', $phrase_value), $phrase_key);
144
  } else {
145
+ $sql = $this->db->prepare("INSERT INTO `" . $this->phrases . "`(`phrase_key`, `phrase_value`)VALUES(%s, %s);", $phrase_key, str_replace('"', '&#34;', $phrase_value));
146
  }
147
  $this->db->query($sql);
148
  }
307
  * create unsubscribe link
308
  */
309
  public function wc_unsubscribe_link($id, $email, $subscribtion_type) {
310
+ global $wp_rewrite;
311
  $sql_subscriber_data = $this->db->prepare("SELECT `id`, `post_id`, `activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = %s AND `subscribtion_id` = %d AND `email` LIKE %s", $subscribtion_type, $id, $email);
312
  $wc_unsubscribe = $this->db->get_row($sql_subscriber_data, ARRAY_A);
313
  $post_id = $wc_unsubscribe['post_id'];
314
+ $wc_unsubscribe_link = !$wp_rewrite->using_permalinks() ? get_permalink($post_id) . "&" : get_permalink($post_id) . "?" ;
315
+ $wc_unsubscribe_link .= "wpdiscuzSubscribeID=" . $wc_unsubscribe['id'] . "&key=" . $wc_unsubscribe['activation_key'] . '&#wc_unsubscribe_message';
316
  return $wc_unsubscribe_link;
317
  }
318
 
320
  * generate confirm link
321
  */
322
  public function wc_confirm_link($subscrib_id) {
323
+ global $wp_rewrite;
324
  $sql_subscriber_data = $this->db->prepare("SELECT `id`, `post_id`, `activation_key` FROM `" . $this->email_notification . "` WHERE `id` = %d ", $subscrib_id);
325
  $wc_confirm = $this->db->get_row($sql_subscriber_data, ARRAY_A);
326
  $post_id = $wc_confirm['post_id'];
327
+ $wc_confirm_link = !$wp_rewrite->using_permalinks() ? get_permalink($post_id) . "&" : get_permalink($post_id) . "?" ;
328
+ $wc_confirm_link .= "wpdiscuzConfirmID=" . $wc_confirm['id'] . "&wpdiscuzConfirmKey=" . $wc_confirm['activation_key'] . '&wpDiscuzComfirm=yes&#wc_unsubscribe_message';
329
  return $wc_confirm_link;
330
  }
331
 
349
  $sql_alter = "ALTER TABLE `" . $this->phrases . "` MODIFY `phrase_value` TEXT NOT NULL;";
350
  $this->db->query($sql_alter);
351
  }
352
+
353
  public function wc_alter_voting_table() {
354
  $sql_alter = "ALTER TABLE `" . $this->users_voted . "` MODIFY `user_id` VARCHAR(255) NOT NULL, ADD COLUMN `is_guest` TINYINT(1) DEFAULT 0, ADD INDEX `is_guest` (`is_guest`);";
355
  $this->db->query($sql_alter);
includes/wc-helper.php CHANGED
@@ -16,6 +16,29 @@ class WC_Helper {
16
  public static $second = 'wc_second_text';
17
  public static $seconds = 'wc_second_text_plural';
18
  private $wc_options_serialized;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  function __construct($wc_options_serialize) {
21
  $this->wc_options_serialized = $wc_options_serialize;
16
  public static $second = 'wc_second_text';
17
  public static $seconds = 'wc_second_text_plural';
18
  private $wc_options_serialized;
19
+ public $wc_allowed_tags = array(
20
+ 'br' => array(),
21
+ 'a' => array('href' => array(), 'title' => array(), 'target' => array(), 'rel' => array(), 'download' => array(), 'hreflang' => array(), 'media' => array(), 'type' => array()),
22
+ 'i' => array(),
23
+ 'b' => array(),
24
+ 'u' => array(),
25
+ 'strong' => array(),
26
+ 's' => array(),
27
+ 'p' => array(),
28
+ 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array()),
29
+ 'blockquote' => array('cite'=>array()),
30
+ 'ul'=> array(),
31
+ 'li'=> array(),
32
+ 'ol'=> array(),
33
+ 'code'=> array(),
34
+ 'em'=> array(),
35
+ 'abbr'=>array('title'=>array()),
36
+ 'q'=>array('cite'=>array()),
37
+ 'acronym'=>array('title'=>array()),
38
+ 'cite'=>array(),
39
+ 'strike'=>array(),
40
+ 'del'=>array('datetime'=>array()),
41
+ );
42
 
43
  function __construct($wc_options_serialize) {
44
  $this->wc_options_serialized = $wc_options_serialize;
languages/wpdiscuz-en.mo CHANGED
Binary file
languages/wpdiscuz-en.po CHANGED
@@ -1,42 +1,43 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wpDiscuz - Wordpress Comments\n"
4
- "POT-Creation-Date: 2015-05-15 22:52+0400\n"
5
- "PO-Revision-Date: 2015-05-15 22:52+0400\n"
6
  "Last-Translator: advancedcoding <advancedcoding@mail.ru>\n"
7
  "Language-Team: advancedcoding <advancedcoding@mail.ru>\n"
8
  "Language: en\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.7.6\n"
13
  "X-Poedit-Basepath: ..\n"
 
 
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
16
  "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
17
  "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
18
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
  "X-Poedit-SearchPathExcluded-0: *.js\n"
21
 
22
- #: comment-form/form.php:178 comment-form/tpl-comment.php:265
23
  msgid "Participate in this discussion via email"
24
  msgstr ""
25
 
26
- #: comment-form/form.php:316
27
  msgid "Connect with"
28
  msgstr ""
29
 
30
- #: comment-form/tpl-comment.php:87 wc.php:318
31
- msgid "Anonymous"
32
- msgstr ""
33
-
34
- #: comment-form/tpl-comment.php:179
35
  #: options/phrases-layout/phrases-comment.php:27
36
- #: options/wc-options-serialize.php:402
37
  msgid "Edit"
38
  msgstr ""
39
 
 
 
 
 
40
  #: options/options-layouts/settings-general.php:2
41
  msgid "General Settings"
42
  msgstr ""
@@ -89,88 +90,106 @@ msgstr ""
89
  msgid "Comment Threads Per Page"
90
  msgstr ""
91
 
92
- #: options/options-layouts/settings-general.php:98
 
 
 
 
93
  msgid "Comments max depth"
94
  msgstr ""
95
 
96
- #: options/options-layouts/settings-general.php:103
97
  msgid "Level"
98
  msgstr ""
99
 
100
- #: options/options-layouts/settings-general.php:104
101
- #: options/options-layouts/settings-general.php:105
102
- #: options/options-layouts/settings-general.php:106
103
- #: options/options-layouts/settings-general.php:107
104
  msgid "Levels"
105
  msgstr ""
106
 
107
- #: options/options-layouts/settings-general.php:114
108
  msgid "Comment text size in pixels"
109
  msgstr ""
110
 
111
- #: options/options-layouts/settings-general.php:131
112
  msgid "Allow comment editing for"
113
  msgstr ""
114
 
115
- #: options/options-layouts/settings-general.php:136
116
  msgid "Not Allow"
117
  msgstr ""
118
 
119
- #: options/options-layouts/settings-general.php:137
120
- #: options/options-layouts/settings-general.php:138
121
  #: options/options-layouts/settings-live-update.php:41
122
  #: options/options-layouts/settings-live-update.php:42
123
  #: options/options-layouts/settings-live-update.php:43
124
  msgid "Minutes"
125
  msgstr ""
126
 
127
- #: options/options-layouts/settings-general.php:139
128
  #: options/phrases-layout/phrases-datetime.php:73
129
  msgid "Hour"
130
  msgstr ""
131
 
132
- #: options/options-layouts/settings-general.php:140
133
- #: options/options-layouts/settings-general.php:141
134
  msgid "Hours"
135
  msgstr ""
136
 
137
- #: options/options-layouts/settings-general.php:148
138
  msgid "Redirect first commenter to"
139
  msgstr ""
140
 
141
- #: options/options-layouts/settings-general.php:155
142
  msgid "Do not redirect"
143
  msgstr ""
144
 
145
- #: options/options-layouts/settings-general.php:164
146
  msgid "Allow guests to vote on comments"
147
  msgstr ""
148
 
149
- #: options/options-layouts/settings-general.php:174
150
  msgid "Load rest of all comments on clicking the [Load More Comments] button"
151
  msgstr ""
152
 
153
- #: options/options-layouts/settings-general.php:185
154
  msgid "Use WordPress Date/Time format"
155
  msgstr ""
156
 
157
- #: options/options-layouts/settings-general.php:186
158
  msgid ""
159
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
160
  "show the date/time format set in WordPress General Settings."
161
  msgstr ""
162
 
163
- #: options/options-layouts/settings-general.php:193
164
  msgid "Current Wordpress date/time format"
165
  msgstr ""
166
 
167
- #: options/options-layouts/settings-general.php:202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  msgid ""
169
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
170
  "use"
171
  msgstr ""
172
 
173
- #: options/options-layouts/settings-general.php:204
174
  msgid ""
175
  "Please check this option on to help wpDiscuz get more popularity as your "
176
  "thank to the hard work we do for you totally free. This option adds a very "
@@ -178,12 +197,12 @@ msgid ""
178
  "visitors recognize the name of comment solution you use."
179
  msgstr ""
180
 
181
- #: options/options-layouts/settings-general.php:209
182
  msgid "Thank you!"
183
  msgstr ""
184
 
185
  #: options/options-layouts/settings-live-update.php:2
186
- #: options/wc-options.php:176
187
  msgid "Live Update"
188
  msgstr ""
189
 
@@ -237,7 +256,7 @@ msgstr ""
237
  msgid "Minute"
238
  msgstr ""
239
 
240
- #: options/options-layouts/settings-show-hide.php:2 options/wc-options.php:177
241
  msgid "Show/Hide Components"
242
  msgstr ""
243
 
@@ -273,9 +292,17 @@ msgstr ""
273
  msgid "Hide the Website URL field"
274
  msgstr ""
275
 
 
 
 
 
 
 
 
 
276
  #: options/options-layouts/settings-social.php:10
277
  #: options/options-layouts/settings-social.php:12
278
- #: options/options-layouts/settings-social.php:14 wc.php:1021
279
  msgid "Settings"
280
  msgstr ""
281
 
@@ -291,7 +318,7 @@ msgstr ""
291
  msgid "View details/Install"
292
  msgstr ""
293
 
294
- #: options/options-layouts/settings-social.php:75 options/wc-options.php:180
295
  msgid "Social Login"
296
  msgstr ""
297
 
@@ -303,7 +330,7 @@ msgid ""
303
  "buttons will be fully integrated with wpDiscuz comment forms."
304
  msgstr ""
305
 
306
- #: options/options-layouts/settings-style.php:2 options/wc-options.php:179
307
  msgid "Background and Colors"
308
  msgstr ""
309
 
@@ -404,47 +431,47 @@ msgid "Comment Template Phrases"
404
  msgstr ""
405
 
406
  #: options/phrases-layout/phrases-comment.php:7
407
- #: options/wc-options-serialize.php:400
408
  msgid "Reply"
409
  msgstr ""
410
 
411
  #: options/phrases-layout/phrases-comment.php:17
412
- #: options/wc-options-serialize.php:401
413
  msgid "Share"
414
  msgstr ""
415
 
416
  #: options/phrases-layout/phrases-comment.php:37
417
- #: options/wc-options-serialize.php:403
418
  msgid "Share On Facebook"
419
  msgstr ""
420
 
421
  #: options/phrases-layout/phrases-comment.php:47
422
- #: options/wc-options-serialize.php:404
423
  msgid "Share On Twitter"
424
  msgstr ""
425
 
426
  #: options/phrases-layout/phrases-comment.php:57
427
- #: options/wc-options-serialize.php:405
428
  msgid "Share On Google"
429
  msgstr ""
430
 
431
  #: options/phrases-layout/phrases-comment.php:67
432
- #: options/wc-options-serialize.php:406
433
  msgid "Share On VKontakte"
434
  msgstr ""
435
 
436
  #: options/phrases-layout/phrases-comment.php:77
437
- #: options/wc-options-serialize.php:407
438
  msgid "Share On Odnoklassniki"
439
  msgstr ""
440
 
441
  #: options/phrases-layout/phrases-comment.php:87
442
- #: options/wc-options-serialize.php:408
443
  msgid "Hide Replies"
444
  msgstr ""
445
 
446
  #: options/phrases-layout/phrases-comment.php:97
447
- #: options/wc-options-serialize.php:409
448
  msgid "Show Replies"
449
  msgstr ""
450
 
@@ -465,12 +492,12 @@ msgid "Title For Admins"
465
  msgstr ""
466
 
467
  #: options/phrases-layout/phrases-comment.php:147
468
- #: options/wc-options-serialize.php:451
469
  msgid "Vote Up"
470
  msgstr ""
471
 
472
  #: options/phrases-layout/phrases-comment.php:157
473
- #: options/wc-options-serialize.php:452
474
  msgid "Vote Down"
475
  msgstr ""
476
 
@@ -479,7 +506,7 @@ msgid "Save edited comment button text"
479
  msgstr ""
480
 
481
  #: options/phrases-layout/phrases-comment.php:171
482
- #: options/wc-options-serialize.php:470
483
  msgid "Save"
484
  msgstr ""
485
 
@@ -488,7 +515,7 @@ msgid "Cancel comment editing button text"
488
  msgstr ""
489
 
490
  #: options/phrases-layout/phrases-comment.php:181
491
- #: options/wc-options-serialize.php:471
492
  msgid "Cancel"
493
  msgstr ""
494
 
@@ -553,7 +580,7 @@ msgid "\"Today\" text"
553
  msgstr ""
554
 
555
  #: options/phrases-layout/phrases-datetime.php:164
556
- #: options/wc-options-serialize.php:445
557
  msgid "Today"
558
  msgstr ""
559
 
@@ -575,7 +602,7 @@ msgstr ""
575
 
576
  #: options/phrases-layout/phrases-email.php:33
577
  #: options/phrases-layout/phrases-general.php:101
578
- #: options/wc-options-serialize.php:416
579
  msgid "New Reply"
580
  msgstr ""
581
 
@@ -585,25 +612,25 @@ msgstr ""
585
 
586
  #: options/phrases-layout/phrases-email.php:50
587
  #: options/phrases-layout/phrases-email.php:54
588
- #: options/wc-options-serialize.php:421
589
  msgid "Unsubscribe"
590
  msgstr ""
591
 
592
  #: options/phrases-layout/phrases-email.php:61
593
  #: options/phrases-layout/phrases-email.php:65
594
- #: options/wc-options-serialize.php:422
595
  msgid "Ignore Subscription"
596
  msgstr ""
597
 
598
  #: options/phrases-layout/phrases-email.php:72
599
  #: options/phrases-layout/phrases-email.php:76
600
- #: options/wc-options-serialize.php:424
601
  msgid "Confirm your subscription"
602
  msgstr ""
603
 
604
  #: options/phrases-layout/phrases-email.php:82
605
  #: options/phrases-layout/phrases-email.php:86
606
- #: options/wc-options-serialize.php:425
607
  msgid "You've successfully confirmed your subscription."
608
  msgstr ""
609
 
@@ -612,7 +639,7 @@ msgid "Subscribe Confirmation Email Subject"
612
  msgstr ""
613
 
614
  #: options/phrases-layout/phrases-email.php:96
615
- #: options/wc-options-serialize.php:426 wc.php:944
616
  msgid "Subscribe Confirmation"
617
  msgstr ""
618
 
@@ -621,7 +648,7 @@ msgid "Subscribe Confirmation Email Content"
621
  msgstr ""
622
 
623
  #: options/phrases-layout/phrases-email.php:107
624
- #: options/wc-options-serialize.php:427 wc.php:945
625
  msgid ""
626
  "Hi, <br/> You just subscribed for new comments on our website. This means "
627
  "you will receive an email when new comments are posted according to "
@@ -664,7 +691,7 @@ msgstr ""
664
 
665
  #: options/phrases-layout/phrases-form.php:77
666
  #: options/phrases-layout/phrases-form.php:81
667
- #: options/wc-options-serialize.php:393
668
  msgid "Manage Subscriptions"
669
  msgstr ""
670
 
@@ -673,7 +700,7 @@ msgid "Notify \"None\""
673
  msgstr ""
674
 
675
  #: options/phrases-layout/phrases-form.php:91
676
- #: options/wc-options-serialize.php:394
677
  msgid "None"
678
  msgstr ""
679
 
@@ -682,7 +709,7 @@ msgid "Notify on new comments (checkbox)"
682
  msgstr ""
683
 
684
  #: options/phrases-layout/phrases-form.php:101
685
- #: options/wc-options-serialize.php:395
686
  msgid "Notify of all new follow-up comments"
687
  msgstr ""
688
 
@@ -691,7 +718,7 @@ msgid "Notify on all new replies (checkbox)"
691
  msgstr ""
692
 
693
  #: options/phrases-layout/phrases-form.php:112
694
- #: options/wc-options-serialize.php:396
695
  msgid "Notify of new replies to all my comments"
696
  msgstr ""
697
 
@@ -700,7 +727,7 @@ msgid "Notify on new replies (checkbox)"
700
  msgstr ""
701
 
702
  #: options/phrases-layout/phrases-form.php:123
703
- #: options/wc-options-serialize.php:397
704
  msgid "Notify of new replies to this comment"
705
  msgstr ""
706
 
@@ -721,7 +748,7 @@ msgid "General Phrases"
721
  msgstr ""
722
 
723
  #: options/phrases-layout/phrases-general.php:7
724
- #: options/wc-options-serialize.php:381
725
  msgid "Leave a Reply"
726
  msgstr ""
727
 
@@ -730,7 +757,7 @@ msgid "Be the first to comment"
730
  msgstr ""
731
 
732
  #: options/phrases-layout/phrases-general.php:27
733
- #: options/wc-options-serialize.php:383 options/wc-options.php:350
734
  msgid "Comment"
735
  msgstr ""
736
 
@@ -747,7 +774,7 @@ msgid "Load More Button"
747
  msgstr ""
748
 
749
  #: options/phrases-layout/phrases-general.php:67
750
- #: options/wc-options-serialize.php:399
751
  msgid "Load Rest of Comments"
752
  msgstr ""
753
 
@@ -756,7 +783,7 @@ msgid "Button text if has new comment"
756
  msgstr ""
757
 
758
  #: options/phrases-layout/phrases-general.php:81
759
- #: options/wc-options-serialize.php:414
760
  msgid "New Comment"
761
  msgstr ""
762
 
@@ -785,7 +812,7 @@ msgid "Text on load more button if has new comment(s)"
785
  msgstr ""
786
 
787
  #: options/phrases-layout/phrases-general.php:121
788
- #: options/wc-options-serialize.php:466
789
  msgid "New"
790
  msgstr ""
791
 
@@ -794,7 +821,7 @@ msgid "Notification Phrases"
794
  msgstr ""
795
 
796
  #: options/phrases-layout/phrases-notification.php:7
797
- #: options/wc-options-serialize.php:423
798
  msgid "You've successfully unsubscribed."
799
  msgstr ""
800
 
@@ -811,7 +838,7 @@ msgid "Error message for invalid website url field"
811
  msgstr ""
812
 
813
  #: options/phrases-layout/phrases-notification.php:48
814
- #: options/wc-options-serialize.php:446
815
  msgid "You must be"
816
  msgstr ""
817
 
@@ -820,7 +847,7 @@ msgid "Logged in as"
820
  msgstr ""
821
 
822
  #: options/phrases-layout/phrases-notification.php:68
823
- #: options/wc-options-serialize.php:448
824
  msgid "Log out"
825
  msgstr ""
826
 
@@ -833,7 +860,7 @@ msgid "To post a comment"
833
  msgstr ""
834
 
835
  #: options/phrases-layout/phrases-notification.php:98
836
- #: options/wc-options-serialize.php:453
837
  msgid "Vote Counted"
838
  msgstr ""
839
 
@@ -842,7 +869,7 @@ msgid "You can vote only 1 time"
842
  msgstr ""
843
 
844
  #: options/phrases-layout/phrases-notification.php:118
845
- #: options/wc-options-serialize.php:455
846
  msgid "Voting Error"
847
  msgstr ""
848
 
@@ -859,12 +886,12 @@ msgid "You are not allowed to vote for this comment (Voting from same IP)"
859
  msgstr ""
860
 
861
  #: options/phrases-layout/phrases-notification.php:158
862
- #: options/wc-options-serialize.php:459
863
  msgid "Invalid Captcha Code"
864
  msgstr ""
865
 
866
  #: options/phrases-layout/phrases-notification.php:168
867
- #: options/wc-options-serialize.php:460
868
  msgid "Some of field value is invalid"
869
  msgstr ""
870
 
@@ -873,279 +900,310 @@ msgid "Comment waiting moderation"
873
  msgstr ""
874
 
875
  #: options/phrases-layout/phrases-notification.php:188
 
 
 
 
876
  msgid "Message if comment was not updated"
877
  msgstr ""
878
 
879
- #: options/phrases-layout/phrases-notification.php:192
880
- #: options/wc-options-serialize.php:467
881
  msgid "Sorry, the comment was not updated"
882
  msgstr ""
883
 
884
- #: options/phrases-layout/phrases-notification.php:198
885
  msgid "Message if comment no longer possible to edit"
886
  msgstr ""
887
 
888
- #: options/phrases-layout/phrases-notification.php:202
889
- #: options/wc-options-serialize.php:468
890
  msgid "Sorry, this comment no longer possible to edit"
891
  msgstr ""
892
 
893
- #: options/phrases-layout/phrases-notification.php:209
894
  msgid "Message if comment text not changed"
895
  msgstr ""
896
 
897
- #: options/phrases-layout/phrases-notification.php:213
898
  msgid "TYou've not made any changes"
899
  msgstr ""
900
 
901
- #: options/wc-options-serialize.php:382
902
  msgid "Be the First to Comment!"
903
  msgstr ""
904
 
905
- #: options/wc-options-serialize.php:384
906
  msgid "Comments"
907
  msgstr ""
908
 
909
- #: options/wc-options-serialize.php:385
910
  msgid "on"
911
  msgstr ""
912
 
913
- #: options/wc-options-serialize.php:386
914
  msgid "Start the discussion"
915
  msgstr ""
916
 
917
- #: options/wc-options-serialize.php:387
918
  msgid "Join the discussion"
919
  msgstr ""
920
 
921
- #: options/wc-options-serialize.php:388 options/wc-options.php:352
922
  msgid "Email"
923
  msgstr ""
924
 
925
- #: options/wc-options-serialize.php:389
926
  msgid "Name"
927
  msgstr ""
928
 
929
- #: options/wc-options-serialize.php:390
930
  msgid "WebSite URL"
931
  msgstr ""
932
 
933
- #: options/wc-options-serialize.php:391
934
  msgid "Please insert the code above to comment"
935
  msgstr ""
936
 
937
- #: options/wc-options-serialize.php:392
938
  msgid "Post Comment"
939
  msgstr ""
940
 
941
- #: options/wc-options-serialize.php:398
942
  msgid "Load More Comments"
943
  msgstr ""
944
 
945
- #: options/wc-options-serialize.php:410
946
  msgid "Guest"
947
  msgstr ""
948
 
949
- #: options/wc-options-serialize.php:411
950
  msgid "Member"
951
  msgstr ""
952
 
953
- #: options/wc-options-serialize.php:412
954
  msgid "Author"
955
  msgstr ""
956
 
957
- #: options/wc-options-serialize.php:413
958
  msgid "Admin"
959
  msgstr ""
960
 
961
- #: options/wc-options-serialize.php:415
962
  msgid "New comment on the discussion section you've been interested in"
963
  msgstr ""
964
 
965
- #: options/wc-options-serialize.php:417
966
  msgid "New reply on the discussion section you've been interested in"
967
  msgstr ""
968
 
969
- #: options/wc-options-serialize.php:418
970
  msgid "You're subscribed for new replies on this comment"
971
  msgstr ""
972
 
973
- #: options/wc-options-serialize.php:419
974
  msgid "You're subscribed for new replies on all your comments"
975
  msgstr ""
976
 
977
- #: options/wc-options-serialize.php:420
978
  msgid "You're subscribed for new follow-up comments on this post"
979
  msgstr ""
980
 
981
- #: options/wc-options-serialize.php:428
982
  msgid "please fill out this field to comment"
983
  msgstr ""
984
 
985
- #: options/wc-options-serialize.php:429
986
  msgid "email address is invalid"
987
  msgstr ""
988
 
989
- #: options/wc-options-serialize.php:430
990
  msgid "url is invalid"
991
  msgstr ""
992
 
993
- #: options/wc-options-serialize.php:431
994
  msgid "year"
995
  msgstr ""
996
 
997
- #: options/wc-options-serialize.php:432
998
  msgid "years"
999
  msgstr ""
1000
 
1001
- #: options/wc-options-serialize.php:433
1002
  msgid "month"
1003
  msgstr ""
1004
 
1005
- #: options/wc-options-serialize.php:434
1006
  msgid "months"
1007
  msgstr ""
1008
 
1009
- #: options/wc-options-serialize.php:435
1010
  msgid "day"
1011
  msgstr ""
1012
 
1013
- #: options/wc-options-serialize.php:436
1014
  msgid "days"
1015
  msgstr ""
1016
 
1017
- #: options/wc-options-serialize.php:437
1018
  msgid "hour"
1019
  msgstr ""
1020
 
1021
- #: options/wc-options-serialize.php:438
1022
  msgid "hours"
1023
  msgstr ""
1024
 
1025
- #: options/wc-options-serialize.php:439
1026
  msgid "minute"
1027
  msgstr ""
1028
 
1029
- #: options/wc-options-serialize.php:440
1030
  msgid "minutes"
1031
  msgstr ""
1032
 
1033
- #: options/wc-options-serialize.php:441
1034
  msgid "second"
1035
  msgstr ""
1036
 
1037
- #: options/wc-options-serialize.php:442
1038
  msgid "seconds"
1039
  msgstr ""
1040
 
1041
- #: options/wc-options-serialize.php:443
1042
  msgid "right now"
1043
  msgstr ""
1044
 
1045
- #: options/wc-options-serialize.php:444
1046
  msgid "ago"
1047
  msgstr ""
1048
 
1049
- #: options/wc-options-serialize.php:447
1050
  msgid "You are logged in as"
1051
  msgstr ""
1052
 
1053
- #: options/wc-options-serialize.php:449
1054
  msgid "logged in"
1055
  msgstr ""
1056
 
1057
- #: options/wc-options-serialize.php:450
1058
  msgid "to post a comment."
1059
  msgstr ""
1060
 
1061
- #: options/wc-options-serialize.php:454
1062
  msgid "You've already voted for this comment"
1063
  msgstr ""
1064
 
1065
- #: options/wc-options-serialize.php:456
1066
  msgid "You Must Be Logged In To Vote"
1067
  msgstr ""
1068
 
1069
- #: options/wc-options-serialize.php:457
1070
  msgid "You cannot vote for your comment"
1071
  msgstr ""
1072
 
1073
- #: options/wc-options-serialize.php:458
1074
  msgid "You are not allowed to vote for this comment"
1075
  msgstr ""
1076
 
1077
- #: options/wc-options-serialize.php:461
1078
  msgid "new comment"
1079
  msgstr ""
1080
 
1081
- #: options/wc-options-serialize.php:462
1082
  msgid "new comments"
1083
  msgstr ""
1084
 
1085
- #: options/wc-options-serialize.php:463
1086
  msgid "Comment awaiting moderation"
1087
  msgstr ""
1088
 
1089
- #: options/wc-options-serialize.php:464
1090
  msgid "new reply on your comment"
1091
  msgstr ""
1092
 
1093
- #: options/wc-options-serialize.php:465
1094
  msgid "new replies on your comments"
1095
  msgstr ""
1096
 
1097
- #: options/wc-options-serialize.php:469
1098
  msgid "You've not made any changes"
1099
  msgstr ""
1100
 
1101
- #: options/wc-options.php:28 options/wc-options.php:228
 
 
 
 
 
1102
  msgid "Hacker?"
1103
  msgstr ""
1104
 
1105
- #: options/wc-options.php:83
1106
  msgid "wpDiscuz General Settings"
1107
  msgstr ""
1108
 
1109
- #: options/wc-options.php:175
1110
  msgid "General settings"
1111
  msgstr ""
1112
 
1113
- #: options/wc-options.php:178
1114
  msgid "Email Subscription"
1115
  msgstr ""
1116
 
1117
- #: options/wc-options.php:178
1118
  msgid "and Postmatic"
1119
  msgstr ""
1120
 
1121
- #: options/wc-options.php:209 options/wc-options.php:380
1122
  msgid "Save Changes"
1123
  msgstr ""
1124
 
1125
- #: options/wc-options.php:210
1126
  msgid "Reset Options"
1127
  msgstr ""
1128
 
1129
- #: options/wc-options.php:338
1130
  msgid "WpDiscuz Front-end Phrases"
1131
  msgstr ""
1132
 
1133
- #: options/wc-options.php:348
1134
  msgid "General"
1135
  msgstr ""
1136
 
1137
- #: options/wc-options.php:349
1138
  msgid "Form"
1139
  msgstr ""
1140
 
1141
- #: options/wc-options.php:351
1142
  msgid "Date/Time"
1143
  msgstr ""
1144
 
1145
- #: options/wc-options.php:353
1146
  msgid "Notification"
1147
  msgstr ""
1148
 
1149
- #: wc.php:1022
1150
  msgid "Phrases"
1151
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wpDiscuz - Wordpress Comments\n"
4
+ "POT-Creation-Date: 2015-05-25 21:34+0400\n"
5
+ "PO-Revision-Date: 2015-05-25 21:34+0400\n"
6
  "Last-Translator: advancedcoding <advancedcoding@mail.ru>\n"
7
  "Language-Team: advancedcoding <advancedcoding@mail.ru>\n"
8
  "Language: en\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8\n"
13
  "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-WPHeader: wc.php\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
18
  "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
19
  "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
 
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
+ #: comment-form/form.php:186 comment-form/tpl-comment.php:265
24
  msgid "Participate in this discussion via email"
25
  msgstr ""
26
 
27
+ #: comment-form/form.php:324
28
  msgid "Connect with"
29
  msgstr ""
30
 
31
+ #: comment-form/tpl-comment.php:175
 
 
 
 
32
  #: options/phrases-layout/phrases-comment.php:27
33
+ #: options/wc-options-serialize.php:439
34
  msgid "Edit"
35
  msgstr ""
36
 
37
+ #: comment-form/tpl-comment.php:387 wc.php:319
38
+ msgid "Anonymous"
39
+ msgstr ""
40
+
41
  #: options/options-layouts/settings-general.php:2
42
  msgid "General Settings"
43
  msgstr ""
90
  msgid "Comment Threads Per Page"
91
  msgstr ""
92
 
93
+ #: options/options-layouts/settings-general.php:97
94
+ msgid "Comment text max length"
95
+ msgstr ""
96
+
97
+ #: options/options-layouts/settings-general.php:108
98
  msgid "Comments max depth"
99
  msgstr ""
100
 
101
+ #: options/options-layouts/settings-general.php:113
102
  msgid "Level"
103
  msgstr ""
104
 
105
+ #: options/options-layouts/settings-general.php:114
106
+ #: options/options-layouts/settings-general.php:115
107
+ #: options/options-layouts/settings-general.php:116
108
+ #: options/options-layouts/settings-general.php:117
109
  msgid "Levels"
110
  msgstr ""
111
 
112
+ #: options/options-layouts/settings-general.php:124
113
  msgid "Comment text size in pixels"
114
  msgstr ""
115
 
116
+ #: options/options-layouts/settings-general.php:141
117
  msgid "Allow comment editing for"
118
  msgstr ""
119
 
120
+ #: options/options-layouts/settings-general.php:146
121
  msgid "Not Allow"
122
  msgstr ""
123
 
124
+ #: options/options-layouts/settings-general.php:147
125
+ #: options/options-layouts/settings-general.php:148
126
  #: options/options-layouts/settings-live-update.php:41
127
  #: options/options-layouts/settings-live-update.php:42
128
  #: options/options-layouts/settings-live-update.php:43
129
  msgid "Minutes"
130
  msgstr ""
131
 
132
+ #: options/options-layouts/settings-general.php:149
133
  #: options/phrases-layout/phrases-datetime.php:73
134
  msgid "Hour"
135
  msgstr ""
136
 
137
+ #: options/options-layouts/settings-general.php:150
138
+ #: options/options-layouts/settings-general.php:151
139
  msgid "Hours"
140
  msgstr ""
141
 
142
+ #: options/options-layouts/settings-general.php:158
143
  msgid "Redirect first commenter to"
144
  msgstr ""
145
 
146
+ #: options/options-layouts/settings-general.php:165
147
  msgid "Do not redirect"
148
  msgstr ""
149
 
150
+ #: options/options-layouts/settings-general.php:174
151
  msgid "Allow guests to vote on comments"
152
  msgstr ""
153
 
154
+ #: options/options-layouts/settings-general.php:184
155
  msgid "Load rest of all comments on clicking the [Load More Comments] button"
156
  msgstr ""
157
 
158
+ #: options/options-layouts/settings-general.php:195
159
  msgid "Use WordPress Date/Time format"
160
  msgstr ""
161
 
162
+ #: options/options-layouts/settings-general.php:196
163
  msgid ""
164
  "wpDiscuz shows Human Readable date format. If you check this option it'll "
165
  "show the date/time format set in WordPress General Settings."
166
  msgstr ""
167
 
168
+ #: options/options-layouts/settings-general.php:203
169
  msgid "Current Wordpress date/time format"
170
  msgstr ""
171
 
172
+ #: options/options-layouts/settings-general.php:209
173
+ msgid "Use Plugin .PO/.MO files"
174
+ msgstr ""
175
+
176
+ #: options/options-layouts/settings-general.php:210
177
+ msgid ""
178
+ "wpDiscuz phrase system allows you to translate all front-end phrases. "
179
+ "However if you have a multi-language website it'll not allow you to add more "
180
+ "than one language translation. The only way to get it is the plugin "
181
+ "translation files (.PO / .MO). If wpDiscuz has the languages you need you "
182
+ "should check this option to disable phrase system and it'll automatically "
183
+ "translate all phrases based on language files according to current language."
184
+ msgstr ""
185
+
186
+ #: options/options-layouts/settings-general.php:222
187
  msgid ""
188
  "Help wpDiscuz to grow allowing people to recognize which comment plugin you "
189
  "use"
190
  msgstr ""
191
 
192
+ #: options/options-layouts/settings-general.php:224
193
  msgid ""
194
  "Please check this option on to help wpDiscuz get more popularity as your "
195
  "thank to the hard work we do for you totally free. This option adds a very "
197
  "visitors recognize the name of comment solution you use."
198
  msgstr ""
199
 
200
+ #: options/options-layouts/settings-general.php:229
201
  msgid "Thank you!"
202
  msgstr ""
203
 
204
  #: options/options-layouts/settings-live-update.php:2
205
+ #: options/wc-options.php:180
206
  msgid "Live Update"
207
  msgstr ""
208
 
256
  msgid "Minute"
257
  msgstr ""
258
 
259
+ #: options/options-layouts/settings-show-hide.php:2 options/wc-options.php:181
260
  msgid "Show/Hide Components"
261
  msgstr ""
262
 
292
  msgid "Hide the Website URL field"
293
  msgstr ""
294
 
295
+ #: options/options-layouts/settings-show-hide.php:87
296
+ msgid "Hide header text"
297
+ msgstr ""
298
+
299
+ #: options/options-layouts/settings-show-hide.php:97
300
+ msgid "Hide user avatar"
301
+ msgstr ""
302
+
303
  #: options/options-layouts/settings-social.php:10
304
  #: options/options-layouts/settings-social.php:12
305
+ #: options/options-layouts/settings-social.php:14 wc.php:1015
306
  msgid "Settings"
307
  msgstr ""
308
 
318
  msgid "View details/Install"
319
  msgstr ""
320
 
321
+ #: options/options-layouts/settings-social.php:75 options/wc-options.php:184
322
  msgid "Social Login"
323
  msgstr ""
324
 
330
  "buttons will be fully integrated with wpDiscuz comment forms."
331
  msgstr ""
332
 
333
+ #: options/options-layouts/settings-style.php:2 options/wc-options.php:183
334
  msgid "Background and Colors"
335
  msgstr ""
336
 
431
  msgstr ""
432
 
433
  #: options/phrases-layout/phrases-comment.php:7
434
+ #: options/wc-options-serialize.php:437
435
  msgid "Reply"
436
  msgstr ""
437
 
438
  #: options/phrases-layout/phrases-comment.php:17
439
+ #: options/wc-options-serialize.php:438
440
  msgid "Share"
441
  msgstr ""
442
 
443
  #: options/phrases-layout/phrases-comment.php:37
444
+ #: options/wc-options-serialize.php:440
445
  msgid "Share On Facebook"
446
  msgstr ""
447
 
448
  #: options/phrases-layout/phrases-comment.php:47
449
+ #: options/wc-options-serialize.php:441
450
  msgid "Share On Twitter"
451
  msgstr ""
452
 
453
  #: options/phrases-layout/phrases-comment.php:57
454
+ #: options/wc-options-serialize.php:442
455
  msgid "Share On Google"
456
  msgstr ""
457
 
458
  #: options/phrases-layout/phrases-comment.php:67
459
+ #: options/wc-options-serialize.php:443
460
  msgid "Share On VKontakte"
461
  msgstr ""
462
 
463
  #: options/phrases-layout/phrases-comment.php:77
464
+ #: options/wc-options-serialize.php:444
465
  msgid "Share On Odnoklassniki"
466
  msgstr ""
467
 
468
  #: options/phrases-layout/phrases-comment.php:87
469
+ #: options/wc-options-serialize.php:445
470
  msgid "Hide Replies"
471
  msgstr ""
472
 
473
  #: options/phrases-layout/phrases-comment.php:97
474
+ #: options/wc-options-serialize.php:446
475
  msgid "Show Replies"
476
  msgstr ""
477
 
492
  msgstr ""
493
 
494
  #: options/phrases-layout/phrases-comment.php:147
495
+ #: options/wc-options-serialize.php:488
496
  msgid "Vote Up"
497
  msgstr ""
498
 
499
  #: options/phrases-layout/phrases-comment.php:157
500
+ #: options/wc-options-serialize.php:489
501
  msgid "Vote Down"
502
  msgstr ""
503
 
506
  msgstr ""
507
 
508
  #: options/phrases-layout/phrases-comment.php:171
509
+ #: options/wc-options-serialize.php:507
510
  msgid "Save"
511
  msgstr ""
512
 
515
  msgstr ""
516
 
517
  #: options/phrases-layout/phrases-comment.php:181
518
+ #: options/wc-options-serialize.php:508
519
  msgid "Cancel"
520
  msgstr ""
521
 
580
  msgstr ""
581
 
582
  #: options/phrases-layout/phrases-datetime.php:164
583
+ #: options/wc-options-serialize.php:482
584
  msgid "Today"
585
  msgstr ""
586
 
602
 
603
  #: options/phrases-layout/phrases-email.php:33
604
  #: options/phrases-layout/phrases-general.php:101
605
+ #: options/wc-options-serialize.php:453
606
  msgid "New Reply"
607
  msgstr ""
608
 
612
 
613
  #: options/phrases-layout/phrases-email.php:50
614
  #: options/phrases-layout/phrases-email.php:54
615
+ #: options/wc-options-serialize.php:458
616
  msgid "Unsubscribe"
617
  msgstr ""
618
 
619
  #: options/phrases-layout/phrases-email.php:61
620
  #: options/phrases-layout/phrases-email.php:65
621
+ #: options/wc-options-serialize.php:459
622
  msgid "Ignore Subscription"
623
  msgstr ""
624
 
625
  #: options/phrases-layout/phrases-email.php:72
626
  #: options/phrases-layout/phrases-email.php:76
627
+ #: options/wc-options-serialize.php:461
628
  msgid "Confirm your subscription"
629
  msgstr ""
630
 
631
  #: options/phrases-layout/phrases-email.php:82
632
  #: options/phrases-layout/phrases-email.php:86
633
+ #: options/wc-options-serialize.php:462
634
  msgid "You've successfully confirmed your subscription."
635
  msgstr ""
636
 
639
  msgstr ""
640
 
641
  #: options/phrases-layout/phrases-email.php:96
642
+ #: options/wc-options-serialize.php:463 wc.php:938
643
  msgid "Subscribe Confirmation"
644
  msgstr ""
645
 
648
  msgstr ""
649
 
650
  #: options/phrases-layout/phrases-email.php:107
651
+ #: options/wc-options-serialize.php:464 wc.php:939
652
  msgid ""
653
  "Hi, <br/> You just subscribed for new comments on our website. This means "
654
  "you will receive an email when new comments are posted according to "
691
 
692
  #: options/phrases-layout/phrases-form.php:77
693
  #: options/phrases-layout/phrases-form.php:81
694
+ #: options/wc-options-serialize.php:430
695
  msgid "Manage Subscriptions"
696
  msgstr ""
697
 
700
  msgstr ""
701
 
702
  #: options/phrases-layout/phrases-form.php:91
703
+ #: options/wc-options-serialize.php:431
704
  msgid "None"
705
  msgstr ""
706
 
709
  msgstr ""
710
 
711
  #: options/phrases-layout/phrases-form.php:101
712
+ #: options/wc-options-serialize.php:432
713
  msgid "Notify of all new follow-up comments"
714
  msgstr ""
715
 
718
  msgstr ""
719
 
720
  #: options/phrases-layout/phrases-form.php:112
721
+ #: options/wc-options-serialize.php:433
722
  msgid "Notify of new replies to all my comments"
723
  msgstr ""
724
 
727
  msgstr ""
728
 
729
  #: options/phrases-layout/phrases-form.php:123
730
+ #: options/wc-options-serialize.php:434
731
  msgid "Notify of new replies to this comment"
732
  msgstr ""
733
 
748
  msgstr ""
749
 
750
  #: options/phrases-layout/phrases-general.php:7
751
+ #: options/wc-options-serialize.php:418
752
  msgid "Leave a Reply"
753
  msgstr ""
754
 
757
  msgstr ""
758
 
759
  #: options/phrases-layout/phrases-general.php:27
760
+ #: options/wc-options-serialize.php:420 options/wc-options.php:353
761
  msgid "Comment"
762
  msgstr ""
763
 
774
  msgstr ""
775
 
776
  #: options/phrases-layout/phrases-general.php:67
777
+ #: options/wc-options-serialize.php:436
778
  msgid "Load Rest of Comments"
779
  msgstr ""
780
 
783
  msgstr ""
784
 
785
  #: options/phrases-layout/phrases-general.php:81
786
+ #: options/wc-options-serialize.php:451
787
  msgid "New Comment"
788
  msgstr ""
789
 
812
  msgstr ""
813
 
814
  #: options/phrases-layout/phrases-general.php:121
815
+ #: options/wc-options-serialize.php:503
816
  msgid "New"
817
  msgstr ""
818
 
821
  msgstr ""
822
 
823
  #: options/phrases-layout/phrases-notification.php:7
824
+ #: options/wc-options-serialize.php:460
825
  msgid "You've successfully unsubscribed."
826
  msgstr ""
827
 
838
  msgstr ""
839
 
840
  #: options/phrases-layout/phrases-notification.php:48
841
+ #: options/wc-options-serialize.php:483
842
  msgid "You must be"
843
  msgstr ""
844
 
847
  msgstr ""
848
 
849
  #: options/phrases-layout/phrases-notification.php:68
850
+ #: options/wc-options-serialize.php:485
851
  msgid "Log out"
852
  msgstr ""
853
 
860
  msgstr ""
861
 
862
  #: options/phrases-layout/phrases-notification.php:98
863
+ #: options/wc-options-serialize.php:490
864
  msgid "Vote Counted"
865
  msgstr ""
866
 
869
  msgstr ""
870
 
871
  #: options/phrases-layout/phrases-notification.php:118
872
+ #: options/wc-options-serialize.php:492
873
  msgid "Voting Error"
874
  msgstr ""
875
 
886
  msgstr ""
887
 
888
  #: options/phrases-layout/phrases-notification.php:158
889
+ #: options/wc-options-serialize.php:496
890
  msgid "Invalid Captcha Code"
891
  msgstr ""
892
 
893
  #: options/phrases-layout/phrases-notification.php:168
894
+ #: options/wc-options-serialize.php:497
895
  msgid "Some of field value is invalid"
896
  msgstr ""
897
 
900
  msgstr ""
901
 
902
  #: options/phrases-layout/phrases-notification.php:188
903
+ msgid "Message if comment content length is too long"
904
+ msgstr ""
905
+
906
+ #: options/phrases-layout/phrases-notification.php:198
907
  msgid "Message if comment was not updated"
908
  msgstr ""
909
 
910
+ #: options/phrases-layout/phrases-notification.php:202
911
+ #: options/wc-options-serialize.php:504
912
  msgid "Sorry, the comment was not updated"
913
  msgstr ""
914
 
915
+ #: options/phrases-layout/phrases-notification.php:208
916
  msgid "Message if comment no longer possible to edit"
917
  msgstr ""
918
 
919
+ #: options/phrases-layout/phrases-notification.php:212
920
+ #: options/wc-options-serialize.php:505
921
  msgid "Sorry, this comment no longer possible to edit"
922
  msgstr ""
923
 
924
+ #: options/phrases-layout/phrases-notification.php:219
925
  msgid "Message if comment text not changed"
926
  msgstr ""
927
 
928
+ #: options/phrases-layout/phrases-notification.php:223
929
  msgid "TYou've not made any changes"
930
  msgstr ""
931
 
932
+ #: options/wc-options-serialize.php:419
933
  msgid "Be the First to Comment!"
934
  msgstr ""
935
 
936
+ #: options/wc-options-serialize.php:421
937
  msgid "Comments"
938
  msgstr ""
939
 
940
+ #: options/wc-options-serialize.php:422
941
  msgid "on"
942
  msgstr ""
943
 
944
+ #: options/wc-options-serialize.php:423
945
  msgid "Start the discussion"
946
  msgstr ""
947
 
948
+ #: options/wc-options-serialize.php:424
949
  msgid "Join the discussion"
950
  msgstr ""
951
 
952
+ #: options/wc-options-serialize.php:425 options/wc-options.php:355
953
  msgid "Email"
954
  msgstr ""
955
 
956
+ #: options/wc-options-serialize.php:426
957
  msgid "Name"
958
  msgstr ""
959
 
960
+ #: options/wc-options-serialize.php:427
961
  msgid "WebSite URL"
962
  msgstr ""
963
 
964
+ #: options/wc-options-serialize.php:428
965
  msgid "Please insert the code above to comment"
966
  msgstr ""
967
 
968
+ #: options/wc-options-serialize.php:429
969
  msgid "Post Comment"
970
  msgstr ""
971
 
972
+ #: options/wc-options-serialize.php:435
973
  msgid "Load More Comments"
974
  msgstr ""
975
 
976
+ #: options/wc-options-serialize.php:447
977
  msgid "Guest"
978
  msgstr ""
979
 
980
+ #: options/wc-options-serialize.php:448
981
  msgid "Member"
982
  msgstr ""
983
 
984
+ #: options/wc-options-serialize.php:449
985
  msgid "Author"
986
  msgstr ""
987
 
988
+ #: options/wc-options-serialize.php:450
989
  msgid "Admin"
990
  msgstr ""
991
 
992
+ #: options/wc-options-serialize.php:452
993
  msgid "New comment on the discussion section you've been interested in"
994
  msgstr ""
995
 
996
+ #: options/wc-options-serialize.php:454
997
  msgid "New reply on the discussion section you've been interested in"
998
  msgstr ""
999
 
1000
+ #: options/wc-options-serialize.php:455
1001
  msgid "You're subscribed for new replies on this comment"
1002
  msgstr ""
1003
 
1004
+ #: options/wc-options-serialize.php:456
1005
  msgid "You're subscribed for new replies on all your comments"
1006
  msgstr ""
1007
 
1008
+ #: options/wc-options-serialize.php:457
1009
  msgid "You're subscribed for new follow-up comments on this post"
1010
  msgstr ""
1011
 
1012
+ #: options/wc-options-serialize.php:465
1013
  msgid "please fill out this field to comment"
1014
  msgstr ""
1015
 
1016
+ #: options/wc-options-serialize.php:466
1017
  msgid "email address is invalid"
1018
  msgstr ""
1019
 
1020
+ #: options/wc-options-serialize.php:467
1021
  msgid "url is invalid"
1022
  msgstr ""
1023
 
1024
+ #: options/wc-options-serialize.php:468
1025
  msgid "year"
1026
  msgstr ""
1027
 
1028
+ #: options/wc-options-serialize.php:469
1029
  msgid "years"
1030
  msgstr ""
1031
 
1032
+ #: options/wc-options-serialize.php:470
1033
  msgid "month"
1034
  msgstr ""
1035
 
1036
+ #: options/wc-options-serialize.php:471
1037
  msgid "months"
1038
  msgstr ""
1039
 
1040
+ #: options/wc-options-serialize.php:472
1041
  msgid "day"
1042
  msgstr ""
1043
 
1044
+ #: options/wc-options-serialize.php:473
1045
  msgid "days"
1046
  msgstr ""
1047
 
1048
+ #: options/wc-options-serialize.php:474
1049
  msgid "hour"
1050
  msgstr ""
1051
 
1052
+ #: options/wc-options-serialize.php:475
1053
  msgid "hours"
1054
  msgstr ""
1055
 
1056
+ #: options/wc-options-serialize.php:476
1057
  msgid "minute"
1058
  msgstr ""
1059
 
1060
+ #: options/wc-options-serialize.php:477
1061
  msgid "minutes"
1062
  msgstr ""
1063
 
1064
+ #: options/wc-options-serialize.php:478
1065
  msgid "second"
1066
  msgstr ""
1067
 
1068
+ #: options/wc-options-serialize.php:479
1069
  msgid "seconds"
1070
  msgstr ""
1071
 
1072
+ #: options/wc-options-serialize.php:480
1073
  msgid "right now"
1074
  msgstr ""
1075
 
1076
+ #: options/wc-options-serialize.php:481
1077
  msgid "ago"
1078
  msgstr ""
1079
 
1080
+ #: options/wc-options-serialize.php:484
1081
  msgid "You are logged in as"
1082
  msgstr ""
1083
 
1084
+ #: options/wc-options-serialize.php:486
1085
  msgid "logged in"
1086
  msgstr ""
1087
 
1088
+ #: options/wc-options-serialize.php:487
1089
  msgid "to post a comment."
1090
  msgstr ""
1091
 
1092
+ #: options/wc-options-serialize.php:491
1093
  msgid "You've already voted for this comment"
1094
  msgstr ""
1095
 
1096
+ #: options/wc-options-serialize.php:493
1097
  msgid "You Must Be Logged In To Vote"
1098
  msgstr ""
1099
 
1100
+ #: options/wc-options-serialize.php:494
1101
  msgid "You cannot vote for your comment"
1102
  msgstr ""
1103
 
1104
+ #: options/wc-options-serialize.php:495
1105
  msgid "You are not allowed to vote for this comment"
1106
  msgstr ""
1107
 
1108
+ #: options/wc-options-serialize.php:498
1109
  msgid "new comment"
1110
  msgstr ""
1111
 
1112
+ #: options/wc-options-serialize.php:499
1113
  msgid "new comments"
1114
  msgstr ""
1115
 
1116
+ #: options/wc-options-serialize.php:500
1117
  msgid "Comment awaiting moderation"
1118
  msgstr ""
1119
 
1120
+ #: options/wc-options-serialize.php:501
1121
  msgid "new reply on your comment"
1122
  msgstr ""
1123
 
1124
+ #: options/wc-options-serialize.php:502
1125
  msgid "new replies on your comments"
1126
  msgstr ""
1127
 
1128
+ #: options/wc-options-serialize.php:506
1129
  msgid "You've not made any changes"
1130
  msgstr ""
1131
 
1132
+ #: options/wc-options-serialize.php:509
1133
+ #, php-format
1134
+ msgid "Comment text is too long (maximum %s characters allowed)"
1135
+ msgstr ""
1136
+
1137
+ #: options/wc-options.php:28 options/wc-options.php:232
1138
  msgid "Hacker?"
1139
  msgstr ""
1140
 
1141
+ #: options/wc-options.php:87
1142
  msgid "wpDiscuz General Settings"
1143
  msgstr ""
1144
 
1145
+ #: options/wc-options.php:179
1146
  msgid "General settings"
1147
  msgstr ""
1148
 
1149
+ #: options/wc-options.php:182
1150
  msgid "Email Subscription"
1151
  msgstr ""
1152
 
1153
+ #: options/wc-options.php:182
1154
  msgid "and Postmatic"
1155
  msgstr ""
1156
 
1157
+ #: options/wc-options.php:213 options/wc-options.php:383
1158
  msgid "Save Changes"
1159
  msgstr ""
1160
 
1161
+ #: options/wc-options.php:214
1162
  msgid "Reset Options"
1163
  msgstr ""
1164
 
1165
+ #: options/wc-options.php:341
1166
  msgid "WpDiscuz Front-end Phrases"
1167
  msgstr ""
1168
 
1169
+ #: options/wc-options.php:351
1170
  msgid "General"
1171
  msgstr ""
1172
 
1173
+ #: options/wc-options.php:352
1174
  msgid "Form"
1175
  msgstr ""
1176
 
1177
+ #: options/wc-options.php:354
1178
  msgid "Date/Time"
1179
  msgstr ""
1180
 
1181
+ #: options/wc-options.php:356
1182
  msgid "Notification"
1183
  msgstr ""
1184
 
1185
+ #: wc.php:1017
1186
  msgid "Phrases"
1187
  msgstr ""
1188
+
1189
+ #. Plugin Name of the plugin/theme
1190
+ msgid "wpDiscuz - Wordpress Comments"
1191
+ msgstr ""
1192
+
1193
+ #. Plugin URI of the plugin/theme
1194
+ msgid "http://www.gvectors.com/wpdiscuz/"
1195
+ msgstr ""
1196
+
1197
+ #. Description of the plugin/theme
1198
+ msgid ""
1199
+ "Better comment system. Wordpress post comments and discussion plugin. Allows "
1200
+ "your visitors discuss, vote for comments and share."
1201
+ msgstr ""
1202
+
1203
+ #. Author of the plugin/theme
1204
+ msgid "gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)"
1205
+ msgstr ""
1206
+
1207
+ #. Author URI of the plugin/theme
1208
+ msgid "http://www.gvectors.com/"
1209
+ msgstr ""
options/options-layouts/settings-general.php CHANGED
@@ -92,6 +92,16 @@
92
  </td>
93
  </tr>
94
 
 
 
 
 
 
 
 
 
 
 
95
 
96
  <tr valign="top">
97
  <th scope="row">
@@ -194,7 +204,17 @@
194
  </label>
195
  </td>
196
  </tr>
197
-
 
 
 
 
 
 
 
 
 
 
198
 
199
  <tr valign="top">
200
  <th scope="row" >
92
  </td>
93
  </tr>
94
 
95
+ <tr valign="top">
96
+ <th scope="row">
97
+ <?php _e('Comment text max length', WC_Core::$TEXT_DOMAIN); ?>
98
+ </th>
99
+ <td>
100
+ <label for="wc_comment_text_max_length">
101
+ <input type="number" value="<?php echo isset($this->wc_options_serialized->wc_comment_text_max_length) ? $this->wc_options_serialized->wc_comment_text_max_length : ''; ?>" name="wc_comment_text_max_length" id="wc_comment_text_max_length" />
102
+ </label><br/>
103
+ </td>
104
+ </tr>
105
 
106
  <tr valign="top">
107
  <th scope="row">
204
  </label>
205
  </td>
206
  </tr>
207
+ <tr valign="top">
208
+ <th scope="row" >
209
+ <?php _e('Use Plugin .PO/.MO files', WC_Core::$TEXT_DOMAIN); ?>
210
+ <p style="font-size:13px; color:#999999; width:80%; padding-left:0px; margin-left:0px;"><?php _e('wpDiscuz phrase system allows you to translate all front-end phrases. However if you have a multi-language website it\'ll not allow you to add more than one language translation. The only way to get it is the plugin translation files (.PO / .MO). If wpDiscuz has the languages you need you should check this option to disable phrase system and it\'ll automatically translate all phrases based on language files according to current language.', WC_Core::$TEXT_DOMAIN); ?></p>
211
+ </th>
212
+ <td colspan="3">
213
+ <label for="wc_is_use_po_mo">
214
+ <input type="checkbox" <?php checked($this->wc_options_serialized->wc_is_use_po_mo == 1) ?> value="1" name="wc_is_use_po_mo" id="wc_is_use_po_mo" />
215
+ </label>
216
+ </td>
217
+ </tr>
218
 
219
  <tr valign="top">
220
  <th scope="row" >
options/options-layouts/settings-show-hide.php CHANGED
@@ -81,6 +81,26 @@
81
  <input type="checkbox" <?php checked($this->wc_options_serialized->wc_weburl_show_hide == 1) ?> value="1" name="wc_weburl_show_hide" id="wc_weburl_show_hide" />
82
  </label>
83
  </td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  </tr>
85
  </tbody>
86
  </table>
81
  <input type="checkbox" <?php checked($this->wc_options_serialized->wc_weburl_show_hide == 1) ?> value="1" name="wc_weburl_show_hide" id="wc_weburl_show_hide" />
82
  </label>
83
  </td>
84
+ </tr>
85
+ <tr valign="top">
86
+ <th scope="row">
87
+ <?php _e('Hide header text', WC_Core::$TEXT_DOMAIN); ?>
88
+ </th>
89
+ <td>
90
+ <label for="wc_header_text_show_hide">
91
+ <input type="checkbox" <?php checked($this->wc_options_serialized->wc_header_text_show_hide == 1) ?> value="1" name="wc_header_text_show_hide" id="wc_header_text_show_hide" />
92
+ </label>
93
+ </td>
94
+ </tr>
95
+ <tr valign="top">
96
+ <th scope="row">
97
+ <?php _e('Hide user avatar', WC_Core::$TEXT_DOMAIN); ?>
98
+ </th>
99
+ <td>
100
+ <label for="wc_avatar_show_hide">
101
+ <input type="checkbox" <?php checked($this->wc_options_serialized->wc_avatar_show_hide == 1) ?> value="1" name="wc_avatar_show_hide" id="wc_avatar_show_hide" />
102
+ </label>
103
+ </td>
104
  </tr>
105
  </tbody>
106
  </table>
options/phrases-layout/phrases-notification.php CHANGED
@@ -183,6 +183,16 @@
183
  </label>
184
  </td>
185
  </tr>
 
 
 
 
 
 
 
 
 
 
186
  <tr valign="top">
187
  <th scope="row">
188
  <?php _e('Message if comment was not updated', WC_Core::$TEXT_DOMAIN); ?>
183
  </label>
184
  </td>
185
  </tr>
186
+ <tr valign="top">
187
+ <th scope="row">
188
+ <?php _e('Message if comment content length is too long', WC_Core::$TEXT_DOMAIN); ?>
189
+ </th>
190
+ <td colspan="3">
191
+ <label for="wc_msg_comment_text_max_length">
192
+ <input type="text" value="<?php echo $this->wc_options_serialized->wc_phrases['wc_msg_comment_text_max_length']; ?>" name="wc_msg_comment_text_max_length" id="wc_msg_comment_text_max_length" />
193
+ </label>
194
+ </td>
195
+ </tr>
196
  <tr valign="top">
197
  <th scope="row">
198
  <?php _e('Message if comment was not updated', WC_Core::$TEXT_DOMAIN); ?>
options/wc-options-serialize.php CHANGED
@@ -99,7 +99,23 @@ class WC_Options_Serialize {
99
  * Default Value - Unchecked
100
  */
101
  public $wc_weburl_show_hide;
 
 
 
 
 
 
 
 
102
 
 
 
 
 
 
 
 
 
103
  /**
104
  * Type - Radiobutton
105
  * Available Values - Yes/No
@@ -322,6 +338,23 @@ class WC_Options_Serialize {
322
  * Default Value - Unchecked
323
  */
324
  public $wc_show_plugin_powerid_by;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
 
326
  function __construct($wc_db_helper) {
327
  $this->wc_db_helper = $wc_db_helper;
@@ -345,6 +378,8 @@ class WC_Options_Serialize {
345
  $this->wc_share_buttons_show_hide = $options['wc_share_buttons_show_hide'];
346
  $this->wc_captcha_show_hide = $options['wc_captcha_show_hide'];
347
  $this->wc_weburl_show_hide = isset($options['wc_weburl_show_hide']) ? $options['wc_weburl_show_hide'] : 0;
 
 
348
  $this->wc_user_must_be_registered = $options['wc_user_must_be_registered'];
349
  $this->wc_is_name_field_required = isset($options['wc_is_name_field_required']) ? $options['wc_is_name_field_required'] : 0;
350
  $this->wc_is_email_field_required = isset($options['wc_is_email_field_required']) ? $options['wc_is_email_field_required'] : 0;
@@ -371,6 +406,8 @@ class WC_Options_Serialize {
371
  $this->wc_new_loaded_comment_bg_color = isset($options['wc_new_loaded_comment_bg_color']) ? $options['wc_new_loaded_comment_bg_color'] : "rgb(255,250,214)";
372
  $this->wc_custom_css = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
373
  $this->wc_show_plugin_powerid_by = isset($options['wc_show_plugin_powerid_by']) ? $options['wc_show_plugin_powerid_by'] : 0;
 
 
374
  }
375
 
376
  /**
@@ -469,6 +506,7 @@ class WC_Options_Serialize {
469
  'wc_comment_not_edited' => __('You\'ve not made any changes', WC_Core::$TEXT_DOMAIN),
470
  'wc_comment_edit_save_button' => __('Save', WC_Core::$TEXT_DOMAIN),
471
  'wc_comment_edit_cancel_button' => __('Cancel', WC_Core::$TEXT_DOMAIN),
 
472
  );
473
  }
474
 
@@ -486,6 +524,8 @@ class WC_Options_Serialize {
486
  'wc_share_buttons_show_hide' => $this->wc_share_buttons_show_hide,
487
  'wc_captcha_show_hide' => $this->wc_captcha_show_hide,
488
  'wc_weburl_show_hide' => $this->wc_weburl_show_hide,
 
 
489
  'wc_user_must_be_registered' => $this->wc_user_must_be_registered,
490
  'wc_is_name_field_required' => $this->wc_is_name_field_required,
491
  'wc_is_email_field_required' => $this->wc_is_email_field_required,
@@ -511,7 +551,9 @@ class WC_Options_Serialize {
511
  'wc_input_border_color' => $this->wc_input_border_color,
512
  'wc_new_loaded_comment_bg_color' => $this->wc_new_loaded_comment_bg_color,
513
  'wc_custom_css' => $this->wc_custom_css,
514
- 'wc_show_plugin_powerid_by' => $this->wc_show_plugin_powerid_by
 
 
515
  );
516
 
517
  return $options;
@@ -535,6 +577,8 @@ class WC_Options_Serialize {
535
  'wc_share_buttons_show_hide' => '0',
536
  'wc_captcha_show_hide' => '0',
537
  'wc_weburl_show_hide' => '1',
 
 
538
  'wc_user_must_be_registered' => '0',
539
  'wc_is_name_field_required' => '1',
540
  'wc_is_email_field_required' => '1',
@@ -560,14 +604,18 @@ class WC_Options_Serialize {
560
  'wc_input_border_color' => '#d9d9d9',
561
  'wc_new_loaded_comment_bg_color' => 'rgb(255,250,214)',
562
  'wc_custom_css' => '.comments-area{width:auto;}',
563
- 'wc_show_plugin_powerid_by' => '0'
 
 
564
  );
565
  add_option($this->wc_options_slug, serialize($options));
566
  }
567
 
568
  public function init_phrases_on_load() {
569
- if ($this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
570
  $this->wc_phrases = $this->wc_db_helper->get_phrases();
 
 
571
  }
572
  }
573
 
99
  * Default Value - Unchecked
100
  */
101
  public $wc_weburl_show_hide;
102
+
103
+ /*
104
+ * Type - Checkbox
105
+ * Available Values - Checked/Unchecked
106
+ * Description - Show/Hide header text
107
+ * Default Value - Unchecked
108
+ */
109
+ public $wc_header_text_show_hide;
110
 
111
+
112
+ /*
113
+ * Type - Checkbox
114
+ * Available Values - Checked/Unchecked
115
+ * Description - Show/Hide user avatar
116
+ * Default Value - Unchecked
117
+ */
118
+ public $wc_avatar_show_hide;
119
  /**
120
  * Type - Radiobutton
121
  * Available Values - Yes/No
338
  * Default Value - Unchecked
339
  */
340
  public $wc_show_plugin_powerid_by;
341
+
342
+ /**
343
+ * Type - Checkbox
344
+ * Available Values - Checked/Unchecked
345
+ * Description - Use .PO/.MO files
346
+ * Default Value - Unchecked
347
+ */
348
+ public $wc_is_use_po_mo;
349
+
350
+ /**
351
+ * Type - Input
352
+ * Available Values - Integer (comment text length)
353
+ * Description - Define comment text max length (leave blank for unlimit length)
354
+ * Default Value - Unlimit
355
+ */
356
+ public $wc_comment_text_max_length;
357
+
358
 
359
  function __construct($wc_db_helper) {
360
  $this->wc_db_helper = $wc_db_helper;
378
  $this->wc_share_buttons_show_hide = $options['wc_share_buttons_show_hide'];
379
  $this->wc_captcha_show_hide = $options['wc_captcha_show_hide'];
380
  $this->wc_weburl_show_hide = isset($options['wc_weburl_show_hide']) ? $options['wc_weburl_show_hide'] : 0;
381
+ $this->wc_header_text_show_hide = isset($options['wc_header_text_show_hide']) ? $options['wc_header_text_show_hide'] : 0;
382
+ $this->wc_avatar_show_hide = isset($options['wc_avatar_show_hide']) ? $options['wc_avatar_show_hide'] : 0;
383
  $this->wc_user_must_be_registered = $options['wc_user_must_be_registered'];
384
  $this->wc_is_name_field_required = isset($options['wc_is_name_field_required']) ? $options['wc_is_name_field_required'] : 0;
385
  $this->wc_is_email_field_required = isset($options['wc_is_email_field_required']) ? $options['wc_is_email_field_required'] : 0;
406
  $this->wc_new_loaded_comment_bg_color = isset($options['wc_new_loaded_comment_bg_color']) ? $options['wc_new_loaded_comment_bg_color'] : "rgb(255,250,214)";
407
  $this->wc_custom_css = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
408
  $this->wc_show_plugin_powerid_by = isset($options['wc_show_plugin_powerid_by']) ? $options['wc_show_plugin_powerid_by'] : 0;
409
+ $this->wc_is_use_po_mo = isset($options['wc_is_use_po_mo']) ? $options['wc_is_use_po_mo'] : 0;
410
+ $this->wc_comment_text_max_length = isset($options['wc_comment_text_max_length']) ? $options['wc_comment_text_max_length'] : '';
411
  }
412
 
413
  /**
506
  'wc_comment_not_edited' => __('You\'ve not made any changes', WC_Core::$TEXT_DOMAIN),
507
  'wc_comment_edit_save_button' => __('Save', WC_Core::$TEXT_DOMAIN),
508
  'wc_comment_edit_cancel_button' => __('Cancel', WC_Core::$TEXT_DOMAIN),
509
+ 'wc_msg_comment_text_max_length' => __('Comment text is too long (maximum %s characters allowed)', WC_Core::$TEXT_DOMAIN)
510
  );
511
  }
512
 
524
  'wc_share_buttons_show_hide' => $this->wc_share_buttons_show_hide,
525
  'wc_captcha_show_hide' => $this->wc_captcha_show_hide,
526
  'wc_weburl_show_hide' => $this->wc_weburl_show_hide,
527
+ 'wc_header_text_show_hide' => $this->wc_header_text_show_hide,
528
+ 'wc_avatar_show_hide' => $this->wc_avatar_show_hide,
529
  'wc_user_must_be_registered' => $this->wc_user_must_be_registered,
530
  'wc_is_name_field_required' => $this->wc_is_name_field_required,
531
  'wc_is_email_field_required' => $this->wc_is_email_field_required,
551
  'wc_input_border_color' => $this->wc_input_border_color,
552
  'wc_new_loaded_comment_bg_color' => $this->wc_new_loaded_comment_bg_color,
553
  'wc_custom_css' => $this->wc_custom_css,
554
+ 'wc_show_plugin_powerid_by' => $this->wc_show_plugin_powerid_by,
555
+ 'wc_is_use_po_mo' => $this->wc_is_use_po_mo,
556
+ 'wc_comment_text_max_length' => $this->wc_comment_text_max_length
557
  );
558
 
559
  return $options;
577
  'wc_share_buttons_show_hide' => '0',
578
  'wc_captcha_show_hide' => '0',
579
  'wc_weburl_show_hide' => '1',
580
+ 'wc_header_text_show_hide' => '0',
581
+ 'wc_avatar_show_hide' => '0',
582
  'wc_user_must_be_registered' => '0',
583
  'wc_is_name_field_required' => '1',
584
  'wc_is_email_field_required' => '1',
604
  'wc_input_border_color' => '#d9d9d9',
605
  'wc_new_loaded_comment_bg_color' => 'rgb(255,250,214)',
606
  'wc_custom_css' => '.comments-area{width:auto;}',
607
+ 'wc_show_plugin_powerid_by' => '0',
608
+ 'wc_is_use_po_mo' => '0',
609
+ 'wc_comment_text_max_length' => ''
610
  );
611
  add_option($this->wc_options_slug, serialize($options));
612
  }
613
 
614
  public function init_phrases_on_load() {
615
+ if (!$this->wc_is_use_po_mo && $this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
616
  $this->wc_phrases = $this->wc_db_helper->get_phrases();
617
+ }else{
618
+ $this->init_phrases();
619
  }
620
  }
621
 
options/wc-options.php CHANGED
@@ -44,6 +44,8 @@ class WC_Options {
44
  $this->wc_options_serialized->wc_share_buttons_show_hide = isset($_POST['wc_share_buttons_show_hide']) ? $_POST['wc_share_buttons_show_hide'] : 0;
45
  $this->wc_options_serialized->wc_captcha_show_hide = isset($_POST['wc_captcha_show_hide']) ? $_POST['wc_captcha_show_hide'] : 0;
46
  $this->wc_options_serialized->wc_weburl_show_hide = isset($_POST['wc_weburl_show_hide']) ? $_POST['wc_weburl_show_hide'] : 0;
 
 
47
  $this->wc_options_serialized->wc_user_must_be_registered = isset($_POST['wc_user_must_be_registered']) ? $_POST['wc_user_must_be_registered'] : 0;
48
  $this->wc_options_serialized->wc_is_name_field_required = isset($_POST['wc_is_name_field_required']) ? $_POST['wc_is_name_field_required'] : 0;
49
  $this->wc_options_serialized->wc_is_email_field_required = isset($_POST['wc_is_email_field_required']) ? $_POST['wc_is_email_field_required'] : 0;
@@ -70,6 +72,8 @@ class WC_Options {
70
  $this->wc_options_serialized->wc_new_loaded_comment_bg_color = isset($_POST['wc_new_loaded_comment_bg_color']) ? $_POST['wc_new_loaded_comment_bg_color'] : 'rgb(254,254,254)';
71
  $this->wc_options_serialized->wc_custom_css = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
72
  $this->wc_options_serialized->wc_show_plugin_powerid_by = isset($_POST['wc_show_plugin_powerid_by']) ? $_POST['wc_show_plugin_powerid_by'] : 0;
 
 
73
 
74
  $this->wc_options_serialized->update_options();
75
  }
@@ -111,7 +115,7 @@ class WC_Options {
111
  </thead>
112
  <tr valign="top">
113
  <td style="background:#FFF; text-align:left; font-size:13px;">
114
- wpDiscuz is alsow available for WooCommerce. The WooCommerce Comments plugin name is <a href="https://wordpress.org/plugins/woodiscuz-woocommerce-comments/" style="color:#993399; text-decoration:underline;"><strong>WooDiscuz</strong></a>. It adds a new "Discussion" Tab on product page and allows your customers ask Pre-Sale Questions and discuss about your products.
115
  </td>
116
  </tr>
117
  </table><br />
@@ -126,7 +130,7 @@ class WC_Options {
126
  <td style="background:#FFF; text-align:left; font-size:13px;">
127
  We do our best to make wpDiscuz the best self-hosted comment plugin for Wordpress. Thousands users are currently satisfied with wpDiscuz but only about 1% of them give us 5 start rating.
128
  However we have a very few users who for some very specific reasons are not satisfied and they are very active in decreasing wpDiscuz rating.
129
- Please help us keep plugin rating high, encouraging us to develop and maintain this plugin. Take a one minute to leave <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" title="Go to wpDiscuz Reviews section on Wordpress.org"><img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/'); ?>files/img/gc/5s.png" border="0" align="absmiddle" /></a> star review on <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5">Wordpress.org</a>
130
  <hr style="border-style:dotted;" />
131
  <div style="width:200px; float:right;">
132
  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
@@ -323,12 +327,11 @@ class WC_Options {
323
  $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'] = $_POST['wc_comment_not_edited'];
324
  $this->wc_options_serialized->wc_phrases['wc_comment_edit_save_button'] = $_POST['wc_comment_edit_save_button'];
325
  $this->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button'] = $_POST['wc_comment_edit_cancel_button'];
 
326
 
327
  $this->wc_db_helper->update_phrases($this->wc_options_serialized->wc_phrases);
328
  }
329
- if ($this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
330
- $this->wc_options_serialized->wc_phrases = $this->wc_db_helper->get_phrases();
331
- }
332
  ?>
333
  <div class="wrap wpdiscuz_options_page">
334
 
44
  $this->wc_options_serialized->wc_share_buttons_show_hide = isset($_POST['wc_share_buttons_show_hide']) ? $_POST['wc_share_buttons_show_hide'] : 0;
45
  $this->wc_options_serialized->wc_captcha_show_hide = isset($_POST['wc_captcha_show_hide']) ? $_POST['wc_captcha_show_hide'] : 0;
46
  $this->wc_options_serialized->wc_weburl_show_hide = isset($_POST['wc_weburl_show_hide']) ? $_POST['wc_weburl_show_hide'] : 0;
47
+ $this->wc_options_serialized->wc_header_text_show_hide = isset($_POST['wc_header_text_show_hide']) ? $_POST['wc_header_text_show_hide'] : 0;
48
+ $this->wc_options_serialized->wc_avatar_show_hide = isset($_POST['wc_avatar_show_hide']) ? $_POST['wc_avatar_show_hide'] : 0;
49
  $this->wc_options_serialized->wc_user_must_be_registered = isset($_POST['wc_user_must_be_registered']) ? $_POST['wc_user_must_be_registered'] : 0;
50
  $this->wc_options_serialized->wc_is_name_field_required = isset($_POST['wc_is_name_field_required']) ? $_POST['wc_is_name_field_required'] : 0;
51
  $this->wc_options_serialized->wc_is_email_field_required = isset($_POST['wc_is_email_field_required']) ? $_POST['wc_is_email_field_required'] : 0;
72
  $this->wc_options_serialized->wc_new_loaded_comment_bg_color = isset($_POST['wc_new_loaded_comment_bg_color']) ? $_POST['wc_new_loaded_comment_bg_color'] : 'rgb(254,254,254)';
73
  $this->wc_options_serialized->wc_custom_css = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
74
  $this->wc_options_serialized->wc_show_plugin_powerid_by = isset($_POST['wc_show_plugin_powerid_by']) ? $_POST['wc_show_plugin_powerid_by'] : 0;
75
+ $this->wc_options_serialized->wc_is_use_po_mo = isset($_POST['wc_is_use_po_mo']) ? $_POST['wc_is_use_po_mo'] : 0;
76
+ $this->wc_options_serialized->wc_comment_text_max_length = (isset($_POST['wc_comment_text_max_length']) && intval($_POST['wc_comment_text_max_length']) && intval($_POST['wc_comment_text_max_length']) > 0) ? intval($_POST['wc_comment_text_max_length']) : '';
77
 
78
  $this->wc_options_serialized->update_options();
79
  }
115
  </thead>
116
  <tr valign="top">
117
  <td style="background:#FFF; text-align:left; font-size:13px;">
118
+ wpDiscuz is also available for WooCommerce. The WooCommerce Comments plugin name is <a href="https://wordpress.org/plugins/woodiscuz-woocommerce-comments/" style="color:#993399; text-decoration:underline;"><strong>WooDiscuz</strong></a>. It adds a new "Discussion" Tab on product page and allows your customers ask Pre-Sale Questions and discuss about your products.
119
  </td>
120
  </tr>
121
  </table><br />
130
  <td style="background:#FFF; text-align:left; font-size:13px;">
131
  We do our best to make wpDiscuz the best self-hosted comment plugin for Wordpress. Thousands users are currently satisfied with wpDiscuz but only about 1% of them give us 5 start rating.
132
  However we have a very few users who for some very specific reasons are not satisfied and they are very active in decreasing wpDiscuz rating.
133
+ Please help us keep plugin rating high, encouraging us to develop and maintain this plugin. Take a one minute to leave <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5" title="Go to wpDiscuz Reviews section on Wordpress.org"><img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/'); ?>files/img/gc/5s.png" border="0" align="absmiddle" /></a> star review on <a href="https://wordpress.org/support/view/plugin-reviews/wpdiscuz?filter=5">Wordpress.org</a>. Thank You!
134
  <hr style="border-style:dotted;" />
135
  <div style="width:200px; float:right;">
136
  <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
327
  $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'] = $_POST['wc_comment_not_edited'];
328
  $this->wc_options_serialized->wc_phrases['wc_comment_edit_save_button'] = $_POST['wc_comment_edit_save_button'];
329
  $this->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button'] = $_POST['wc_comment_edit_cancel_button'];
330
+ $this->wc_options_serialized->wc_phrases['wc_msg_comment_text_max_length'] = $_POST['wc_msg_comment_text_max_length'];
331
 
332
  $this->wc_db_helper->update_phrases($this->wc_options_serialized->wc_phrases);
333
  }
334
+ $this->wc_options_serialized->init_phrases_on_load();
 
 
335
  ?>
336
  <div class="wrap wpdiscuz_options_page">
337
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: wordpress comments, ajax comments, ajax, live update, theme, post comments, comments box, community, discussion, discuss, comment form, reply, comments, discussions, comment template, activity, comment author, comment system, redirect, comment redirect, first commenter, social login
5
  Requires at least: 2.7
6
  Tested up to: 4.2.2
7
- Stable tag: 2.2.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -130,6 +130,19 @@ http://www.gvectors.com/questions/wpdiscuz-comment-form-is-missing/
130
 
131
  == Changelog ==
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  = 2.2.2 =
134
  * Fixed Bug: Some phrases were not translate-able
135
  * Fixed Bug: Social Network Avatar display problem
@@ -137,8 +150,6 @@ http://www.gvectors.com/questions/wpdiscuz-comment-form-is-missing/
137
  * Fixed Bug: Error message "URL is invalid" for Website URLs starting with http://
138
  * Fixed Bug: Unlimited voting issue for guests
139
 
140
- IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
141
-
142
  = 2.2.1 =
143
  * Fixed Bug: Front-end Phrases don't suport Special Characters
144
 
4
  Tags: wordpress comments, ajax comments, ajax, live update, theme, post comments, comments box, community, discussion, discuss, comment form, reply, comments, discussions, comment template, activity, comment author, comment system, redirect, comment redirect, first commenter, social login
5
  Requires at least: 2.7
6
  Tested up to: 4.2.2
7
+ Stable tag: 2.2.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
130
 
131
  == Changelog ==
132
 
133
+ = 2.2.3 =
134
+ * Added: Option to hide/show user avatars on comment form and list
135
+ * Added: Option to hide/show comment form header text
136
+ * Added: Option to set maximum character limit for comment text
137
+ * Added: Option to enable .po/.mo translation files for mult-language sites
138
+ * Added: Allowed new HTML tags (blockquote, ul, ol, li, code, em, abbr...)
139
+ * Fixed Bug: Avatar duplication on reply form
140
+ * Fixed Bug: Author display name update when it changed on UM profile page
141
+ * Fixed Bug: 404 error on clicking subscription confirmation link
142
+ * Fixed Bug: Email validation issue with .info and other TLD with more than 3 chars
143
+
144
+ IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
145
+
146
  = 2.2.2 =
147
  * Fixed Bug: Some phrases were not translate-able
148
  * Fixed Bug: Social Network Avatar display problem
150
  * Fixed Bug: Error message "URL is invalid" for Website URLs starting with http://
151
  * Fixed Bug: Unlimited voting issue for guests
152
 
 
 
153
  = 2.2.1 =
154
  * Fixed Bug: Front-end Phrases don't suport Special Characters
155
 
wc.php CHANGED
@@ -3,7 +3,7 @@
3
  /*
4
  Plugin Name: wpDiscuz - Wordpress Comments
5
  Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
- Version: 2.2.2
7
  Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  Author URI: http://www.gvectors.com/
9
  Plugin URI: http://www.gvectors.com/wpdiscuz/
@@ -14,7 +14,6 @@ include_once 'options/wc-options-serialize.php';
14
  include_once 'includes/wc-helper.php';
15
  include_once 'includes/wc-db-helper.php';
16
  include_once 'comment-form/tpl-comment.php';
17
- include_once 'dto/wc-comment.php';
18
  include_once 'wc-css.php';
19
 
20
  class WC_Core {
@@ -188,7 +187,9 @@ class WC_Core {
188
  public function add_plugin_options_page() {
189
  if (function_exists('add_options_page')) {
190
  add_menu_page('WpDiscuz', 'WpDiscuz', 'manage_options', 'wpdiscuz_options_page', array(&$this->wc_options, 'main_options_form'), plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/plugin-icon/plugin-icon-20.png'), 1246);
191
- add_submenu_page('wpdiscuz_options_page', 'Phrases', 'Phrases', 'manage_options', 'wpdiscuz_phrases_page', array(&$this->wc_options, 'phrases_options_form'));
 
 
192
  }
193
  }
194
 
@@ -304,7 +305,7 @@ class WC_Core {
304
  }
305
  }
306
  }
307
- $comment = filter_input(INPUT_POST, 'comment');
308
  $website_url = '';
309
  if (is_user_logged_in()) {
310
  $user_id = get_current_user_id();
@@ -330,23 +331,23 @@ class WC_Core {
330
  $website_url = 'http://' . $website_url;
331
  }
332
  if ($website_url != '' && (filter_var($website_url, FILTER_VALIDATE_URL) === false)) {
333
- $message_array['code'] = -1;
334
- $message_array['message'] = $this->wc_options_serialized->wc_phrases['wc_error_url_text'];
335
- echo json_encode($message_array);
336
- exit;
337
- }
338
- $comment = wp_kses($comment, array(
339
- 'br' => array(),
340
- 'a' => array('href' => array(), 'title' => array()),
341
- 'i' => array(),
342
- 'b' => array(),
343
- 'u' => array(),
344
- 'strong' => array(),
345
- 'p' => array(),
346
- 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
347
- ));
348
-
349
- if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment && filter_var($comment_post_ID)) {
350
 
351
  $author_ip = WC_Helper::get_real_ip_addr();
352
 
@@ -356,7 +357,7 @@ class WC_Core {
356
  'comment_parent' => $comment_parent,
357
  'comment_author' => $name,
358
  'comment_author_email' => $email,
359
- 'comment_content' => $comment,
360
  'comment_author_url' => $website_url,
361
  'comment_author_IP' => $author_ip,
362
  'comment_agent' => $this->wc_user_agent
@@ -386,7 +387,7 @@ class WC_Core {
386
  $this->wc_confirm_email_sender($wc_notification_inserted_id, $email, $comment_post_ID, $new_comment_id, $notification_type);
387
  }
388
 
389
- $new_comment = new WC_Comment(get_comment($new_comment_id, OBJECT));
390
  if ($held_moderate) {
391
  $message_array['code'] = -2;
392
  $message_array['message'] = $this->wc_options_serialized->wc_phrases['wc_held_for_moderate'];
@@ -435,10 +436,8 @@ class WC_Core {
435
  if ($this->wc_options_serialized->wc_voting_buttons_show_hide) {
436
  exit();
437
  }
438
-
439
- if ($this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
440
- $this->wc_options_serialized->wc_phrases = $this->wc_db_helper->get_phrases();
441
- }
442
  $messageArray = array();
443
  $messageArray['code'] = -1;
444
  $comment_id = '';
@@ -621,6 +620,7 @@ class WC_Core {
621
  'max_depth' => $wc_comments_max_depth,
622
  'reverse_top_level' => false,
623
  'echo' => false,
 
624
  'wc_visible_parent_comment_ids' => $wc_visible_parent_comment_ids
625
  );
626
 
@@ -632,7 +632,7 @@ class WC_Core {
632
  }
633
 
634
  $wc_parent_comments = $this->get_comments_tree($wc_parent_comments, $wc_child_comments);
635
- $wc_parent_comments = $this->init_wc_comments($wc_parent_comments);
636
  $message_array['wc_last_comment_id'] = max($wc_new_comments_ids);
637
  $message_array['message'] = wp_list_comments($comm_list_args, $wc_parent_comments);
638
  $wc_post_parent_comments_count = $this->wc_db_helper->get_post_parent_comments_count($wc_post_id);
@@ -735,10 +735,7 @@ class WC_Core {
735
  // MUST BE CHANGED IN NEXT VERSION OF PLUGIN
736
  public function get_wp_comments($comments_offset, $post_id = null, $wc_curr_user_comment_count = 0, $wc_hidden_new_comment_count = 0) {
737
  global $post;
738
- if ($this->wc_db_helper->is_phrase_exists('wc_leave_a_reply_text')) {
739
- $this->wc_options_serialized->wc_phrases = $this->wc_db_helper->get_phrases();
740
- }
741
-
742
  if (!$post_id) {
743
  $post_id = $post->ID;
744
  }
@@ -752,14 +749,14 @@ class WC_Core {
752
  'per_page' => $comments_offset ? $comments_offset * $wc_comment_count + $wc_curr_user_comment_count : '',
753
  'max_depth' => $wc_comments_max_depth,
754
  'reverse_top_level' => false,
 
755
  'echo' => false
756
  );
757
 
758
  $wc_wp_comments = array();
759
  $comments = get_comments(array('post_id' => $post_id, 'status' => 'approve', 'order' => $wc_comment_list_order));
760
- $wc_comments = $this->init_wc_comments($comments);
761
- // echo count($comments);exit();
762
- $wc_wp_comments['wc_list'] = wp_list_comments($comm_list_args, $wc_comments);
763
  $wc_button_comments_count_style = $wc_hidden_new_comment_count > 0 ? "inline-block" : "none";
764
 
765
  if ($this->wc_parent_comments_count > $this->wc_options_serialized->wc_comment_count * $comments_offset + $wc_curr_user_comment_count && $comments_offset) {
@@ -821,16 +818,13 @@ class WC_Core {
821
  * initialize WPC comments
822
  */
823
  public function init_wc_comments($comments) {
824
- $wc_comments = array();
825
  if ($comments) {
826
  foreach ($comments as $comment) {
827
  if (!$comment->comment_parent) {
828
  $this->wc_parent_comments_count++;
829
  }
830
- $wc_comments[] = new WC_Comment($comment);
831
  }
832
  }
833
- return $wc_comments;
834
  }
835
 
836
  public function wc_comment_callback($comment, $args, $depth) {
@@ -857,7 +851,7 @@ class WC_Core {
857
 
858
  public function init_current_post_type() {
859
  global $post;
860
- if ($post && in_array($post->post_type, $this->wc_options_serialized->wc_post_types)) {
861
  add_filter('comments_template', array(&$this, 'remove_comments_template_on_pages'), 10);
862
  }
863
  }
@@ -1018,8 +1012,10 @@ class WC_Core {
1018
 
1019
  // Add settings link on plugin page
1020
  public function wc_add_plugin_settings_link($links) {
1021
- $settings_link = '<a href="' . admin_url() . 'admin.php?page=wpdiscuz_options_page">' . __('Settings', WC_Core::$TEXT_DOMAIN) . '</a> |';
1022
- $settings_link .= '<a href="' . admin_url() . 'admin.php?page=wpdiscuz_phrases_page">' . __('Phrases', WC_Core::$TEXT_DOMAIN) . '</a>';
 
 
1023
  array_unshift($links, $settings_link);
1024
  return $links;
1025
  }
@@ -1028,17 +1024,21 @@ class WC_Core {
1028
  * get comment text from db
1029
  */
1030
  public function wc_get_editable_comment_content() {
 
1031
  $message_array = array();
1032
  $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
1033
  if ($comment_ID) {
1034
  $comment = get_comment($comment_ID);
1035
- if ($this->wc_helper->is_comment_editable($comment)) {
1036
  $message_array['code'] = 1;
1037
  $message_array['message'] = $comment->comment_content;
1038
  } else {
1039
  $message_array['code'] = -1;
1040
  $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'];
1041
  }
 
 
 
1042
  }
1043
  echo json_encode($message_array);
1044
  exit();
@@ -1052,21 +1052,12 @@ class WC_Core {
1052
  $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
1053
  $comment_content = filter_input(INPUT_POST, 'comment_content');
1054
  $comment = get_comment($comment_ID);
1055
-
1056
  $trimmed_comment_content = trim($comment_content);
1057
  // Change messages in next version - shoud be diff. messages for each specific error
1058
- if ($trimmed_comment_content) {
1059
  if ($trimmed_comment_content != $comment->comment_content) {
1060
- $comment_content = wp_kses($comment_content, array(
1061
- 'br' => array(),
1062
- 'a' => array('href' => array(), 'title' => array(), 'target' => array(), 'rel' => array(), 'download' => array(), 'hreflang' => array(), 'media' => array(), 'type' => array()),
1063
- 'i' => array(),
1064
- 'b' => array(),
1065
- 'u' => array(),
1066
- 'strong' => array(),
1067
- 'p' => array(),
1068
- 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
1069
- ));
1070
 
1071
  $author_ip = WC_Helper::get_real_ip_addr();
1072
  $this->wc_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
@@ -1088,10 +1079,15 @@ class WC_Core {
1088
  $message_array['code'] = -2;
1089
  $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'];
1090
  }
 
 
 
1091
  }
 
1092
  echo json_encode($message_array);
1093
  exit;
1094
  }
 
1095
  }
1096
 
1097
  $wc_core = new WC_Core();
3
  /*
4
  Plugin Name: wpDiscuz - Wordpress Comments
5
  Description: Better comment system. Wordpress post comments and discussion plugin. Allows your visitors discuss, vote for comments and share.
6
+ Version: 2.2.3
7
  Author: gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
8
  Author URI: http://www.gvectors.com/
9
  Plugin URI: http://www.gvectors.com/wpdiscuz/
14
  include_once 'includes/wc-helper.php';
15
  include_once 'includes/wc-db-helper.php';
16
  include_once 'comment-form/tpl-comment.php';
 
17
  include_once 'wc-css.php';
18
 
19
  class WC_Core {
187
  public function add_plugin_options_page() {
188
  if (function_exists('add_options_page')) {
189
  add_menu_page('WpDiscuz', 'WpDiscuz', 'manage_options', 'wpdiscuz_options_page', array(&$this->wc_options, 'main_options_form'), plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/plugin-icon/plugin-icon-20.png'), 1246);
190
+ if (!$this->wc_options_serialized->wc_is_use_po_mo) {
191
+ add_submenu_page('wpdiscuz_options_page', 'Phrases', 'Phrases', 'manage_options', 'wpdiscuz_phrases_page', array(&$this->wc_options, 'phrases_options_form'));
192
+ }
193
  }
194
  }
195
 
305
  }
306
  }
307
  }
308
+ $comment_content = filter_input(INPUT_POST, 'comment');
309
  $website_url = '';
310
  if (is_user_logged_in()) {
311
  $user_id = get_current_user_id();
331
  $website_url = 'http://' . $website_url;
332
  }
333
  if ($website_url != '' && (filter_var($website_url, FILTER_VALIDATE_URL) === false)) {
334
+ $message_array['code'] = -1;
335
+ $message_array['message'] = $this->wc_options_serialized->wc_phrases['wc_error_url_text'];
336
+ echo json_encode($message_array);
337
+ exit;
338
+ }
339
+
340
+ $comment_content = wp_kses($comment_content, $this->wc_helper->wc_allowed_tags);
341
+ $wc_comment_text_max_length = intval($this->wc_options_serialized->wc_comment_text_max_length);
342
+
343
+ if ($wc_comment_text_max_length && $wc_comment_text_max_length > 0 && mb_strlen(trim($comment_content)) > $wc_comment_text_max_length) {
344
+ $message_array['code'] = -1;
345
+ $message_array['message'] = $this->wc_options_serialized->wc_phrases['wc_msg_comment_text_max_length'];
346
+ echo json_encode($message_array);
347
+ exit;
348
+ }
349
+
350
+ if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment_content && filter_var($comment_post_ID)) {
351
 
352
  $author_ip = WC_Helper::get_real_ip_addr();
353
 
357
  'comment_parent' => $comment_parent,
358
  'comment_author' => $name,
359
  'comment_author_email' => $email,
360
+ 'comment_content' => $comment_content,
361
  'comment_author_url' => $website_url,
362
  'comment_author_IP' => $author_ip,
363
  'comment_agent' => $this->wc_user_agent
387
  $this->wc_confirm_email_sender($wc_notification_inserted_id, $email, $comment_post_ID, $new_comment_id, $notification_type);
388
  }
389
 
390
+ $new_comment = get_comment($new_comment_id, OBJECT);
391
  if ($held_moderate) {
392
  $message_array['code'] = -2;
393
  $message_array['message'] = $this->wc_options_serialized->wc_phrases['wc_held_for_moderate'];
436
  if ($this->wc_options_serialized->wc_voting_buttons_show_hide) {
437
  exit();
438
  }
439
+ $a = get_locale();
440
+ $this->wc_options_serialized->init_phrases_on_load();
 
 
441
  $messageArray = array();
442
  $messageArray['code'] = -1;
443
  $comment_id = '';
620
  'max_depth' => $wc_comments_max_depth,
621
  'reverse_top_level' => false,
622
  'echo' => false,
623
+ 'page' => 1,
624
  'wc_visible_parent_comment_ids' => $wc_visible_parent_comment_ids
625
  );
626
 
632
  }
633
 
634
  $wc_parent_comments = $this->get_comments_tree($wc_parent_comments, $wc_child_comments);
635
+ $this->init_wc_comments($wc_parent_comments);
636
  $message_array['wc_last_comment_id'] = max($wc_new_comments_ids);
637
  $message_array['message'] = wp_list_comments($comm_list_args, $wc_parent_comments);
638
  $wc_post_parent_comments_count = $this->wc_db_helper->get_post_parent_comments_count($wc_post_id);
735
  // MUST BE CHANGED IN NEXT VERSION OF PLUGIN
736
  public function get_wp_comments($comments_offset, $post_id = null, $wc_curr_user_comment_count = 0, $wc_hidden_new_comment_count = 0) {
737
  global $post;
738
+ $this->wc_options_serialized->init_phrases_on_load();
 
 
 
739
  if (!$post_id) {
740
  $post_id = $post->ID;
741
  }
749
  'per_page' => $comments_offset ? $comments_offset * $wc_comment_count + $wc_curr_user_comment_count : '',
750
  'max_depth' => $wc_comments_max_depth,
751
  'reverse_top_level' => false,
752
+ 'page' => 1,
753
  'echo' => false
754
  );
755
 
756
  $wc_wp_comments = array();
757
  $comments = get_comments(array('post_id' => $post_id, 'status' => 'approve', 'order' => $wc_comment_list_order));
758
+ $this->init_wc_comments($comments);
759
+ $wc_wp_comments['wc_list'] = wp_list_comments($comm_list_args, $comments);
 
760
  $wc_button_comments_count_style = $wc_hidden_new_comment_count > 0 ? "inline-block" : "none";
761
 
762
  if ($this->wc_parent_comments_count > $this->wc_options_serialized->wc_comment_count * $comments_offset + $wc_curr_user_comment_count && $comments_offset) {
818
  * initialize WPC comments
819
  */
820
  public function init_wc_comments($comments) {
 
821
  if ($comments) {
822
  foreach ($comments as $comment) {
823
  if (!$comment->comment_parent) {
824
  $this->wc_parent_comments_count++;
825
  }
 
826
  }
827
  }
 
828
  }
829
 
830
  public function wc_comment_callback($comment, $args, $depth) {
851
 
852
  public function init_current_post_type() {
853
  global $post;
854
+ if ($post && in_array($post->post_type, $this->wc_options_serialized->wc_post_types) && is_singular()) {
855
  add_filter('comments_template', array(&$this, 'remove_comments_template_on_pages'), 10);
856
  }
857
  }
1012
 
1013
  // Add settings link on plugin page
1014
  public function wc_add_plugin_settings_link($links) {
1015
+ $settings_link = '<a href="' . admin_url() . 'admin.php?page=wpdiscuz_options_page">' . __('Settings', WC_Core::$TEXT_DOMAIN) . '</a>';
1016
+ if (!$this->wc_options_serialized->wc_is_use_po_mo) {
1017
+ $settings_link .= ' | <a href="' . admin_url() . 'admin.php?page=wpdiscuz_phrases_page">' . __('Phrases', WC_Core::$TEXT_DOMAIN) . '</a>';
1018
+ }
1019
  array_unshift($links, $settings_link);
1020
  return $links;
1021
  }
1024
  * get comment text from db
1025
  */
1026
  public function wc_get_editable_comment_content() {
1027
+ $current_user = wp_get_current_user();
1028
  $message_array = array();
1029
  $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
1030
  if ($comment_ID) {
1031
  $comment = get_comment($comment_ID);
1032
+ if (isset($current_user) && $comment->user_id == $current_user->ID && $this->wc_helper->is_comment_editable($comment)) {
1033
  $message_array['code'] = 1;
1034
  $message_array['message'] = $comment->comment_content;
1035
  } else {
1036
  $message_array['code'] = -1;
1037
  $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'];
1038
  }
1039
+ } else {
1040
+ $message_array['code'] = -1;
1041
+ $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'];
1042
  }
1043
  echo json_encode($message_array);
1044
  exit();
1052
  $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
1053
  $comment_content = filter_input(INPUT_POST, 'comment_content');
1054
  $comment = get_comment($comment_ID);
1055
+ $current_user = wp_get_current_user();
1056
  $trimmed_comment_content = trim($comment_content);
1057
  // Change messages in next version - shoud be diff. messages for each specific error
1058
+ if ($trimmed_comment_content && isset($current_user) && $comment->user_id == $current_user->ID) {
1059
  if ($trimmed_comment_content != $comment->comment_content) {
1060
+ $comment_content = wp_kses($comment_content, $this->wc_helper->wc_allowed_tags);
 
 
 
 
 
 
 
 
 
1061
 
1062
  $author_ip = WC_Helper::get_real_ip_addr();
1063
  $this->wc_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
1079
  $message_array['code'] = -2;
1080
  $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'];
1081
  }
1082
+ } else {
1083
+ $message_array['code'] = -1;
1084
+ $message_array['phrase_message'] = $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'];
1085
  }
1086
+
1087
  echo json_encode($message_array);
1088
  exit;
1089
  }
1090
+
1091
  }
1092
 
1093
  $wc_core = new WC_Core();