Comments – wpDiscuz - Version 2.1.0

Version Description

  • Added : Users can edit their comments (time-frame can be limited by admin)
  • Added : Email notification options with radio selector instead of checkboxes
  • Added : Subscription activation via additional "Confirm Subscription" email
  • Added : Thumb-up and thumb-down voting icons
  • Added : Integration with UserPro - Comment author profile picture
  • Added : Integration with UserPro - Comment author name is linked to profile page
  • Added : Integration with UserPro - User badges under comment author avatar
  • Added : Integration with Postmatic for subscriptions and commenting by email
  • Added : Persian (fa_IR) language, thanks to Vahid (VSG24)
  • Added : Russian (ru_RU) language, thanks to OlafKS
  • Added : Close pop-up messages by clicking outside of message-box
  • Added : Scroll-down to comment are on clicking comments/replies link
  • Added : Filter hooks on email fields
  • Added : Filter hooks on comment form fields
  • Fixed Bug: Image source URL to image conversion in comment content

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

Code changes from version 2.0.9 to 2.1.0

comment-form/form.php CHANGED
@@ -55,8 +55,7 @@ $header_text .= ' "' . get_the_title($post) . '"';
55
  <div style="clear:both"></div>
56
 
57
  <?php if (comments_open($post->ID)): ?>
58
- <div class="comments-area">
59
-
60
  <?php
61
  if (isset($_GET['wpdiscuzSubscribeID']) && isset($_GET['key'])) {
62
  $wc_core->wc_unsubscribe($_GET['wpdiscuzSubscribeID'], $_GET['key']);
@@ -68,12 +67,23 @@ $header_text .= ' "' . get_the_title($post) . '"';
68
  }
69
  ?>
70
 
 
 
 
 
 
 
 
 
 
 
 
71
  <?php if (comments_open($post->ID)) { ?>
72
  <h3 id="wc-comment-header"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_leave_a_reply_text']; ?></h3>
73
  <?php } ?>
74
  <?php do_action('comment_form_before'); ?>
75
 
76
- <?php
77
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_loggedin_username) {
78
  if (is_user_logged_in()) {
79
  global $current_user;
@@ -89,7 +99,6 @@ $header_text .= ' "' . get_the_title($post) . '"';
89
  }
90
  }
91
  ?>
92
-
93
  <div id="wpcomm">
94
  <p class="wc-comment-title">
95
  <?php echo ($post->comment_count) ? $header_text : $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_be_the_first_text']; ?>
@@ -142,31 +151,41 @@ $header_text .= ' "' . get_the_title($post) . '"';
142
  <label class="wc-label-comment-notify" style="cursor: default;"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_post']; ?> | <a href="<?php echo $wc_core->wc_db_helper->wc_unsubscribe_link($post->ID, $current_user->user_email, 'post'); ?>" rel="nofollow" class="unsubscribe"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe']; ?></a></label>
143
  <?php
144
  } else {
145
- $wc_notification_state = ($wc_core->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked == 1) ? 'checked="checked" value="1"' : 'value="0"';
 
 
 
 
 
 
146
 
147
  if ($current_user->ID && $wc_core->wc_db_helper->wc_has_all_comments_notification($post->ID, $current_user->user_email)) {
148
  ?>
149
  <label class="wc-label-all-reply-notify" style="cursor: default;"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_all_comment']; ?> | <a href="<?php echo $wc_core->wc_db_helper->wc_unsubscribe_link($post->ID, $current_user->user_email, 'all_comment'); ?>" rel="nofollow" class="unsubscribe"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe']; ?></a></label><br/>
150
  <?php
151
  } else {
152
-
 
 
 
 
153
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox) {
154
  ?>
155
- <input id="wc_notification_new_reply-<?php echo $unique_id; ?>" class="wc_notification_new_reply" <?php echo $wc_notification_state; ?> type="checkbox" name="wp_comment_reply_notification"/> <label class="wc-label-reply-notify" for="wc_notification_new_reply-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_reply']; ?></label><br />
156
  <?php
157
  }
158
 
159
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox) {
160
  ?>
161
- <input id="wc_notification_all_new_reply-<?php echo $unique_id; ?>" class="wc_notification_all_new_reply" <?php echo $wc_notification_state; ?> type="checkbox" name="wc_notification_all_new_reply"/> <label class="wc-label-all-reply-notify" for="wc_notification_all_new_reply-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply']; ?></label><br />
162
  <?php
163
  }
164
- }
165
 
166
- if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
167
- ?>
168
- <input id="wc_notification_new_comment-<?php echo $unique_id; ?>" class="wc_notification_new_comment" <?php echo $wc_notification_state; ?> type="checkbox" name="wp_post_comment_notification"/> <label class="wc-label-comment-notify" for="wc_notification_new_comment-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_comment']; ?></label><br />
169
- <?php
 
170
  }
171
  }
172
  ?>
@@ -192,15 +211,14 @@ $header_text .= ' "' . get_the_title($post) . '"';
192
  </div>
193
  <div style="clear:both"></div>
194
  <?php } ?>
195
- <?php else: ?>
196
- <?php if ($post->comment_count > 0): ?>
197
- <div class="comments-area" style="border:none;">
198
- <?php else: ?>
199
- <div class="comments-area" style="display:none">
200
- <?php endif; ?>
201
- <div id="wpcomm" style="border:none;">
202
- <?php endif; ?>
203
-
204
  <div class="wc-thread-wrapper">
205
  <?php
206
  $wc_wp_comments = $wc_core->get_wp_comments(1);
@@ -208,7 +226,6 @@ $header_text .= ' "' . get_the_title($post) . '"';
208
  echo $wc_wp_comments['wc_list'];
209
  ?>
210
  </div>
211
-
212
  <span style="display: none;">
213
  <input type="hidden" name="wc_home_url" value="<?php echo plugins_url(); ?>" id="wc_home_url" />
214
  <input type="hidden" name="wc_plugin_dir_url" value="<?php echo WC_Core::$PLUGIN_DIRECTORY; ?>" id="wc_plugin_dir_url" />
@@ -230,12 +247,10 @@ $header_text .= ' "' . get_the_title($post) . '"';
230
  <input type="hidden" name="wc_last_new_reply_id" value="<?php echo $wc_last_comment_id; ?>" id="wc_last_new_reply_id" />
231
  <input type="hidden" name="wc_comment_reply_checkboxes_default_checked" value="<?php echo $wc_core->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked; ?>" id="wc_comment_reply_checkboxes_default_checked" />
232
  </span>
233
-
234
  <div style="clear:both"></div>
235
- <?php if (comments_open($post->ID)): ?>
236
- <div class="by-wpdiscuz"><span id="awpdiscuz" onclick='javascript:document.getElementById("bywpdiscuz").style.display = "inline";
237
- document.getElementById("awpdiscuz").style.display = "none";'><img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/plugin-icon/icon_info.png'); ?>" align="absmiddle" class="wpdimg"/></span>&nbsp;<a href="http://gvectors.com/wpdiscuz/" id="bywpdiscuz" title="wpDiscuz v<?php echo get_option($wc_core->wc_version_slug); ?> - Interactive Comment System">wpDiscuz</a></div>
238
- <?php endif; ?>
239
  <div id="wc_openModalFormAction" class="modalDialog">
240
  <div id="wc_response_info" class="wc_modal">
241
  <div id="wc_response_info_box">
@@ -244,8 +259,8 @@ $header_text .= ' "' . get_the_title($post) . '"';
244
  </div>
245
  </div>
246
  </div>
247
- </div>
248
- </div>
249
- <?php if (comments_open($post->ID)) { ?>
250
- <?php do_action('comment_form_after'); ?>
251
  <?php } ?>
55
  <div style="clear:both"></div>
56
 
57
  <?php if (comments_open($post->ID)): ?>
58
+ <div id="comments" class="comments-area">
 
59
  <?php
60
  if (isset($_GET['wpdiscuzSubscribeID']) && isset($_GET['key'])) {
61
  $wc_core->wc_unsubscribe($_GET['wpdiscuzSubscribeID'], $_GET['key']);
67
  }
68
  ?>
69
 
70
+ <?php
71
+ if (isset($_GET['wpdiscuzConfirmID']) && isset($_GET['wpdiscuzConfirmKey']) && isset($_GET['wpDiscuzComfirm'])) {
72
+ $wc_core->wc_db_helper->wc_notification_confirm($_GET['wpdiscuzConfirmID'], $_GET['wpdiscuzConfirmKey']);
73
+ ?>
74
+ <div id="wc_unsubscribe_message">
75
+ <span class="wc_unsubscribe_message"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_comfirm_success_message']; ?></span>
76
+ </div>
77
+ <?php
78
+ }
79
+ ?>
80
+
81
  <?php if (comments_open($post->ID)) { ?>
82
  <h3 id="wc-comment-header"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_leave_a_reply_text']; ?></h3>
83
  <?php } ?>
84
  <?php do_action('comment_form_before'); ?>
85
 
86
+ <?php
87
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_loggedin_username) {
88
  if (is_user_logged_in()) {
89
  global $current_user;
99
  }
100
  }
101
  ?>
 
102
  <div id="wpcomm">
103
  <p class="wc-comment-title">
104
  <?php echo ($post->comment_count) ? $header_text : $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_be_the_first_text']; ?>
151
  <label class="wc-label-comment-notify" style="cursor: default;"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_post']; ?> | <a href="<?php echo $wc_core->wc_db_helper->wc_unsubscribe_link($post->ID, $current_user->user_email, 'post'); ?>" rel="nofollow" class="unsubscribe"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe']; ?></a></label>
152
  <?php
153
  } else {
154
+ if ($wc_core->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked == 1) {
155
+ $none_status = '';
156
+ $post_sub_status = 'checked="checked"';
157
+ } else {
158
+ $none_status = 'checked="checked"';
159
+ $post_sub_status = '';
160
+ }
161
 
162
  if ($current_user->ID && $wc_core->wc_db_helper->wc_has_all_comments_notification($post->ID, $current_user->user_email)) {
163
  ?>
164
  <label class="wc-label-all-reply-notify" style="cursor: default;"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_all_comment']; ?> | <a href="<?php echo $wc_core->wc_db_helper->wc_unsubscribe_link($post->ID, $current_user->user_email, 'all_comment'); ?>" rel="nofollow" class="unsubscribe"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe']; ?></a></label><br/>
165
  <?php
166
  } else {
167
+ if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox || $wc_core->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox || $wc_core->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
168
+ ?>
169
+ <input id="wc_notification_none-<?php echo $unique_id; ?>" class="wc_notification_none" <?php echo $none_status; ?> value="wc_notification_none" type="radio" name="wp_comment_reply_notification-<?php echo $unique_id; ?>"/> <label class="wc-notification-none" for="wc_notification_none-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_none']; ?></label><br />
170
+ <?php
171
+ }
172
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox) {
173
  ?>
174
+ <input id="wc_notification_new_reply-<?php echo $unique_id; ?>" class="wc_notification_new_reply" value="wc_notification_new_reply" type="radio" name="wp_comment_reply_notification-<?php echo $unique_id; ?>"/> <label class="wc-label-reply-notify" for="wc_notification_new_reply-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_reply']; ?></label><br />
175
  <?php
176
  }
177
 
178
  if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox) {
179
  ?>
180
+ <input id="wc_notification_all_new_reply-<?php echo $unique_id; ?>" class="wc_notification_all_new_reply" value="wc_notification_all_new_reply" type="radio" name="wp_comment_reply_notification-<?php echo $unique_id; ?>"/> <label class="wc-label-all-reply-notify" for="wc_notification_all_new_reply-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply']; ?></label><br />
181
  <?php
182
  }
 
183
 
184
+ if ($wc_core->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
185
+ ?>
186
+ <input id="wc_notification_new_comment-<?php echo $unique_id; ?>" class="wc_notification_new_comment" value="wc_notification_new_comment" <?php echo $post_sub_status; ?> type="radio" name="wp_comment_reply_notification-<?php echo $unique_id; ?>"/> <label class="wc-label-comment-notify" for="wc_notification_new_comment-<?php echo $unique_id; ?>"><?php echo $wc_core->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_comment']; ?></label><br />
187
+ <?php
188
+ }
189
  }
190
  }
191
  ?>
211
  </div>
212
  <div style="clear:both"></div>
213
  <?php } ?>
214
+ <?php else: ?>
215
+ <?php if ($post->comment_count > 0): ?>
216
+ <div class="comments-area" style="border:none;">
217
+ <?php else: ?>
218
+ <div class="comments-area" style="display:none">
219
+ <?php endif; ?>
220
+ <div id="wpcomm" style="border:none;">
221
+ <?php endif; ?>
 
222
  <div class="wc-thread-wrapper">
223
  <?php
224
  $wc_wp_comments = $wc_core->get_wp_comments(1);
226
  echo $wc_wp_comments['wc_list'];
227
  ?>
228
  </div>
 
229
  <span style="display: none;">
230
  <input type="hidden" name="wc_home_url" value="<?php echo plugins_url(); ?>" id="wc_home_url" />
231
  <input type="hidden" name="wc_plugin_dir_url" value="<?php echo WC_Core::$PLUGIN_DIRECTORY; ?>" id="wc_plugin_dir_url" />
247
  <input type="hidden" name="wc_last_new_reply_id" value="<?php echo $wc_last_comment_id; ?>" id="wc_last_new_reply_id" />
248
  <input type="hidden" name="wc_comment_reply_checkboxes_default_checked" value="<?php echo $wc_core->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked; ?>" id="wc_comment_reply_checkboxes_default_checked" />
249
  </span>
 
250
  <div style="clear:both"></div>
251
+ <?php if (comments_open($post->ID)) { ?>
252
+ <div class="by-wpdiscuz"><span id="awpdiscuz" onclick='javascript:document.getElementById("bywpdiscuz").style.display = "inline"; document.getElementById("awpdiscuz").style.display = "none";'><img src="<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/plugin-icon/icon_info.png'); ?>" align="absmiddle" class="wpdimg"/></span>&nbsp;<a href="http://gvectors.com/wpdiscuz/" id="bywpdiscuz" title="wpDiscuz v<?php echo get_option($wc_core->wc_version_slug); ?> - Interactive Comment System">wpDiscuz</a></div>
253
+ <?php } ?>
 
254
  <div id="wc_openModalFormAction" class="modalDialog">
255
  <div id="wc_response_info" class="wc_modal">
256
  <div id="wc_response_info_box">
259
  </div>
260
  </div>
261
  </div>
262
+ </div><!-- wpcomm -->
263
+ </div><!-- comments-area -->
264
+ <?php if (comments_open($post->ID)) { ?>
265
+ <?php do_action('comment_form_after'); ?>
266
  <?php } ?>
comment-form/tpl-comment.php CHANGED
@@ -19,6 +19,10 @@ class WC_Comment_Template_Builder {
19
  * @return single comment template
20
  */
21
  public function get_comment_template($comment, $args, $depth) {
 
 
 
 
22
  $comment_content = wp_kses($comment->comment_content, array(
23
  'br' => array(),
24
  'a' => array('href' => array(), 'title' => array()),
@@ -31,7 +35,7 @@ class WC_Comment_Template_Builder {
31
  ));
32
 
33
  $comment_content = $this->wc_helper->make_clickable($comment_content);
34
- $comment_content = apply_filters('comment_text', $comment_content);
35
 
36
  $vote_cls = '';
37
  $vote_title_text = '';
@@ -52,7 +56,7 @@ class WC_Comment_Template_Builder {
52
  if ($this->wc_options->wc_options_serialized->wc_simple_comment_date) {
53
  $date_format = get_option('date_format');
54
  $time_format = get_option('time_format');
55
- if (WC_Helper::isPostedToday(strtotime($comment->comment_date))) {
56
  $posted_date = $this->wc_options->wc_options_serialized->wc_phrases['wc_posted_today_text'] . ' ' . mysql2date($time_format, $comment->comment_date);
57
  } else {
58
  $posted_date = get_comment_date($date_format, $comment->comment_ID);
@@ -105,6 +109,9 @@ class WC_Comment_Template_Builder {
105
  if (!$this->wc_options->wc_options_serialized->wc_author_titles_show_hide) {
106
  $output .= '<div class="wc-comment-label">' . $author_title . '</div>';
107
  }
 
 
 
108
  $output .= '</div>';
109
  $output .= '<div class="wc-comment-right ' . $comment_content_class . '">';
110
  $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>';
@@ -112,7 +119,7 @@ class WC_Comment_Template_Builder {
112
  $output .= '<div class="wc-comment-footer">';
113
  if (!$this->wc_options->wc_options_serialized->wc_voting_buttons_show_hide) {
114
  $output .= '<div id="vote-count-' . $unique_id . '" class="wc-vote-result">' . $vote_count . '</div>';
115
- $output .= '<span id="wc-up-' . $unique_id . '" class="wc-vote-link wc-up ' . $vote_cls . '" title="' . $vote_up . '">&and;</span> | <span id="wc-down-' . $unique_id . '" class="wc-vote-link wc-down ' . $vote_cls . '" title="' . $vote_down . '">&or;</span> &nbsp;&nbsp;';
116
  }
117
 
118
  if (comments_open($comment->comment_post_ID)) {
@@ -135,7 +142,6 @@ class WC_Comment_Template_Builder {
135
  }
136
  }
137
 
138
-
139
  if (!$this->wc_options->wc_options_serialized->wc_share_buttons_show_hide) {
140
  $output .= '-&nbsp;&nbsp; <span id="wc-comm-share-' . $unique_id . '" class="wc-share-link" title="' . $share_text . '">' . $share_text . '</span> &nbsp;&nbsp;';
141
 
@@ -149,11 +155,15 @@ class WC_Comment_Template_Builder {
149
  }
150
 
151
  if (current_user_can('edit_comment', $comment->comment_ID)) {
152
- $output .= '-&nbsp;&nbsp; <a href="' . get_edit_comment_link($comment->comment_ID) . '">' . __('Edit', WC_Core::$TEXT_DOMAIN) . '</a>';
 
 
 
 
 
 
153
  }
154
 
155
-
156
-
157
  $visibility = 'none';
158
  if (!$comment->comment_parent && count($child_comments)) {
159
  $visibility = 'block';
@@ -198,27 +208,38 @@ class WC_Comment_Template_Builder {
198
 
199
  $output_form .= '<div class="wc_notification_checkboxes">';
200
 
201
- global $current_user;
202
- get_currentuserinfo();
203
 
204
  if ($current_user->ID && $this->wc_db_helper->wc_has_post_notification($comment->comment_post_ID, $current_user->user_email)) {
205
  $output_form .= '<label class="wc-label-comment-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_post'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_post_ID, $current_user->user_email, 'post') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label>';
206
  } else {
207
- $wc_notification_state = ($this->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked == 1) ? 'checked="checked" value="1"' : 'value="0"';
208
  if ($current_user->ID && $this->wc_db_helper->wc_has_all_comments_notification($comment->comment_post_ID, $current_user->user_email) && $current_user->user_email == $comment->comment_author_email) {
209
  $output_form .= '<label class="wc-label-all-reply-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_all_comment'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_post_ID, $current_user->user_email, 'all_comment') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label><br/>';
210
  } else {
211
  if ($current_user->ID && $this->wc_db_helper->wc_has_comment_notification($comment->comment_post_ID, $comment->comment_ID, $current_user->user_email) && $current_user->user_email == $comment->comment_author_email) {
212
  $output_form .= '<label class="wc-label-reply-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_comment'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_ID, $current_user->user_email, 'comment') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label><br/>';
213
- } else if ($this->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox) {
214
- $output_form .= '<input class="wc-label-reply-notify wc_notification_new_reply" id="wc_notification_new_reply-' . $unique_id . '" ' . $wc_notification_state . ' type="checkbox" name="wc_notification_new_reply"/> <label class="wc-label-comment-notify" for="wc_notification_new_reply-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] . '</label><br />';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  }
216
- if ($this->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox) {
217
- $output_form .= '<input id="wc_notification_all_new_reply-' . $unique_id . '" class="wc_notification_all_new_reply" ' . $wc_notification_state . ' type="checkbox" name="wc_notification_all_new_reply"/> <label class="wc-label-all-reply-notify" for="wc_notification_all_new_reply-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] . '</label><br />';
218
- }
219
- }
220
- if ($this->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
221
- $output_form .= '<input class="wc-label-comment-notify wc_notification_new_comment" id="wc_notification_new_comment-' . $unique_id . '" ' . $wc_notification_state . ' type="checkbox" name="wc_notification_new_comment"/> <label class="wc-label-comment-notify" for="wc_notification_new_comment-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] . '</label>';
222
  }
223
  }
224
 
@@ -282,19 +303,27 @@ class WC_Comment_Template_Builder {
282
  */
283
  private function get_profile_url($user) {
284
  $wc_profile_url = '';
 
285
  if ($user) {
286
  if (class_exists('BuddyPress')) {
287
  $wc_profile_url = bp_core_get_user_domain($user->ID);
288
  } else if (class_exists('XooUserUltra')) {
289
  global $xoouserultra;
290
  $wc_profile_url = $xoouserultra->userpanel->get_user_profile_permalink($user->ID);
 
 
 
291
  } else {
292
  if (count_user_posts($user->ID)) {
293
  $wc_profile_url = get_author_posts_url($user->ID);
294
  }
295
  }
 
 
 
296
  }
297
- return $wc_profile_url;
 
298
  }
299
 
300
  /**
19
  * @return single comment template
20
  */
21
  public function get_comment_template($comment, $args, $depth) {
22
+ global $current_user;
23
+ get_currentuserinfo();
24
+
25
+
26
  $comment_content = wp_kses($comment->comment_content, array(
27
  'br' => array(),
28
  'a' => array('href' => array(), 'title' => array()),
35
  ));
36
 
37
  $comment_content = $this->wc_helper->make_clickable($comment_content);
38
+ $comment_content = apply_filters('comment_text', $comment_content, $comment, $args);
39
 
40
  $vote_cls = '';
41
  $vote_title_text = '';
56
  if ($this->wc_options->wc_options_serialized->wc_simple_comment_date) {
57
  $date_format = get_option('date_format');
58
  $time_format = get_option('time_format');
59
+ if (WC_Helper::is_posted_today($comment)) {
60
  $posted_date = $this->wc_options->wc_options_serialized->wc_phrases['wc_posted_today_text'] . ' ' . mysql2date($time_format, $comment->comment_date);
61
  } else {
62
  $posted_date = get_comment_date($date_format, $comment->comment_ID);
109
  if (!$this->wc_options->wc_options_serialized->wc_author_titles_show_hide) {
110
  $output .= '<div class="wc-comment-label">' . $author_title . '</div>';
111
  }
112
+ if (class_exists('userpro_api') && $comment->user_id) {
113
+ $output .= userpro_show_badges($comment->user_id, $inline = true);
114
+ }
115
  $output .= '</div>';
116
  $output .= '<div class="wc-comment-right ' . $comment_content_class . '">';
117
  $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>';
119
  $output .= '<div class="wc-comment-footer">';
120
  if (!$this->wc_options->wc_options_serialized->wc_voting_buttons_show_hide) {
121
  $output .= '<div id="vote-count-' . $unique_id . '" class="wc-vote-result">' . $vote_count . '</div>';
122
+ $output .= ' <span id="wc-up-' . $unique_id . '" class="wc-vote-link wc-up ' . $vote_cls . '" title="' . $vote_up . '"><img src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/thumbs-up.png').'" align="absmiddle" class="wc-vote-img-up" /></span> &nbsp;|&nbsp; <span id="wc-down-' . $unique_id . '" class="wc-vote-link wc-down ' . $vote_cls . '" title="' . $vote_down . '"><img src="' . plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/thumbs-down.png').'" align="absmiddle" class="wc-vote-img-down" /></span>&nbsp;';
123
  }
124
 
125
  if (comments_open($comment->comment_post_ID)) {
142
  }
143
  }
144
 
 
145
  if (!$this->wc_options->wc_options_serialized->wc_share_buttons_show_hide) {
146
  $output .= '-&nbsp;&nbsp; <span id="wc-comm-share-' . $unique_id . '" class="wc-share-link" title="' . $share_text . '">' . $share_text . '</span> &nbsp;&nbsp;';
147
 
155
  }
156
 
157
  if (current_user_can('edit_comment', $comment->comment_ID)) {
158
+ $output .= '-&nbsp;&nbsp; <a href="' . get_edit_comment_link($comment->comment_ID) . '">' . __('Edit', 'default') . '</a>';
159
+ } else {
160
+ if ($this->wc_helper->is_comment_editable($comment) && $current_user->ID && $current_user->ID == $comment->user_id) {
161
+ $output .= '<span id="wc_editable_comment-' . $unique_id . '" class="wc_editable_comment">-&nbsp;&nbsp;' . __('Edit', 'default') . '</span>';
162
+ $output .= '<span id="wc_cancel_edit-' . $unique_id . '" class="wc_cancel_edit">-&nbsp;&nbsp;' . $this->wc_options->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button'] . '</span>';
163
+ $output .= '<span id="wc_save_edited_comment-' . $unique_id . '" class="wc_save_edited_comment" style="display:none;">&nbsp;&nbsp;-&nbsp;&nbsp;' . $this->wc_options->wc_options_serialized->wc_phrases['wc_comment_edit_save_button'] . '</span>';
164
+ }
165
  }
166
 
 
 
167
  $visibility = 'none';
168
  if (!$comment->comment_parent && count($child_comments)) {
169
  $visibility = 'block';
208
 
209
  $output_form .= '<div class="wc_notification_checkboxes">';
210
 
211
+
 
212
 
213
  if ($current_user->ID && $this->wc_db_helper->wc_has_post_notification($comment->comment_post_ID, $current_user->user_email)) {
214
  $output_form .= '<label class="wc-label-comment-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_post'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_post_ID, $current_user->user_email, 'post') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label>';
215
  } else {
 
216
  if ($current_user->ID && $this->wc_db_helper->wc_has_all_comments_notification($comment->comment_post_ID, $current_user->user_email) && $current_user->user_email == $comment->comment_author_email) {
217
  $output_form .= '<label class="wc-label-all-reply-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_all_comment'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_post_ID, $current_user->user_email, 'all_comment') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label><br/>';
218
  } else {
219
  if ($current_user->ID && $this->wc_db_helper->wc_has_comment_notification($comment->comment_post_ID, $comment->comment_ID, $current_user->user_email) && $current_user->user_email == $comment->comment_author_email) {
220
  $output_form .= '<label class="wc-label-reply-notify" style="cursor: default;">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_subscribed_on_comment'] . ' | <a href="' . $this->wc_db_helper->wc_unsubscribe_link($comment->comment_ID, $current_user->user_email, 'comment') . '" rel="nofollow" class="unsubscribe">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . '</a></label><br/>';
221
+ } else {
222
+ if ($this->wc_options->wc_options_serialized->wc_comment_reply_checkboxes_default_checked == 1) {
223
+ $none_status = '';
224
+ $post_sub_status = 'checked="checked"';
225
+ } else {
226
+ $none_status = 'checked="checked"';
227
+ $post_sub_status = '';
228
+ }
229
+ if ($this->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox || $this->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox || $this->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
230
+ $output_form .= '<input id="wc_notification_none-' . $unique_id . '" class="wc_notification_none" ' . $none_status . ' value="wc_notification_none" type="radio" name="wp_comment_reply_notification-' . $unique_id . '"/> <label class="wc-notification-none" for="wc_notification_none-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_none'] . '</label><br />';
231
+ }
232
+ if ($this->wc_options->wc_options_serialized->wc_show_hide_reply_checkbox) {
233
+ $output_form .= '<input class="wc-label-reply-notify wc_notification_new_reply" id="wc_notification_new_reply-' . $unique_id . '" value="wc_notification_new_reply" type="radio" name="wp_comment_reply_notification-' . $unique_id . '"/> <label class="wc-label-comment-notify" for="wc_notification_new_reply-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] . '</label><br />';
234
+ }
235
+ if ($this->wc_options->wc_options_serialized->wc_show_hide_all_reply_checkbox) {
236
+ $output_form .= '<input id="wc_notification_all_new_reply-' . $unique_id . '" class="wc_notification_all_new_reply" value="wc_notification_all_new_reply" type="radio" name="wp_comment_reply_notification-' . $unique_id . '"/> <label class="wc-label-all-reply-notify" for="wc_notification_all_new_reply-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] . '</label><br />';
237
+ }
238
+
239
+ if ($this->wc_options->wc_options_serialized->wc_show_hide_comment_checkbox) {
240
+ $output_form .= '<input class="wc-label-comment-notify wc_notification_new_comment" id="wc_notification_new_comment-' . $unique_id . '" ' . $post_sub_status . ' value="wc_notification_new_comment" type="radio" name="wp_comment_reply_notification-' . $unique_id . '"/> <label class="wc-label-comment-notify" for="wc_notification_new_comment-' . $unique_id . '">' . $this->wc_options->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] . '</label>';
241
+ }
242
  }
 
 
 
 
 
 
243
  }
244
  }
245
 
303
  */
304
  private function get_profile_url($user) {
305
  $wc_profile_url = '';
306
+ $wc_profile_url_filter = '';
307
  if ($user) {
308
  if (class_exists('BuddyPress')) {
309
  $wc_profile_url = bp_core_get_user_domain($user->ID);
310
  } else if (class_exists('XooUserUltra')) {
311
  global $xoouserultra;
312
  $wc_profile_url = $xoouserultra->userpanel->get_user_profile_permalink($user->ID);
313
+ } else if (class_exists('userpro_api')) {
314
+ global $userpro;
315
+ $wc_profile_url = $userpro->permalink($user->ID);
316
  } else {
317
  if (count_user_posts($user->ID)) {
318
  $wc_profile_url = get_author_posts_url($user->ID);
319
  }
320
  }
321
+ $user_id = $user->ID;
322
+ $wc_profile_url_data = apply_filters('wpdiscuz_profil_url', array('user_id' => $user_id, 'permalink' => ''));
323
+ $wc_profile_url_filter = $wc_profile_url_data['permalink'];
324
  }
325
+
326
+ return $wc_profile_url_filter ? $wc_profile_url_filter : $wc_profile_url;
327
  }
328
 
329
  /**
files/css/fv.css CHANGED
@@ -19,9 +19,9 @@ button[type=submit]{ font-size:1.1em; padding:5px 25px; }*/
19
 
20
  /* alerts (when validation fails) */
21
  .item .alert{ float:left; margin:0px; padding:2px 10px; color:#DD0000; border-radius:3px 4px 4px 3px; background-color:#FFE8E8; white-space:pre; position:relative; left:-15px; opacity:0; z-index:1; transition:0.15s ease-out; }
22
- .item .alert {max-width: 100%;position: absolute;top: -50%;font-size: 12px;}
23
  /*.item .alert::after{ content:''; display:block; height:0; width:0; border-color:transparent #CE5454 transparent transparent; border-style:solid; border-width:11px 7px; position:absolute; left:-13px; top:1px; }*/
24
- .item.bad .alert{ left:0; opacity:1; }
25
 
26
 
27
  @keyframes shake{
19
 
20
  /* alerts (when validation fails) */
21
  .item .alert{ float:left; margin:0px; padding:2px 10px; color:#DD0000; border-radius:3px 4px 4px 3px; background-color:#FFE8E8; white-space:pre; position:relative; left:-15px; opacity:0; z-index:1; transition:0.15s ease-out; }
22
+ .item .alert {max-width: 100%;position: absolute;top: -15px;font-size: 12px;}
23
  /*.item .alert::after{ content:''; display:block; height:0; width:0; border-color:transparent #CE5454 transparent transparent; border-style:solid; border-width:11px 7px; position:absolute; left:-13px; top:1px; }*/
24
+ .item.bad .alert{ left:0; opacity:1; padding:2px 4px; line-height:14px; }
25
 
26
 
27
  @keyframes shake{
files/img/thumbs-down.png ADDED
Binary file
files/img/thumbs-up.png ADDED
Binary file
files/js/wc-ajax.js CHANGED
@@ -18,9 +18,15 @@ jQuery(document).ready(function ($) {
18
  var wc_notification_all_new_reply;
19
  var wc_notification_new_reply;
20
  var wc_all_comments_count_new;
 
21
 
22
  $(".wc_comment").autoGrow();
23
 
 
 
 
 
 
24
  $(document).delegate('#wc_openModalFormAction .close', 'click', function () {
25
  $('#wc_openModalFormAction').css('opacity', '0');
26
  $('#wc_openModalFormAction').css('pointer-events', 'none');
@@ -63,9 +69,7 @@ jQuery(document).ready(function ($) {
63
  wc_comment_post_ID = $('#wc_comment_post_ID-' + uniqueID).val();
64
  wc_comment_parent = $('#wc_comment_parent-' + uniqueID).val();
65
  wc_form = $('#wc_comm_form-' + uniqueID);
66
- wc_notification_new_comment = parseInt($('#wc_notification_new_comment-' + uniqueID).val());
67
- wc_notification_all_new_reply = parseInt($('#wc_notification_all_new_reply-' + uniqueID).val());
68
- wc_notification_new_reply = parseInt($('#wc_notification_new_reply-' + uniqueID).val());
69
 
70
  var depth = '';
71
  if (isMainFormSubmit(wc_submitID, wc_comment_post_ID)) {
@@ -76,25 +80,18 @@ jQuery(document).ready(function ($) {
76
 
77
 
78
  var notification_type = '';
79
- if ($('.wc_notification_new_comment').length || $('.wc_notification_all_new_reply').length || $('.wc_notification_new_reply').length) {
80
- //var wc_comment_reply_checkboxes_default_checked = $('#wc_comment_reply_checkboxes_default_checked').val();
81
- if (wc_notification_new_reply !== 0) {
82
  notification_type = 'reply';
83
- //if (wc_comment_reply_checkboxes_default_checked == 0) {
84
- $('#wc_notification_new_reply-' + uniqueID).val('0').prop("checked", false);
85
- // }
86
  }
87
-
88
- if (wc_notification_all_new_reply !== 0) {
89
  notification_type = 'all_comment';
90
- $('#wc_notification_all_new_reply-' + uniqueID).val('0').prop("checked", false);
91
  }
92
-
93
- if (wc_notification_new_comment !== 0) {
94
  notification_type = 'post';
95
- //if (wc_comment_reply_checkboxes_default_checked == 0) {
96
- $('#wc_notification_new_comment-' + uniqueID).val('0').prop("checked", false);
97
- // }
98
  }
99
 
100
  }
@@ -618,5 +615,105 @@ jQuery(document).ready(function ($) {
618
  });
619
  }
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  $('.wc_tooltipster').tooltipster({offsetY: 2});
622
  });
18
  var wc_notification_all_new_reply;
19
  var wc_notification_new_reply;
20
  var wc_all_comments_count_new;
21
+ var wc_comment_text_before_editting;
22
 
23
  $(".wc_comment").autoGrow();
24
 
25
+ $(document).delegate('#wc_openModalFormAction', 'click', function () {
26
+ $('#wc_openModalFormAction').css('opacity', '0');
27
+ $('#wc_openModalFormAction').css('pointer-events', 'none');
28
+ });
29
+
30
  $(document).delegate('#wc_openModalFormAction .close', 'click', function () {
31
  $('#wc_openModalFormAction').css('opacity', '0');
32
  $('#wc_openModalFormAction').css('pointer-events', 'none');
69
  wc_comment_post_ID = $('#wc_comment_post_ID-' + uniqueID).val();
70
  wc_comment_parent = $('#wc_comment_parent-' + uniqueID).val();
71
  wc_form = $('#wc_comm_form-' + uniqueID);
72
+ var notification_type_radio = $("input:radio[name='wp_comment_reply_notification-" + uniqueID + "']:checked").length ? $("input:radio[name='wp_comment_reply_notification-" + uniqueID + "']:checked").val() : '';
 
 
73
 
74
  var depth = '';
75
  if (isMainFormSubmit(wc_submitID, wc_comment_post_ID)) {
80
 
81
 
82
  var notification_type = '';
83
+ if (notification_type_radio.length && notification_type_radio != 'wc_notification_none') {
84
+ if (notification_type_radio == 'wc_notification_new_reply') {
 
85
  notification_type = 'reply';
86
+ $('#wc_notification_new_reply-' + uniqueID).prop("checked", false);
 
 
87
  }
88
+ if (notification_type_radio == 'wc_notification_all_new_reply') {
 
89
  notification_type = 'all_comment';
90
+ $('#wc_notification_all_new_reply-' + uniqueID).prop("checked", false);
91
  }
92
+ if (notification_type_radio == 'wc_notification_new_comment') {
 
93
  notification_type = 'post';
94
+ $('#wc_notification_new_comment-' + uniqueID).prop("checked", false);
 
 
95
  }
96
 
97
  }
615
  });
616
  }
617
 
618
+ $(document).delegate('.wc_editable_comment', 'click', function () {
619
+ var uniqueID = getUniqueID($(this));
620
+ var commentID = getCommentID(uniqueID);
621
+
622
+ $.ajax({
623
+ type: 'POST',
624
+ url: wc_ajax_obj.url,
625
+ data: {
626
+ comment_id: commentID,
627
+ action: 'wc_get_editable_comment_content'
628
+ }
629
+ }).done(function (response) {
630
+ try {
631
+ var obj = $.parseJSON(response);
632
+ if (obj.code == 1) {
633
+ wc_comment_text_before_editting = obj.message;
634
+ var editableTextarea = '<textarea required="required" name="wc_comment" class="wc_comment wc_field_input wc_edit_comment" id="wc_edit_comment-' + uniqueID + '" style="min-height: 2em;">' + obj.message + '</textarea>';
635
+ $('#wc-comm-' + uniqueID + ' .wc-comment-text').replaceWith(editableTextarea);
636
+ document.getElementById('wc_edit_comment-' + uniqueID).focus();
637
+ $('#wc_save_edited_comment-' + uniqueID).show();
638
+ editableTextarea = '';
639
+ $('#wc_editable_comment-' + uniqueID).hide();
640
+ $('#wc_cancel_edit-' + uniqueID).show();
641
+ } else {
642
+ var html = "<a href='#close' title='Close' class='close'>&nbsp;</a>";
643
+ $('#wc_openModalFormAction').css('opacity', '1');
644
+ $('#wc_openModalFormAction').css('pointer-events', 'auto');
645
+ $('#wc_openModalFormAction .close').css('display', 'block');
646
+ $('#wc_openModalFormAction > #wc_response_info').html(html + obj.phrase_message);
647
+ }
648
+ } catch (e) {
649
+
650
+ }
651
+ });
652
+ });
653
+
654
+ $(document).delegate('.wc_save_edited_comment', 'click', function () {
655
+ var uniqueID = getUniqueID($(this));
656
+ var commentID = getCommentID(uniqueID);
657
+ var editableTextarea = $('#wc-comm-' + uniqueID + ' textarea#wc_edit_comment-' + uniqueID);
658
+ var commentContent = editableTextarea.val();
659
+ var submit = true;
660
+ var depth = getCommentDepth($(this).parents('.wc-comment')) - 1;
661
+ if ($.trim(commentContent).length <= 0) {
662
+ submit = false;
663
+ }
664
+
665
+ if (submit) {
666
+ $('#wc_openModalFormAction .close').css('display', 'none');
667
+ $('#wc_openModalFormAction').css('opacity', '1');
668
+ $('#wc_openModalFormAction').css('pointer-events', 'auto');
669
+ $('#wc_openModalFormAction > #wc_response_info').html(wc_loading_image);
670
+
671
+ $.ajax({
672
+ type: 'POST',
673
+ url: wc_ajax_obj.url,
674
+ data: {
675
+ comment_id: commentID,
676
+ comment_content: commentContent,
677
+ comment_depth: depth,
678
+ action: 'wc_save_edited_comment'
679
+ }
680
+ }).done(function (response) {
681
+ try {
682
+ var obj = $.parseJSON(response);
683
+ if (obj.code == 1) {
684
+ $('#wc_openModalFormAction').css('opacity', '0');
685
+ $('#wc_openModalFormAction').css('pointer-events', 'none');
686
+ $('#wc-comm-' + uniqueID).replaceWith(obj.message);
687
+ } else {
688
+ var html = "<a href='#close' title='Close' class='close'>&nbsp;</a>";
689
+ $('#wc_openModalFormAction').css('opacity', '1');
690
+ $('#wc_openModalFormAction').css('pointer-events', 'auto');
691
+ $('#wc_openModalFormAction .close').css('display', 'block');
692
+ $('#wc_openModalFormAction > #wc_response_info').html(html + obj.phrase_message);
693
+ }
694
+ editableTextarea = '';
695
+ commentContent = '';
696
+ } catch (e) {
697
+
698
+ }
699
+ });
700
+ }
701
+ });
702
+
703
+ $(document).delegate('.wc_cancel_edit', 'click', function () {
704
+ var uniqueID = getUniqueID($(this));
705
+ $('#wc_editable_comment-' + uniqueID).show();
706
+ $('#wc_cancel_edit-' + uniqueID).hide();
707
+ $('#wc_save_edited_comment-' + uniqueID).hide();
708
+ var commentContentWrapper = '<div class="wc-comment-text">' + nl2br(wc_comment_text_before_editting) + '</div>';
709
+ $('#wc-comm-' + uniqueID + ' #wc_edit_comment-' + uniqueID).replaceWith(commentContentWrapper);
710
+ });
711
+
712
+ function nl2br(str, is_xhtml) {
713
+ var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br/>' : '<br>';
714
+ var string = (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
715
+ return string.replace('<br><br>', '<br/>');
716
+ }
717
+
718
  $('.wc_tooltipster').tooltipster({offsetY: 2});
719
  });
files/js/wc-frontend.js CHANGED
@@ -1,29 +1,5 @@
1
  jQuery(document).ready(function ($) {
2
- $(document).delegate('.wc_notification_new_comment', 'change', function () {
3
- if ($(this).is(':checked')) {
4
- $(this).val('1');
5
- } else {
6
- $(this).val('0');
7
- }
8
- });
9
-
10
- $(document).delegate('.wc_notification_all_new_reply', 'change', function () {
11
- if ($(this).is(':checked')) {
12
- $(this).val('1');
13
- } else {
14
- $(this).val('0');
15
- }
16
- });
17
-
18
- $(document).delegate('.wc_notification_new_reply', 'change', function () {
19
- if ($(this).is(':checked')) {
20
- $(this).val('1');
21
- } else {
22
- $(this).val('0');
23
- }
24
- });
25
-
26
- $(document).delegate('.wc_manage_subscribtions', 'click', function () {
27
  $(this).next('.wc_notification_checkboxes').slideToggle(700);
28
  });
29
  });
1
  jQuery(document).ready(function ($) {
2
+ $(document).delegate('.wc_manage_subscribtions', 'click', function () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  $(this).next('.wc_notification_checkboxes').slideToggle(700);
4
  });
5
  });
files/third-party/modal-box/modal-box.css CHANGED
@@ -50,6 +50,8 @@
50
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#999999');
51
  }
52
 
 
 
53
  .close {
54
  background: #606061;
55
  color: #FFFFFF;
50
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#999999');
51
  }
52
 
53
+ .modalDialog input {font-size: 10px !important;}
54
+
55
  .close {
56
  background: #606061;
57
  color: #FFFFFF;
helper/wc-helper.php CHANGED
@@ -13,10 +13,10 @@ class WC_Helper {
13
  public static $hour = 'wc_hour_text';
14
  public static $minute = 'wc_minute_text';
15
  public static $second = 'wc_second_text';
16
- private $wc_options_serialize;
17
 
18
  function __construct($wc_options_serialize) {
19
- $this->wc_options_serialize = $wc_options_serialize;
20
  }
21
 
22
  // Set timezone
@@ -41,12 +41,12 @@ class WC_Helper {
41
 
42
  // Set up intervals and diffs arrays
43
  $intervals = array(
44
- $this->wc_options_serialize->wc_phrases['wc_year_text']['datetime'][1],
45
- $this->wc_options_serialize->wc_phrases['wc_month_text']['datetime'][1],
46
- $this->wc_options_serialize->wc_phrases['wc_day_text']['datetime'][1],
47
- $this->wc_options_serialize->wc_phrases['wc_hour_text']['datetime'][1],
48
- $this->wc_options_serialize->wc_phrases['wc_minute_text']['datetime'][1],
49
- $this->wc_options_serialize->wc_phrases['wc_second_text']['datetime'][1]
50
  );
51
  $diffs = array();
52
 
@@ -84,7 +84,7 @@ class WC_Helper {
84
  if ($value > 0) {
85
  // Add s if value is not 1
86
  if ($value != 1) {
87
- $interval .= $this->wc_options_serialize->wc_phrases['wc_plural_text'];
88
  }
89
  // Add value and interval to times array
90
  $times[] = $value . " " . $interval;
@@ -93,7 +93,7 @@ class WC_Helper {
93
  }
94
 
95
  // Return string with times
96
- $ago = ($times) ? $this->wc_options_serialize->wc_phrases['wc_ago_text'] : $this->wc_options_serialize->wc_phrases['wc_right_now_text'];
97
  return implode(" ", $times) . ' ' . $ago;
98
  }
99
 
@@ -157,17 +157,17 @@ class WC_Helper {
157
  private function date_text_by_index($index) {
158
  switch ($index) {
159
  case 'year':
160
- return $this->wc_options_serialize->wc_phrases['wc_year_text']['datetime'][0];
161
  case 'month':
162
- return $this->wc_options_serialize->wc_phrases['wc_month_text']['datetime'][0];
163
  case 'day':
164
- return $this->wc_options_serialize->wc_phrases['wc_day_text']['datetime'][0];
165
  case 'hour':
166
- return $this->wc_options_serialize->wc_phrases['wc_hour_text']['datetime'][0];
167
  case 'minute':
168
- return $this->wc_options_serialize->wc_phrases['wc_minute_text']['datetime'][0];
169
  case 'second':
170
- return $this->wc_options_serialize->wc_phrases['wc_second_text']['datetime'][0];
171
  }
172
  }
173
 
@@ -226,31 +226,48 @@ class WC_Helper {
226
  $email = $matches[2] . '@' . $matches[3];
227
  return $matches[1] . "<a href=\"mailto:$email\">$email</a>";
228
  }
229
-
230
- public function make_clickable($ret) {
231
  $ret = ' ' . $ret;
232
  $ret = preg_replace('#[^\"|\'](https?:\/\/[^\s]+(\.jpe?g|\.png|\.gif|\.bmp))#i', '<a href="$1"><img src="$1" /></a>', $ret);
233
  // in testing, using arrays here was found to be faster
234
  $ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', array(&$this, 'make_url_clickable'), $ret);
235
  $ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', array(&$this, 'make_web_ftp_clickable'), $ret);
236
  $ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', array(&$this, 'make_email_clickable'), $ret);
237
-
238
  // this one is not in an array because we need it to run last, for cleanup of accidental links within links
239
  $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
240
-
241
  $ret = trim($ret);
242
  return $ret;
243
  }
244
 
245
- public static function isPostedToday($posted_date) {
246
- return (time() - 60 * 60 * 24) < $posted_date;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
  }
248
 
249
  public function wc_sort_parent_comments($wc_parent_comments) {
250
  for ($i = 0; $i < count($wc_parent_comments); $i++) {
251
  for ($j = $i + 1; $j < count($wc_parent_comments); $j++) {
252
  if (intval($wc_parent_comments[$i]->comment_ID) > intval($wc_parent_comments[$j]->comment_ID)) {
253
- $wc_parent_comments = $this->wc_swap_comments($i, $j, $wc_parent_comments);
254
  }
255
  }
256
  }
@@ -262,6 +279,17 @@ class WC_Helper {
262
  $wc_parent_comments[$i] = $wc_parent_comments[$j];
263
  $wc_parent_comments[$j] = $tmp;
264
  return $wc_parent_comments;
265
- }
 
 
 
 
 
 
 
 
 
 
 
266
 
267
  }
13
  public static $hour = 'wc_hour_text';
14
  public static $minute = 'wc_minute_text';
15
  public static $second = 'wc_second_text';
16
+ private $wc_options_serialized;
17
 
18
  function __construct($wc_options_serialize) {
19
+ $this->wc_options_serialized = $wc_options_serialize;
20
  }
21
 
22
  // Set timezone
41
 
42
  // Set up intervals and diffs arrays
43
  $intervals = array(
44
+ $this->wc_options_serialized->wc_phrases['wc_year_text']['datetime'][1],
45
+ $this->wc_options_serialized->wc_phrases['wc_month_text']['datetime'][1],
46
+ $this->wc_options_serialized->wc_phrases['wc_day_text']['datetime'][1],
47
+ $this->wc_options_serialized->wc_phrases['wc_hour_text']['datetime'][1],
48
+ $this->wc_options_serialized->wc_phrases['wc_minute_text']['datetime'][1],
49
+ $this->wc_options_serialized->wc_phrases['wc_second_text']['datetime'][1]
50
  );
51
  $diffs = array();
52
 
84
  if ($value > 0) {
85
  // Add s if value is not 1
86
  if ($value != 1) {
87
+ $interval .= $this->wc_options_serialized->wc_phrases['wc_plural_text'];
88
  }
89
  // Add value and interval to times array
90
  $times[] = $value . " " . $interval;
93
  }
94
 
95
  // Return string with times
96
+ $ago = ($times) ? $this->wc_options_serialized->wc_phrases['wc_ago_text'] : $this->wc_options_serialized->wc_phrases['wc_right_now_text'];
97
  return implode(" ", $times) . ' ' . $ago;
98
  }
99
 
157
  private function date_text_by_index($index) {
158
  switch ($index) {
159
  case 'year':
160
+ return $this->wc_options_serialized->wc_phrases['wc_year_text']['datetime'][0];
161
  case 'month':
162
+ return $this->wc_options_serialized->wc_phrases['wc_month_text']['datetime'][0];
163
  case 'day':
164
+ return $this->wc_options_serialized->wc_phrases['wc_day_text']['datetime'][0];
165
  case 'hour':
166
+ return $this->wc_options_serialized->wc_phrases['wc_hour_text']['datetime'][0];
167
  case 'minute':
168
+ return $this->wc_options_serialized->wc_phrases['wc_minute_text']['datetime'][0];
169
  case 'second':
170
+ return $this->wc_options_serialized->wc_phrases['wc_second_text']['datetime'][0];
171
  }
172
  }
173
 
226
  $email = $matches[2] . '@' . $matches[3];
227
  return $matches[1] . "<a href=\"mailto:$email\">$email</a>";
228
  }
229
+
230
+ public function make_clickable($ret) {
231
  $ret = ' ' . $ret;
232
  $ret = preg_replace('#[^\"|\'](https?:\/\/[^\s]+(\.jpe?g|\.png|\.gif|\.bmp))#i', '<a href="$1"><img src="$1" /></a>', $ret);
233
  // in testing, using arrays here was found to be faster
234
  $ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', array(&$this, 'make_url_clickable'), $ret);
235
  $ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', array(&$this, 'make_web_ftp_clickable'), $ret);
236
  $ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', array(&$this, 'make_email_clickable'), $ret);
237
+
238
  // this one is not in an array because we need it to run last, for cleanup of accidental links within links
239
  $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
240
+
241
  $ret = trim($ret);
242
  return $ret;
243
  }
244
 
245
+ /**
246
+ * check if comment has been posted today or not
247
+ * return boolean
248
+ */
249
+ public static function is_posted_today($comment) {
250
+ return (strtotime(current_time('Y-m-d H:i:s')) - 60 * 60 * 24) < strtotime($comment->comment_date);
251
+ }
252
+
253
+ /**
254
+ * check if comment is still editable or not
255
+ * return boolean
256
+ */
257
+ public function is_comment_editable($comment) {
258
+ if ($comment->comment_ID) {
259
+ $wc_editable_comment_time = isset($this->wc_options_serialized->wc_comment_editable_time) ? $this->wc_options_serialized->wc_comment_editable_time : 0;
260
+ return $wc_editable_comment_time && ((time() - strtotime($comment->comment_date_gmt)) < intval($wc_editable_comment_time));
261
+ } else {
262
+ return false;
263
+ }
264
  }
265
 
266
  public function wc_sort_parent_comments($wc_parent_comments) {
267
  for ($i = 0; $i < count($wc_parent_comments); $i++) {
268
  for ($j = $i + 1; $j < count($wc_parent_comments); $j++) {
269
  if (intval($wc_parent_comments[$i]->comment_ID) > intval($wc_parent_comments[$j]->comment_ID)) {
270
+ $wc_parent_comments = $this->wc_swap_comments($i, $j, $wc_parent_comments);
271
  }
272
  }
273
  }
279
  $wc_parent_comments[$i] = $wc_parent_comments[$j];
280
  $wc_parent_comments[$j] = $tmp;
281
  return $wc_parent_comments;
282
+ }
283
+
284
+ public static function get_real_ip_addr() {
285
+ if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //check ip from share internet
286
+ $ip = $_SERVER['HTTP_CLIENT_IP'];
287
+ } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //to check ip is pass from proxy
288
+ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
289
+ } else {
290
+ $ip = $_SERVER['REMOTE_ADDR'];
291
+ }
292
+ return $ip;
293
+ }
294
 
295
  }
includes/wc-db-helper.php CHANGED
@@ -45,7 +45,7 @@ class WC_DB_Helper {
45
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
46
  $wc_old_notification_table_name = $this->dbprefix . 'wc_email_notfication';
47
  if (!$this->wc_is_table_exists($this->email_notification)) {
48
- $sql = "CREATE TABLE `" . $this->email_notification . "`(`id` INT(11) NOT NULL AUTO_INCREMENT, `email` VARCHAR(255) NOT NULL, `subscribtion_id` INT(11) NOT NULL, `post_id` INT(11) NOT NULL, `subscribtion_type` VARCHAR(255) NOT NULL, `activation_key` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`), KEY `subscribtion_id` (`subscribtion_id`), KEY `post_id` (`post_id`)) ENGINE=MYISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=1;";
49
  dbDelta($sql);
50
  }
51
 
@@ -230,20 +230,21 @@ class WC_DB_Helper {
230
  $activation_key = md5($email . uniqid() . time());
231
  $sql = $this->db->prepare("INSERT INTO `" . $this->email_notification . "` (`email`, `subscribtion_id`, `post_id`, `subscribtion_type`, `activation_key`) VALUES(%s, %d, %d, %s, %s);", $email, $id, $post_id, $subscribtion_type, $activation_key);
232
  $this->db->query($sql);
 
233
  }
234
 
235
  public function wc_get_post_new_comment_notification($post_id, $email) {
236
- $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'post' AND `subscribtion_id` = %d AND `email` != %s;", $post_id, $email);
237
  return $this->db->get_results($sql, ARRAY_A);
238
  }
239
 
240
  public function wc_get_post_all_new_comment_notification($post_id, $email) {
241
- $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'all_comment' AND `subscribtion_id` = %d AND `email` = %s;", $post_id, $email);
242
  return $this->db->get_results($sql, ARRAY_A);
243
  }
244
 
245
  public function wc_get_post_new_reply_notification($comment_id, $email) {
246
- $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'comment' AND `subscribtion_id` = %d AND `email` != %s;", $comment_id, $email);
247
  return $this->db->get_results($sql, ARRAY_A);
248
  }
249
 
@@ -290,6 +291,36 @@ class WC_DB_Helper {
290
  return $wc_unsubscribe_link;
291
  }
292
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  /**
294
  * delete subscribtion
295
  */
45
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
46
  $wc_old_notification_table_name = $this->dbprefix . 'wc_email_notfication';
47
  if (!$this->wc_is_table_exists($this->email_notification)) {
48
+ $sql = "CREATE TABLE `" . $this->email_notification . "`(`id` INT(11) NOT NULL AUTO_INCREMENT, `email` VARCHAR(255) NOT NULL, `subscribtion_id` INT(11) NOT NULL, `post_id` INT(11) NOT NULL, `subscribtion_type` VARCHAR(255) NOT NULL, `activation_key` VARCHAR(255) NOT NULL, `confirm` TINYINT DEFAULT 0, PRIMARY KEY (`id`), KEY `subscribtion_id` (`subscribtion_id`), KEY `post_id` (`post_id`), KEY `confirm`(`confirm`)) ENGINE=MYISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=1;";
49
  dbDelta($sql);
50
  }
51
 
230
  $activation_key = md5($email . uniqid() . time());
231
  $sql = $this->db->prepare("INSERT INTO `" . $this->email_notification . "` (`email`, `subscribtion_id`, `post_id`, `subscribtion_type`, `activation_key`) VALUES(%s, %d, %d, %s, %s);", $email, $id, $post_id, $subscribtion_type, $activation_key);
232
  $this->db->query($sql);
233
+ return $this->db->insert_id;
234
  }
235
 
236
  public function wc_get_post_new_comment_notification($post_id, $email) {
237
+ $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'post' AND `confirm` = 1 AND `subscribtion_id` = %d AND `email` != %s;", $post_id, $email);
238
  return $this->db->get_results($sql, ARRAY_A);
239
  }
240
 
241
  public function wc_get_post_all_new_comment_notification($post_id, $email) {
242
+ $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'all_comment' AND `confirm` = 1 AND `subscribtion_id` = %d AND `email` = %s;", $post_id, $email);
243
  return $this->db->get_results($sql, ARRAY_A);
244
  }
245
 
246
  public function wc_get_post_new_reply_notification($comment_id, $email) {
247
+ $sql = $this->db->prepare("SELECT `id`,`email`,`activation_key` FROM `" . $this->email_notification . "` WHERE `subscribtion_type` = 'comment' AND `confirm` = 1 AND `subscribtion_id` = %d AND `email` != %s;", $comment_id, $email);
248
  return $this->db->get_results($sql, ARRAY_A);
249
  }
250
 
291
  return $wc_unsubscribe_link;
292
  }
293
 
294
+ /**
295
+ * Alter notification table
296
+ */
297
+ public function wc_modification_notify_table() {
298
+ $sql_alter = "ALTER TABLE `" . $this->email_notification . "` ADD `confirm` TINYINT DEFAULT 0, ADD `subscription_date` DATETIME DEFAULT NOW();";
299
+ if ($this->db->query($sql_alter)) {
300
+ $sql_update = "UPDATE `" . $this->email_notification . "` SET `confirm` = 1;";
301
+ $this->db->query($sql_update);
302
+ }
303
+ }
304
+
305
+ /**
306
+ * generate confirm link
307
+ */
308
+ public function wc_confirm_link($subscrib_id) {
309
+ $sql_subscriber_data = $this->db->prepare("SELECT `id`, `post_id`, `activation_key` FROM `" . $this->email_notification . "` WHERE `id` = %d ", $subscrib_id);
310
+ $wc_confirm = $this->db->get_row($sql_subscriber_data, ARRAY_A);
311
+ $post_id = $wc_confirm['post_id'];
312
+ $wc_confirm_link = get_permalink($post_id) . "?wpdiscuzConfirmID=" . $wc_confirm['id'] . "&wpdiscuzConfirmKey=" . $wc_confirm['activation_key'] . '&wpDiscuzComfirm=yes&#wc_unsubscribe_message';
313
+ return $wc_confirm_link;
314
+ }
315
+
316
+ /**
317
+ * Confirm post or comment subscribtion
318
+ */
319
+ public function wc_notification_confirm($subscribe_id, $key) {
320
+ $sql_confirm = $this->db->prepare("UPDATE `" . $this->email_notification . "` SET `confirm` = 1 WHERE `id` = %d AND `activation_key` LIKE %s;", $subscribe_id, $key);
321
+ return $this->db->query($sql_confirm);
322
+ }
323
+
324
  /**
325
  * delete subscribtion
326
  */
languages/wpdiscuz-fa_IR.mo ADDED
Binary file
languages/wpdiscuz-fa_IR.po ADDED
@@ -0,0 +1,576 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: wpDiscuz - Wordpress Comments\n"
4
+ "POT-Creation-Date: 2015-02-08 00:36+0400\n"
5
+ "PO-Revision-Date: 2015-02-19 00:23+0330\n"
6
+ "Last-Translator: advancedcoding <advancedcoding@mail.ru>\n"
7
+ "Language-Team: advancedcoding <advancedcoding@mail.ru>\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 1.7.4\n"
12
+ "X-Poedit-Basepath: ..\n"
13
+ "X-Poedit-SourceCharset: UTF-8\n"
14
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
15
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;"
16
+ "_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "Language: fa_IR\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
21
+
22
+ #: comment-form/tpl-comment.php:152
23
+ msgid "Edit"
24
+ msgstr "ویرایش"
25
+
26
+ #: options-templates/options-template-main.php:1
27
+ msgid "General settings"
28
+ msgstr "تنظیمات عمومی"
29
+
30
+ #: options-templates/options-template-main.php:5
31
+ msgid "Display comment form for post types:"
32
+ msgstr "نمایش دیدگاه ها برای پست های:"
33
+
34
+ #: options-templates/options-template-main.php:26
35
+ msgid "Show the latest comments on"
36
+ msgstr "نمایش آخرین نظرات در"
37
+
38
+ #: options-templates/options-template-main.php:30
39
+ msgid "the top of the list"
40
+ msgstr "بالای لیست"
41
+
42
+ #: options-templates/options-template-main.php:32
43
+ msgid "top of the threads"
44
+ msgstr "بالای موضوعات"
45
+
46
+ #: options-templates/options-template-main.php:34
47
+ msgid "bottom of the threads"
48
+ msgstr "پایین موضوعات"
49
+
50
+ #: options-templates/options-template-main.php:36
51
+ msgid "the bottom of the list"
52
+ msgstr "پایین لیست"
53
+
54
+ #: options-templates/options-template-main.php:44
55
+ msgid "Live update options"
56
+ msgstr "گزینه های به روز رسانی زنده"
57
+
58
+ #: options-templates/options-template-main.php:50
59
+ msgid "Never update"
60
+ msgstr "هرگز بروزرسانی نکن"
61
+
62
+ #: options-templates/options-template-main.php:52
63
+ msgid "Turn off \"Live Update\" function"
64
+ msgstr " \"Live Update\" خاموش کردن تابع"
65
+
66
+ #: options-templates/options-template-main.php:54
67
+ msgid "Show new comment/reply buttons to update manualy"
68
+ msgstr "نمایش دیدگاه/پاسخ های جدید به صورت دستی"
69
+
70
+ #: options-templates/options-template-main.php:56
71
+ msgid "Always check for new comments and show update buttons"
72
+ msgstr "همیشه برای دیدگاه های جدید برسی کن و دکمه ی بروزرسانی را نمایش بده"
73
+
74
+ #: options-templates/options-template-main.php:58
75
+ msgid "Always update"
76
+ msgstr "همیشه بروزرسانی کن"
77
+
78
+ #: options-templates/options-template-main.php:60
79
+ msgid "Always check for new comments and update automatically"
80
+ msgstr "همیشه برای دیدگاه های جدید برسی کن و به طور خودکار بروزرسانی کن"
81
+
82
+ #: options-templates/options-template-main.php:68
83
+ msgid "Update comment list every"
84
+ msgstr "هر چند وقت یکبار لیست دیدگاه ها را بروزرسانی کن"
85
+
86
+ #: options-templates/options-template-main.php:73
87
+ #: options-templates/options-template-main.php:74
88
+ #: options-templates/options-template-main.php:75
89
+ msgid "Seconds"
90
+ msgstr "ثانیه"
91
+
92
+ #: options-templates/options-template-main.php:76
93
+ #: options-templates/options-template-phrases.php:459
94
+ msgid "Minute"
95
+ msgstr "دقیقه"
96
+
97
+ #: options-templates/options-template-main.php:77
98
+ #: options-templates/options-template-main.php:78
99
+ #: options-templates/options-template-main.php:79
100
+ msgid "Minutes"
101
+ msgstr "دقیقه"
102
+
103
+ #: options-templates/options-template-main.php:86
104
+ msgid "Hide Voting buttons"
105
+ msgstr "مخفی کردن دکمه ی رای دهی"
106
+
107
+ #: options-templates/options-template-main.php:97
108
+ msgid "Hide Share Button"
109
+ msgstr "مخفی کردن دکمه ی به اشتراک گذاری"
110
+
111
+ #: options-templates/options-template-main.php:108
112
+ msgid "Hide the CAPTCHA field"
113
+ msgstr "مخفی کردن فیلد کپچا"
114
+
115
+ #: options-templates/options-template-main.php:119
116
+ msgid "User Must be registered to comment"
117
+ msgstr "کاربر باید ثبت نام شده باشد تا بتواند دیدگاه بنویسد"
118
+
119
+ #: options-templates/options-template-main.php:137
120
+ msgid "Show logged-in user username on top of main form"
121
+ msgstr "نمایش نام کاربری کاربر وارد شده در بالای فرم اصلی"
122
+
123
+ #: options-templates/options-template-main.php:148
124
+ msgid "Held new comments for moderation"
125
+ msgstr "مخفی کردن دیدگاه های جدید برای بررسی"
126
+
127
+ #: options-templates/options-template-main.php:159
128
+ msgid "Hide Reply button for Guests"
129
+ msgstr "مخفی کردن دکمه ی پاسخ برای میهمانان"
130
+
131
+ #: options-templates/options-template-main.php:170
132
+ msgid "Hide Reply button for Members"
133
+ msgstr "مخفی کردن دکمه ی پاسخ برای اعضا"
134
+
135
+ #: options-templates/options-template-main.php:181
136
+ msgid "Hide Author Titles"
137
+ msgstr "مخفی کردن تیتر نویسنده"
138
+
139
+ #: options-templates/options-template-main.php:192
140
+ msgid "Comment Threads Per Page"
141
+ msgstr "تعداد دیدگاه در صفحه"
142
+
143
+ #: options-templates/options-template-main.php:203
144
+ msgid "Comments max depth"
145
+ msgstr "حداکثر عمق دیدگاه ها"
146
+
147
+ #: options-templates/options-template-main.php:208
148
+ msgid "Level"
149
+ msgstr "سطح"
150
+
151
+ #: options-templates/options-template-main.php:209
152
+ #: options-templates/options-template-main.php:210
153
+ #: options-templates/options-template-main.php:211
154
+ #: options-templates/options-template-main.php:212
155
+ msgid "Levels"
156
+ msgstr "سطوح"
157
+
158
+ #: options-templates/options-template-main.php:219
159
+ msgid "Use WordPress Date/Time format"
160
+ msgstr "استفاده از فرمت تاریخ/زمان وردپرس"
161
+
162
+ #: options-templates/options-template-main.php:220
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
+ "wpDiscuz تاریخ قابل خواندن توسط انسان را نمایش میدهد. در صورتی که شما این "
168
+ "گزینه را انتخاب کنید تاریخ/زمان توسط فرمت وردپرس در تنظیمات اصلی نمایش داده "
169
+ "میشود."
170
+
171
+ #: options-templates/options-template-main.php:231
172
+ msgid ""
173
+ "Keep checked-on the email notification checkboxes on comment form by default"
174
+ msgstr "به طور پیش فرض اطلاع رسانی رایانامه ای را در دیدگاه روشن نگه دار"
175
+
176
+ #: options-templates/options-template-main.php:242
177
+ msgid "Show \"Notify of all new follow-up comments\""
178
+ msgstr "نمایش \"Notify of all new follow-up comments\""
179
+
180
+ #: options-templates/options-template-main.php:243
181
+ msgid "Show \"Notify of new replies to all my comments\""
182
+ msgstr "نمایش \"Notify of new replies to all my comments\""
183
+
184
+ #: options-templates/options-template-main.php:244
185
+ msgid "Show \"Notify of new replies to this comment\""
186
+ msgstr "نمایش \"Notify of new replies to this comment\""
187
+
188
+ #: options-templates/options-template-main.php:246
189
+ msgid ""
190
+ "Please keep all three or at least one of those options ON, otherwise users "
191
+ "will not have any option for email notifications and they'll not get any "
192
+ "messages."
193
+ msgstr ""
194
+ "لطفا همه ی این 3 گزینه یا حداقل یکی از آن ها را روشن نگه دارید در غیر این "
195
+ "صورت کاربران هیچ گزینه ای برای اطلاع رسانی از طریق رایانامه نخواهند داشت و "
196
+ "هیچ پیامی دریافت نخواهند کرد."
197
+
198
+ #: options-templates/options-template-main.php:264
199
+ msgid "Comment text size in pixels"
200
+ msgstr "اندازه متن دیدگاه در پیکسل"
201
+
202
+ #: options-templates/options-template-main.php:280
203
+ msgid "Comment Form Background Color"
204
+ msgstr "رنگ پس ضمینه فرم دیدگاه ها"
205
+
206
+ #: options-templates/options-template-main.php:283
207
+ #: options-templates/options-template-main.php:307
208
+ #: options-templates/options-template-main.php:331
209
+ #: options-templates/options-template-main.php:355
210
+ #: options-templates/options-template-main.php:380
211
+ #: options-templates/options-template-main.php:405
212
+ #: options-templates/options-template-main.php:429
213
+ msgid "Example: #00ff00"
214
+ msgstr "مثال: #00ff00"
215
+
216
+ #: options-templates/options-template-main.php:304
217
+ msgid "Comment Background Color"
218
+ msgstr "رنگ پس ضمینه دیدگاه ها"
219
+
220
+ #: options-templates/options-template-main.php:328
221
+ msgid "Reply Background Color"
222
+ msgstr "رنگ پس ضمینه دکمه پاسخ"
223
+
224
+ #: options-templates/options-template-main.php:352
225
+ msgid "Comment Text Color"
226
+ msgstr "رنگ متن دیدگاه"
227
+
228
+ #: options-templates/options-template-main.php:377
229
+ msgid "Author title color"
230
+ msgstr "رنگ تیتر نویسنده"
231
+
232
+ #: options-templates/options-template-main.php:402
233
+ msgid "Vote, Reply, Share, Edit links text colors"
234
+ msgstr "رنگ متن لینک رای، پاسخ، اشتراک، ویرایش"
235
+
236
+ #: options-templates/options-template-main.php:426
237
+ msgid "New loaded comments' background color"
238
+ msgstr "رنگ دیدگاه های تازه بارگذاری شده"
239
+
240
+ #: options-templates/options-template-main.php:450
241
+ msgid "Custom CSS Code"
242
+ msgstr "شیوه نامه شخصی سازی شده"
243
+
244
+ #: options-templates/options-template-phrases.php:1
245
+ msgid "Front-end phrases"
246
+ msgstr "عبارات جلویی"
247
+
248
+ #: options-templates/options-template-phrases.php:5
249
+ msgid "Leave a Reply"
250
+ msgstr "دیدگاه بگذارید"
251
+
252
+ #: options-templates/options-template-phrases.php:16
253
+ msgid "Be the first to comment"
254
+ msgstr "اولین نفری باشید که دیدگاه میگذارد"
255
+
256
+ #: options-templates/options-template-phrases.php:27
257
+ msgid "Comment"
258
+ msgstr "دیدگاه"
259
+
260
+ #: options-templates/options-template-phrases.php:38
261
+ msgid "On"
262
+ msgstr "روشن"
263
+
264
+ #: options-templates/options-template-phrases.php:49
265
+ msgid "Comment Field Start"
266
+ msgstr "شروع فیلد نظرات"
267
+
268
+ #: options-templates/options-template-phrases.php:60
269
+ msgid "Comment Field Join"
270
+ msgstr "اضافه شدن فیلد نظرات"
271
+
272
+ #: options-templates/options-template-phrases.php:71
273
+ msgid "Email Field"
274
+ msgstr "فیلد رایانامه"
275
+
276
+ #: options-templates/options-template-phrases.php:82
277
+ msgid "Name Field"
278
+ msgstr "فیلد نام"
279
+
280
+ #: options-templates/options-template-phrases.php:93
281
+ msgid "CAPTCHA Field"
282
+ msgstr "فیلد کپچا"
283
+
284
+ #: options-templates/options-template-phrases.php:104
285
+ msgid "Submit Button"
286
+ msgstr "دکمه ی ثبت"
287
+
288
+ #: options-templates/options-template-phrases.php:115
289
+ msgid "Manage subscribtions"
290
+ msgstr "مدیریت اشتراک ها"
291
+
292
+ #: options-templates/options-template-phrases.php:119
293
+ msgid "Manage Subscribtions"
294
+ msgstr "مدیریت اشتراک ها"
295
+
296
+ #: options-templates/options-template-phrases.php:126
297
+ msgid "Notify on new comments (checkbox)"
298
+ msgstr "درباره ی نظرات جدید اطلاع بده (چک باکس)"
299
+
300
+ #: options-templates/options-template-phrases.php:130
301
+ msgid "Notify of all new follow-up comments"
302
+ msgstr "درباره ی نظرات جدید ادامه اطلاع بده"
303
+
304
+ #: options-templates/options-template-phrases.php:137
305
+ msgid "Notify on all new replies (checkbox)"
306
+ msgstr "درباره ی پاسخ های جدید ادامه اطلاع بده (چک باکس)"
307
+
308
+ #: options-templates/options-template-phrases.php:141
309
+ msgid "Notify of new replies to all my comments"
310
+ msgstr "درباره ی پاسخ های جدید به دیدگاه من اطلاع بده"
311
+
312
+ #: options-templates/options-template-phrases.php:148
313
+ msgid "Notify on new replies (checkbox)"
314
+ msgstr "درباره ی تمام پاسخ های جدید اطلاع بده"
315
+
316
+ #: options-templates/options-template-phrases.php:152
317
+ msgid "Notify of new replies to this comment"
318
+ msgstr "درباره ی پاسخ های جدید به این دیدگاه اطلاع بده"
319
+
320
+ #: options-templates/options-template-phrases.php:159
321
+ msgid "Load More Button"
322
+ msgstr "دکمه ی بارگذاری بیشتر"
323
+
324
+ #: options-templates/options-template-phrases.php:170
325
+ msgid "Reply"
326
+ msgstr "پاسخ"
327
+
328
+ #: options-templates/options-template-phrases.php:181
329
+ msgid "Share"
330
+ msgstr "اشتراک"
331
+
332
+ #: options-templates/options-template-phrases.php:192
333
+ msgid "Share On Facebook"
334
+ msgstr "به اشتراک گذاری در Facebook"
335
+
336
+ #: options-templates/options-template-phrases.php:203
337
+ msgid "Share On Twitter"
338
+ msgstr "به اشتراک گذاری در Twitter"
339
+
340
+ #: options-templates/options-template-phrases.php:214
341
+ msgid "Share On Google"
342
+ msgstr "به اشتراک گذاری در Google"
343
+
344
+ #: options-templates/options-template-phrases.php:225
345
+ msgid "Hide Replies"
346
+ msgstr "مخفی کردن پاسخ ها"
347
+
348
+ #: options-templates/options-template-phrases.php:236
349
+ msgid "Show Replies"
350
+ msgstr "نمایش پاسخ ها"
351
+
352
+ #: options-templates/options-template-phrases.php:247
353
+ msgid "Title For Guests"
354
+ msgstr "تیتر برای میهمان ها"
355
+
356
+ #: options-templates/options-template-phrases.php:258
357
+ msgid "Title For Members"
358
+ msgstr "تیتر برای اعضا"
359
+
360
+ #: options-templates/options-template-phrases.php:272
361
+ msgid "Title For Authors"
362
+ msgstr "تیتر برای نویسندگان"
363
+
364
+ #: options-templates/options-template-phrases.php:283
365
+ msgid "Title For Admins"
366
+ msgstr "تیتر برای مدیران"
367
+
368
+ #: options-templates/options-template-phrases.php:294
369
+ msgid "Email Subject"
370
+ msgstr "موضوع رایانامه"
371
+
372
+ #: options-templates/options-template-phrases.php:305
373
+ msgid "Email Message"
374
+ msgstr "موضوع رایانامه"
375
+
376
+ #: options-templates/options-template-phrases.php:316
377
+ msgid "New Reply Subject"
378
+ msgstr "موضوع دیدگاه جدید"
379
+
380
+ #: options-templates/options-template-phrases.php:320
381
+ #: options-templates/options-template-phrases.php:719
382
+ msgid "New Reply"
383
+ msgstr "پاسخ جدید"
384
+
385
+ #: options-templates/options-template-phrases.php:327
386
+ #: options-templates/options-template-phrases.php:371
387
+ msgid "New Reply Message"
388
+ msgstr "پیام دیدگاه جدید"
389
+
390
+ #: options-templates/options-template-phrases.php:338
391
+ msgid "Subscribed on this comment replies"
392
+ msgstr "مشترک شدن در پاسخ های این دیدگاه"
393
+
394
+ #: options-templates/options-template-phrases.php:349
395
+ msgid "Subscribed on all your comments replies"
396
+ msgstr "مشترک شدن در همه ی پاسخ های شما به نظرات"
397
+
398
+ #: options-templates/options-template-phrases.php:360
399
+ msgid "Subscribed on this post"
400
+ msgstr "مشترک شدن در این پست"
401
+
402
+ #: options-templates/options-template-phrases.php:375
403
+ msgid "Unsubscribe"
404
+ msgstr "عدم اشتراک"
405
+
406
+ #: options-templates/options-template-phrases.php:382
407
+ msgid "You've successfully unsubscribed."
408
+ msgstr "با موفقیت اشتراک خود را لغو کردید"
409
+
410
+ #: options-templates/options-template-phrases.php:393
411
+ msgid "Error message for empty field"
412
+ msgstr "پیام خطا برای فیلد خالی"
413
+
414
+ #: options-templates/options-template-phrases.php:404
415
+ msgid "Error message for invalid email field"
416
+ msgstr "پیام خطا برای رایانامه نامعتبر"
417
+
418
+ #: options-templates/options-template-phrases.php:415
419
+ msgid "Year"
420
+ msgstr "سال"
421
+
422
+ #: options-templates/options-template-phrases.php:426
423
+ msgid "Month"
424
+ msgstr "ماه"
425
+
426
+ #: options-templates/options-template-phrases.php:437
427
+ msgid "Day"
428
+ msgstr "روز"
429
+
430
+ #: options-templates/options-template-phrases.php:448
431
+ msgid "Hour"
432
+ msgstr "ساعت"
433
+
434
+ #: options-templates/options-template-phrases.php:470
435
+ msgid "Second"
436
+ msgstr "ثانیه"
437
+
438
+ #: options-templates/options-template-phrases.php:481
439
+ msgid "Plural (Ex. user -> user + s)"
440
+ msgstr "جمع (مثال. کاربر - > کاربر+ها)"
441
+
442
+ #: options-templates/options-template-phrases.php:492
443
+ msgid "Commented \"right now\" text"
444
+ msgstr "متن \"right now\" نوشته ی"
445
+
446
+ #: options-templates/options-template-phrases.php:503
447
+ msgid "Ago text"
448
+ msgstr "متن گذشته"
449
+
450
+ #: options-templates/options-template-phrases.php:514
451
+ msgid "\"Today\" text"
452
+ msgstr "\"Today\" متن"
453
+
454
+ #: options-templates/options-template-phrases.php:518
455
+ msgid "Today"
456
+ msgstr "امروز"
457
+
458
+ #: options-templates/options-template-phrases.php:525
459
+ msgid "You must be"
460
+ msgstr "شما باید"
461
+
462
+ #: options-templates/options-template-phrases.php:537
463
+ msgid "Logged in as"
464
+ msgstr "وارد شوید در قالب"
465
+
466
+ #: options-templates/options-template-phrases.php:547
467
+ msgid "Log out"
468
+ msgstr "خروج"
469
+
470
+ #: options-templates/options-template-phrases.php:561
471
+ msgid "Logged In"
472
+ msgstr "وارد شد"
473
+
474
+ #: options-templates/options-template-phrases.php:572
475
+ msgid "To post a comment"
476
+ msgstr "برای گذاشتن دیدگاه"
477
+
478
+ #: options-templates/options-template-phrases.php:583
479
+ msgid "Vote Up"
480
+ msgstr "رای بالا"
481
+
482
+ #: options-templates/options-template-phrases.php:594
483
+ msgid "Vote Down"
484
+ msgstr "رای پایین"
485
+
486
+ #: options-templates/options-template-phrases.php:605
487
+ msgid "Vote Counted"
488
+ msgstr "رای شمرده شد"
489
+
490
+ #: options-templates/options-template-phrases.php:616
491
+ msgid "You can vote only 1 time"
492
+ msgstr "فقط میتوانید 1 بار رای دهید"
493
+
494
+ #: options-templates/options-template-phrases.php:627
495
+ msgid "Voting Error"
496
+ msgstr "خطای رای دهی"
497
+
498
+ #: options-templates/options-template-phrases.php:638
499
+ msgid "Login To Vote"
500
+ msgstr "وارد شوید تا رای دهید"
501
+
502
+ #: options-templates/options-template-phrases.php:649
503
+ msgid "You Cannot Vote On Your Comment"
504
+ msgstr "نمیتوانید به دیدگاه خودتان رای دهید"
505
+
506
+ #: options-templates/options-template-phrases.php:660
507
+ msgid "Invalid Captcha Code"
508
+ msgstr "کد کپچای نادرست"
509
+
510
+ #: options-templates/options-template-phrases.php:671
511
+ msgid "Some of field value is invalid"
512
+ msgstr "بعضی از فیلد ها نامعتبر هستند"
513
+
514
+ #: options-templates/options-template-phrases.php:682
515
+ msgid "Comment waiting moderation"
516
+ msgstr "دیدگاه در صف بررسی قرار دارد"
517
+
518
+ #: options-templates/options-template-phrases.php:693
519
+ msgid "Button text if has new comment"
520
+ msgstr "متن دکمه در صورت وجود دیدگاه جدید"
521
+
522
+ #: options-templates/options-template-phrases.php:697
523
+ msgid "New Comment"
524
+ msgstr "دیدگاه جدید"
525
+
526
+ #: options-templates/options-template-phrases.php:704
527
+ msgid "Button text if has new comments"
528
+ msgstr "متن دکمه در صورت وجود دیدگاه های جدید"
529
+
530
+ #: options-templates/options-template-phrases.php:708
531
+ msgid "New Comments"
532
+ msgstr "دیدگاه های جدید"
533
+
534
+ #: options-templates/options-template-phrases.php:715
535
+ msgid "Button text if has new reply"
536
+ msgstr "متن دکمه در صورت وجود پاسخ جدید"
537
+
538
+ #: options-templates/options-template-phrases.php:726
539
+ msgid "Button text if has new replies"
540
+ msgstr "متن دکمه در صورت وجود پاسخ های جدید"
541
+
542
+ #: options-templates/options-template-phrases.php:730
543
+ msgid "New Replies"
544
+ msgstr "پاسخ های جدید"
545
+
546
+ #: options-templates/options-template-phrases.php:737
547
+ msgid "Text on load more button if has new comment(s)"
548
+ msgstr "متن روی دکمه ی بارگذاری بیشتر در صورت وجود دیدگاه(های) جدید"
549
+
550
+ #: options-templates/options-template-phrases.php:741
551
+ msgid "New"
552
+ msgstr "جدید"
553
+
554
+ #: wc-options.php:31 wc-options.php:184
555
+ msgid "Hacker?"
556
+ msgstr "هکر؟"
557
+
558
+ #: wc-options.php:77
559
+ msgid "wpDiscuz General Settings"
560
+ msgstr "تنظیمات کلی wpDiscuz"
561
+
562
+ #: wc-options.php:165 wc-options.php:296
563
+ msgid "Save Changes"
564
+ msgstr "ذخیره ی تنظیمات"
565
+
566
+ #: wc-options.php:271
567
+ msgid "WpDiscuz Front-end Phrases"
568
+ msgstr "عبارات جلویی WpDiscuz"
569
+
570
+ #: wc.php:899
571
+ msgid "Settings"
572
+ msgstr "تنظیمات"
573
+
574
+ #: wc.php:900
575
+ msgid "Phrases"
576
+ msgstr "عبارات"
languages/wpdiscuz-ru_RU.mo ADDED
Binary file
languages/wpdiscuz-ru_RU.po ADDED
@@ -0,0 +1,579 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: wpDiscuz - Wordpress Comments\n"
4
+ "POT-Creation-Date: 2015-02-08 00:36+0400\n"
5
+ "PO-Revision-Date: 2015-03-02 14:33+0300\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.6.8\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/tpl-comment.php:152
23
+ msgid "Edit"
24
+ msgstr "Редактировать"
25
+
26
+ #: options-templates/options-template-main.php:1
27
+ msgid "General settings"
28
+ msgstr "Основные настройки"
29
+
30
+ #: options-templates/options-template-main.php:5
31
+ msgid "Display comment form for post types:"
32
+ msgstr "Отображать форму комментариев для следующих типов записей:"
33
+
34
+ #: options-templates/options-template-main.php:26
35
+ msgid "Show the latest comments on"
36
+ msgstr "Показывать последние комментарии"
37
+
38
+ #: options-templates/options-template-main.php:30
39
+ msgid "the top of the list"
40
+ msgstr "наверху списка"
41
+
42
+ #: options-templates/options-template-main.php:32
43
+ msgid "top of the threads"
44
+ msgstr "наверху веток"
45
+
46
+ #: options-templates/options-template-main.php:34
47
+ msgid "bottom of the threads"
48
+ msgstr "внизу темы"
49
+
50
+ #: options-templates/options-template-main.php:36
51
+ msgid "the bottom of the list"
52
+ msgstr "внизу списка"
53
+
54
+ #: options-templates/options-template-main.php:44
55
+ msgid "Live update options"
56
+ msgstr "Настройки обновления в реальном времени"
57
+
58
+ #: options-templates/options-template-main.php:50
59
+ msgid "Never update"
60
+ msgstr "Никогда не обновлять"
61
+
62
+ #: options-templates/options-template-main.php:52
63
+ msgid "Turn off \"Live Update\" function"
64
+ msgstr "Выключить функцию \"Обновление в реальном времени\""
65
+
66
+ #: options-templates/options-template-main.php:54
67
+ msgid "Show new comment/reply buttons to update manualy"
68
+ msgstr "Показывать кнопки новых комментариев/ответов для обновления вручную"
69
+
70
+ #: options-templates/options-template-main.php:56
71
+ msgid "Always check for new comments and show update buttons"
72
+ msgstr ""
73
+ "Всегда проверять наличие новых комментов и показывать кнопки обновления"
74
+
75
+ #: options-templates/options-template-main.php:58
76
+ msgid "Always update"
77
+ msgstr "Обновлять всегда"
78
+
79
+ #: options-templates/options-template-main.php:60
80
+ msgid "Always check for new comments and update automatically"
81
+ msgstr "Всегда проверять наличие новых комментов и обновлять автоматически"
82
+
83
+ #: options-templates/options-template-main.php:68
84
+ msgid "Update comment list every"
85
+ msgstr "Обновлять список комментариев каждые"
86
+
87
+ #: options-templates/options-template-main.php:73
88
+ #: options-templates/options-template-main.php:74
89
+ #: options-templates/options-template-main.php:75
90
+ msgid "Seconds"
91
+ msgstr "секунд"
92
+
93
+ #: options-templates/options-template-main.php:76
94
+ #: options-templates/options-template-phrases.php:459
95
+ msgid "Minute"
96
+ msgstr "Минута"
97
+
98
+ #: options-templates/options-template-main.php:77
99
+ #: options-templates/options-template-main.php:78
100
+ #: options-templates/options-template-main.php:79
101
+ msgid "Minutes"
102
+ msgstr "минут"
103
+
104
+ #: options-templates/options-template-main.php:86
105
+ msgid "Hide Voting buttons"
106
+ msgstr "Скрыть кнопки голосования"
107
+
108
+ #: options-templates/options-template-main.php:97
109
+ msgid "Hide Share Button"
110
+ msgstr "Скрыть кнопки \"поделиться\""
111
+
112
+ #: options-templates/options-template-main.php:108
113
+ msgid "Hide the CAPTCHA field"
114
+ msgstr "Скрыть капчу (CAPTCHA)"
115
+
116
+ #: options-templates/options-template-main.php:119
117
+ msgid "User Must be registered to comment"
118
+ msgstr "Пользователь должен зарегистрироваться для комментирования"
119
+
120
+ #: options-templates/options-template-main.php:137
121
+ msgid "Show logged-in user username on top of main form"
122
+ msgstr "Показывать имя пользователя сверху основной формы"
123
+
124
+ #: options-templates/options-template-main.php:148
125
+ msgid "Held new comments for moderation"
126
+ msgstr "Отправлять первые комментарии новых пользователей на модерацию"
127
+
128
+ #: options-templates/options-template-main.php:159
129
+ msgid "Hide Reply button for Guests"
130
+ msgstr "Скрыть кнопку ответа от гостей"
131
+
132
+ #: options-templates/options-template-main.php:170
133
+ msgid "Hide Reply button for Members"
134
+ msgstr "Скрыть кнопку ответа от пользователей"
135
+
136
+ #: options-templates/options-template-main.php:181
137
+ msgid "Hide Author Titles"
138
+ msgstr "Скрыть подписи под никами"
139
+
140
+ #: options-templates/options-template-main.php:192
141
+ msgid "Comment Threads Per Page"
142
+ msgstr "Количество веток комментариев на странице"
143
+
144
+ #: options-templates/options-template-main.php:203
145
+ msgid "Comments max depth"
146
+ msgstr "Максимальная глубина вложенности комментов"
147
+
148
+ #: options-templates/options-template-main.php:208
149
+ msgid "Level"
150
+ msgstr "уровень"
151
+
152
+ #: options-templates/options-template-main.php:209
153
+ #: options-templates/options-template-main.php:210
154
+ #: options-templates/options-template-main.php:211
155
+ #: options-templates/options-template-main.php:212
156
+ msgid "Levels"
157
+ msgstr "уровней"
158
+
159
+ #: options-templates/options-template-main.php:219
160
+ msgid "Use WordPress Date/Time format"
161
+ msgstr "Использовать формат времени и даты WordPress"
162
+
163
+ #: options-templates/options-template-main.php:220
164
+ msgid ""
165
+ "wpDiscuz shows Human Readable date format. If you check this option it'll "
166
+ "show the date/time format set in WordPress General Settings."
167
+ msgstr ""
168
+ "wpDiscuz по-умолчанию показывает формат времени в своем формате, удобном для "
169
+ "чтения. При включении этой опции, дата и время будут показаны в формате, "
170
+ "указанном в основных настройках WordPress"
171
+
172
+ #: options-templates/options-template-main.php:231
173
+ msgid ""
174
+ "Keep checked-on the email notification checkboxes on comment form by default"
175
+ msgstr ""
176
+ "Включить галочки подписки на уведомления по-умолчанию (осторожно, "
177
+ "пользователи могут получать большое колиество уведомлений)"
178
+
179
+ #: options-templates/options-template-main.php:242
180
+ msgid "Show \"Notify of all new follow-up comments\""
181
+ msgstr "Показывать \"Подписаться на все последующие комментарии\""
182
+
183
+ #: options-templates/options-template-main.php:243
184
+ msgid "Show \"Notify of new replies to all my comments\""
185
+ msgstr "Показывать \"Подписаться на все новые ответы на мои комментарии\""
186
+
187
+ #: options-templates/options-template-main.php:244
188
+ msgid "Show \"Notify of new replies to this comment\""
189
+ msgstr "Показывать \"Подписаться на новые ответы на этот комментарий\""
190
+
191
+ #: options-templates/options-template-main.php:246
192
+ msgid ""
193
+ "Please keep all three or at least one of those options ON, otherwise users "
194
+ "will not have any option for email notifications and they'll not get any "
195
+ "messages."
196
+ msgstr ""
197
+ "Пожалуйста, выберите все три, или как минимум одну опцию, иначе пользователи "
198
+ "не смогут увидеть их на странице комментариев и не будут получать никаких "
199
+ "уведомлений."
200
+
201
+ #: options-templates/options-template-main.php:264
202
+ msgid "Comment text size in pixels"
203
+ msgstr "Размер шрифта комментария в пикселях"
204
+
205
+ #: options-templates/options-template-main.php:280
206
+ msgid "Comment Form Background Color"
207
+ msgstr "Цвет фона формы комментария"
208
+
209
+ #: options-templates/options-template-main.php:283
210
+ #: options-templates/options-template-main.php:307
211
+ #: options-templates/options-template-main.php:331
212
+ #: options-templates/options-template-main.php:355
213
+ #: options-templates/options-template-main.php:380
214
+ #: options-templates/options-template-main.php:405
215
+ #: options-templates/options-template-main.php:429
216
+ msgid "Example: #00ff00"
217
+ msgstr "Например: #00ff00"
218
+
219
+ #: options-templates/options-template-main.php:304
220
+ msgid "Comment Background Color"
221
+ msgstr "Цвет фона коментария"
222
+
223
+ #: options-templates/options-template-main.php:328
224
+ msgid "Reply Background Color"
225
+ msgstr "Цвето фона ответа"
226
+
227
+ #: options-templates/options-template-main.php:352
228
+ msgid "Comment Text Color"
229
+ msgstr "Цвет шрифта комментария"
230
+
231
+ #: options-templates/options-template-main.php:377
232
+ msgid "Author title color"
233
+ msgstr "Цвет подписи автора"
234
+
235
+ #: options-templates/options-template-main.php:402
236
+ msgid "Vote, Reply, Share, Edit links text colors"
237
+ msgstr "Цвет ссылок Голосовать, Ответить, Поделиться и Редактировать"
238
+
239
+ #: options-templates/options-template-main.php:426
240
+ msgid "New loaded comments' background color"
241
+ msgstr "Цвет фона новых загруженных комментариев"
242
+
243
+ #: options-templates/options-template-main.php:450
244
+ msgid "Custom CSS Code"
245
+ msgstr "Свой CSS код"
246
+
247
+ #: options-templates/options-template-phrases.php:1
248
+ msgid "Front-end phrases"
249
+ msgstr "Фразы фронт-энда"
250
+
251
+ #: options-templates/options-template-phrases.php:5
252
+ msgid "Leave a Reply"
253
+ msgstr "Оставить ответ"
254
+
255
+ #: options-templates/options-template-phrases.php:16
256
+ msgid "Be the first to comment"
257
+ msgstr "Будьте первым, кто оставит комментарий!"
258
+
259
+ #: options-templates/options-template-phrases.php:27
260
+ msgid "Comment"
261
+ msgstr "Комментариев"
262
+
263
+ #: options-templates/options-template-phrases.php:38
264
+ msgid "On"
265
+ msgstr "На"
266
+
267
+ #: options-templates/options-template-phrases.php:49
268
+ msgid "Comment Field Start"
269
+ msgstr "Фраза \"Начать обсуждение\""
270
+
271
+ #: options-templates/options-template-phrases.php:60
272
+ msgid "Comment Field Join"
273
+ msgstr "Фраза \"Присоединиться к обсуждению\""
274
+
275
+ #: options-templates/options-template-phrases.php:71
276
+ msgid "Email Field"
277
+ msgstr "Email"
278
+
279
+ #: options-templates/options-template-phrases.php:82
280
+ msgid "Name Field"
281
+ msgstr "Имя"
282
+
283
+ #: options-templates/options-template-phrases.php:93
284
+ msgid "CAPTCHA Field"
285
+ msgstr "CAPTCHA "
286
+
287
+ #: options-templates/options-template-phrases.php:104
288
+ msgid "Submit Button"
289
+ msgstr "Кнопка Отправить"
290
+
291
+ #: options-templates/options-template-phrases.php:115
292
+ msgid "Manage subscribtions"
293
+ msgstr "Управление подпиской"
294
+
295
+ #: options-templates/options-template-phrases.php:119
296
+ msgid "Manage Subscribtions"
297
+ msgstr "Управление Подпиской"
298
+
299
+ #: options-templates/options-template-phrases.php:126
300
+ msgid "Notify on new comments (checkbox)"
301
+ msgstr "Сообщать о новых комментариях (галочка)"
302
+
303
+ #: options-templates/options-template-phrases.php:130
304
+ msgid "Notify of all new follow-up comments"
305
+ msgstr "Сообщать о всех последующих комментариях (галочка)"
306
+
307
+ #: options-templates/options-template-phrases.php:137
308
+ msgid "Notify on all new replies (checkbox)"
309
+ msgstr "Сообщать об ответах (галочка)"
310
+
311
+ #: options-templates/options-template-phrases.php:141
312
+ msgid "Notify of new replies to all my comments"
313
+ msgstr "Сообщать о всех новых ответах на мои комментарии"
314
+
315
+ #: options-templates/options-template-phrases.php:148
316
+ msgid "Notify on new replies (checkbox)"
317
+ msgstr "Сообщать о новых ответах (галочка)"
318
+
319
+ #: options-templates/options-template-phrases.php:152
320
+ msgid "Notify of new replies to this comment"
321
+ msgstr "Сообщать о новых ответах на этот комментарий"
322
+
323
+ #: options-templates/options-template-phrases.php:159
324
+ msgid "Load More Button"
325
+ msgstr "Кнопка Загрузить следующие"
326
+
327
+ #: options-templates/options-template-phrases.php:170
328
+ msgid "Reply"
329
+ msgstr "Ответить "
330
+
331
+ #: options-templates/options-template-phrases.php:181
332
+ msgid "Share"
333
+ msgstr "Поделиться"
334
+
335
+ #: options-templates/options-template-phrases.php:192
336
+ msgid "Share On Facebook"
337
+ msgstr "Поделиться через Facebook"
338
+
339
+ #: options-templates/options-template-phrases.php:203
340
+ msgid "Share On Twitter"
341
+ msgstr "Поделиться через Twitter"
342
+
343
+ #: options-templates/options-template-phrases.php:214
344
+ msgid "Share On Google"
345
+ msgstr "Поделиться через Google"
346
+
347
+ #: options-templates/options-template-phrases.php:225
348
+ msgid "Hide Replies"
349
+ msgstr "Спрятать ответы"
350
+
351
+ #: options-templates/options-template-phrases.php:236
352
+ msgid "Show Replies"
353
+ msgstr "Показать ответы"
354
+
355
+ #: options-templates/options-template-phrases.php:247
356
+ msgid "Title For Guests"
357
+ msgstr "Подпись для Гостей"
358
+
359
+ #: options-templates/options-template-phrases.php:258
360
+ msgid "Title For Members"
361
+ msgstr "Подпись для Пользователей"
362
+
363
+ #: options-templates/options-template-phrases.php:272
364
+ msgid "Title For Authors"
365
+ msgstr "Подпись для Авторов"
366
+
367
+ #: options-templates/options-template-phrases.php:283
368
+ msgid "Title For Admins"
369
+ msgstr "Подпись для Админов"
370
+
371
+ #: options-templates/options-template-phrases.php:294
372
+ msgid "Email Subject"
373
+ msgstr "Заголовок письма"
374
+
375
+ #: options-templates/options-template-phrases.php:305
376
+ msgid "Email Message"
377
+ msgstr "Тело письма"
378
+
379
+ #: options-templates/options-template-phrases.php:316
380
+ msgid "New Reply Subject"
381
+ msgstr "Тема Новый Ответ"
382
+
383
+ #: options-templates/options-template-phrases.php:320
384
+ #: options-templates/options-template-phrases.php:719
385
+ msgid "New Reply"
386
+ msgstr "Новый ответ"
387
+
388
+ #: options-templates/options-template-phrases.php:327
389
+ #: options-templates/options-template-phrases.php:371
390
+ msgid "New Reply Message"
391
+ msgstr "Отписаться"
392
+
393
+ #: options-templates/options-template-phrases.php:338
394
+ msgid "Subscribed on this comment replies"
395
+ msgstr "Подписка на ответы на этот коммент"
396
+
397
+ #: options-templates/options-template-phrases.php:349
398
+ msgid "Subscribed on all your comments replies"
399
+ msgstr "Подписка на ответы на все комменты пользователя"
400
+
401
+ #: options-templates/options-template-phrases.php:360
402
+ msgid "Subscribed on this post"
403
+ msgstr "Подписка на все комменты к записи"
404
+
405
+ #: options-templates/options-template-phrases.php:375
406
+ msgid "Unsubscribe"
407
+ msgstr "Отписаться"
408
+
409
+ #: options-templates/options-template-phrases.php:382
410
+ msgid "You've successfully unsubscribed."
411
+ msgstr "Вы успешно отписались"
412
+
413
+ #: options-templates/options-template-phrases.php:393
414
+ msgid "Error message for empty field"
415
+ msgstr "Сообщение об ошибке - пустое поле"
416
+
417
+ #: options-templates/options-template-phrases.php:404
418
+ msgid "Error message for invalid email field"
419
+ msgstr "Сообщение об ошибке - неверный email адрес"
420
+
421
+ #: options-templates/options-template-phrases.php:415
422
+ msgid "Year"
423
+ msgstr "Год"
424
+
425
+ #: options-templates/options-template-phrases.php:426
426
+ msgid "Month"
427
+ msgstr "Месяц"
428
+
429
+ #: options-templates/options-template-phrases.php:437
430
+ msgid "Day"
431
+ msgstr "День"
432
+
433
+ #: options-templates/options-template-phrases.php:448
434
+ msgid "Hour"
435
+ msgstr "Час"
436
+
437
+ #: options-templates/options-template-phrases.php:470
438
+ msgid "Second"
439
+ msgstr "Секунда"
440
+
441
+ #: options-templates/options-template-phrases.php:481
442
+ msgid "Plural (Ex. user -> user + s)"
443
+ msgstr "Множественное число (напр - юзер -> юзер + ы)"
444
+
445
+ #: options-templates/options-template-phrases.php:492
446
+ msgid "Commented \"right now\" text"
447
+ msgstr "Текст \"только что\" прокомментировано"
448
+
449
+ #: options-templates/options-template-phrases.php:503
450
+ msgid "Ago text"
451
+ msgstr "Тест \"тому назад\""
452
+
453
+ #: options-templates/options-template-phrases.php:514
454
+ msgid "\"Today\" text"
455
+ msgstr "Текст \"Сегодня\""
456
+
457
+ #: options-templates/options-template-phrases.php:518
458
+ msgid "Today"
459
+ msgstr "Сегодня"
460
+
461
+ #: options-templates/options-template-phrases.php:525
462
+ msgid "You must be"
463
+ msgstr "Вы должны быть "
464
+
465
+ #: options-templates/options-template-phrases.php:537
466
+ msgid "Logged in as"
467
+ msgstr "Вошли как"
468
+
469
+ #: options-templates/options-template-phrases.php:547
470
+ msgid "Log out"
471
+ msgstr "Выйти"
472
+
473
+ #: options-templates/options-template-phrases.php:561
474
+ msgid "Logged In"
475
+ msgstr "Зарегистрированы"
476
+
477
+ #: options-templates/options-template-phrases.php:572
478
+ msgid "To post a comment"
479
+ msgstr "Чтобы оставить комментарий"
480
+
481
+ #: options-templates/options-template-phrases.php:583
482
+ msgid "Vote Up"
483
+ msgstr "Голос за"
484
+
485
+ #: options-templates/options-template-phrases.php:594
486
+ msgid "Vote Down"
487
+ msgstr "Голос против"
488
+
489
+ #: options-templates/options-template-phrases.php:605
490
+ msgid "Vote Counted"
491
+ msgstr "Голос учтен"
492
+
493
+ #: options-templates/options-template-phrases.php:616
494
+ msgid "You can vote only 1 time"
495
+ msgstr "Вы можете проголосовать только один раз"
496
+
497
+ #: options-templates/options-template-phrases.php:627
498
+ msgid "Voting Error"
499
+ msgstr "Ошибка голосования"
500
+
501
+ #: options-templates/options-template-phrases.php:638
502
+ msgid "Login To Vote"
503
+ msgstr "Залогиньтесь, чтобы голосовать"
504
+
505
+ #: options-templates/options-template-phrases.php:649
506
+ msgid "You Cannot Vote On Your Comment"
507
+ msgstr "Вы не можете проголосовать за свой комментарий"
508
+
509
+ #: options-templates/options-template-phrases.php:660
510
+ msgid "Invalid Captcha Code"
511
+ msgstr "Неверно введен код"
512
+
513
+ #: options-templates/options-template-phrases.php:671
514
+ msgid "Some of field value is invalid"
515
+ msgstr "Некоторые поля заполнены неверно"
516
+
517
+ #: options-templates/options-template-phrases.php:682
518
+ msgid "Comment waiting moderation"
519
+ msgstr "Комментарий ожидает модерации"
520
+
521
+ #: options-templates/options-template-phrases.php:693
522
+ msgid "Button text if has new comment"
523
+ msgstr "Текст кнопки если есть новый комментарий"
524
+
525
+ #: options-templates/options-template-phrases.php:697
526
+ msgid "New Comment"
527
+ msgstr "Новый комментарий"
528
+
529
+ #: options-templates/options-template-phrases.php:704
530
+ msgid "Button text if has new comments"
531
+ msgstr "Текст кнопки если есть новые комментарии"
532
+
533
+ #: options-templates/options-template-phrases.php:708
534
+ msgid "New Comments"
535
+ msgstr "Новые комментарии"
536
+
537
+ #: options-templates/options-template-phrases.php:715
538
+ msgid "Button text if has new reply"
539
+ msgstr "Текст кнопки если есть новый ответ"
540
+
541
+ #: options-templates/options-template-phrases.php:726
542
+ msgid "Button text if has new replies"
543
+ msgstr "Текст кнопки если есть новые ответы"
544
+
545
+ #: options-templates/options-template-phrases.php:730
546
+ msgid "New Replies"
547
+ msgstr "Новые ответы"
548
+
549
+ #: options-templates/options-template-phrases.php:737
550
+ msgid "Text on load more button if has new comment(s)"
551
+ msgstr "Текст кнопки \"загрузить ещё\", если есть новые комментарии"
552
+
553
+ #: options-templates/options-template-phrases.php:741
554
+ msgid "New"
555
+ msgstr "Новый"
556
+
557
+ #: wc-options.php:31 wc-options.php:184
558
+ msgid "Hacker?"
559
+ msgstr "Хакер?"
560
+
561
+ #: wc-options.php:77
562
+ msgid "wpDiscuz General Settings"
563
+ msgstr "Основные настройки wpDiscuz"
564
+
565
+ #: wc-options.php:165 wc-options.php:296
566
+ msgid "Save Changes"
567
+ msgstr "Сохранить изменения"
568
+
569
+ #: wc-options.php:271
570
+ msgid "WpDiscuz Front-end Phrases"
571
+ msgstr "Фронт-энд фразы WpDiscuz"
572
+
573
+ #: wc.php:899
574
+ msgid "Settings"
575
+ msgstr "Настройки"
576
+
577
+ #: wc.php:900
578
+ msgid "Phrases"
579
+ msgstr "Фразы"
options-templates/options-template-main.php CHANGED
@@ -81,6 +81,23 @@
81
  </td>
82
  </tr>
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  <tr valign="top">
85
  <th scope="row">
86
  <?php _e('Hide Voting buttons', WC_Core::$TEXT_DOMAIN); ?>
@@ -259,6 +276,19 @@
259
  </label>
260
  </td>
261
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  <tr valign="top">
263
  <th scope="row">
264
  <label for="wc_comment_text_size"><?php _e('Comment text size in pixels', WC_Core::$TEXT_DOMAIN); ?></label>
81
  </td>
82
  </tr>
83
 
84
+ <tr valign="top">
85
+ <th scope="row">
86
+ <label for="wc_comment_editable_time"><?php _e('Allow comment editing for', WC_Core::$TEXT_DOMAIN); ?></label>
87
+ </th>
88
+ <td colspan="3">
89
+ <select id="wc_comment_editable_time" name="wc_comment_editable_time">
90
+ <?php $wc_comment_editable_time = isset($this->wc_options_serialized->wc_comment_editable_time) ? $this->wc_options_serialized->wc_comment_editable_time : 0; ?>
91
+ <option value="0" <?php selected($wc_comment_editable_time, '0'); ?>><?php _e('Not Allow', WC_Core::$TEXT_DOMAIN); ?></option>
92
+ <option value="900" <?php selected($wc_comment_editable_time, '900'); ?>>15 <?php _e('Minutes', WC_Core::$TEXT_DOMAIN); ?></option>
93
+ <option value="1800" <?php selected($wc_comment_editable_time, '1800'); ?>>30 <?php _e('Minutes', WC_Core::$TEXT_DOMAIN); ?></option>
94
+ <option value="3600" <?php selected($wc_comment_editable_time, '3600'); ?>>1 <?php _e('Hour', WC_Core::$TEXT_DOMAIN); ?></option>
95
+ <option value="10800" <?php selected($wc_comment_editable_time, '10800'); ?>>3 <?php _e('Hours', WC_Core::$TEXT_DOMAIN); ?></option>
96
+ <option value="86400" <?php selected($wc_comment_editable_time, '86400'); ?>>24 <?php _e('Hours', WC_Core::$TEXT_DOMAIN); ?></option>
97
+ </select>
98
+ </td>
99
+ </tr>
100
+
101
  <tr valign="top">
102
  <th scope="row">
103
  <?php _e('Hide Voting buttons', WC_Core::$TEXT_DOMAIN); ?>
276
  </label>
277
  </td>
278
  </tr>
279
+ <?php if (class_exists('Prompt_Comment_Form_Handling')) { ?>
280
+ <tr valign="top">
281
+ <th scope="row">
282
+ <?php _e('Use Postmatic for subscriptions and commenting by email', WC_Core::$TEXT_DOMAIN); ?>
283
+ <p style="font-size:13px; color:#999999; width:80%; padding-left:0px; margin-left:0px;"><?php _e('Postmatic allows your users subscribe to comments. Instead of just being notified, they add a reply right from their inbox.', WC_Core::$TEXT_DOMAIN); ?></p>
284
+ </th>
285
+ <td colspan="3">
286
+ <label for="wc_use_postmatic_for_comment_notification">
287
+ <input type="checkbox" <?php checked($this->wc_options_serialized->wc_use_postmatic_for_comment_notification == 1) ?> value="1" name="wc_use_postmatic_for_comment_notification" id="wc_use_postmatic_for_comment_notification" />
288
+ </label>
289
+ </td>
290
+ </tr>
291
+ <?php } ?>
292
  <tr valign="top">
293
  <th scope="row">
294
  <label for="wc_comment_text_size"><?php _e('Comment text size in pixels', WC_Core::$TEXT_DOMAIN); ?></label>
options-templates/options-template-phrases.php CHANGED
@@ -116,7 +116,18 @@
116
  </th>
117
  <td colspan="3">
118
  <label for="wc_manage_subscribtions">
119
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_manage_subscribtions']) ? $this->wc_options_serialized->wc_phrases['wc_manage_subscribtions'] : _e('Manage Subscriptions', WC_Core::$TEXT_DOMAIN); ?>" name="wc_manage_subscribtions" id="wc_manage_subscribtions" />
 
 
 
 
 
 
 
 
 
 
 
120
  </label>
121
  </td>
122
  </tr>
@@ -127,7 +138,7 @@
127
  </th>
128
  <td colspan="3">
129
  <label for="wc_notify_on_new_comment">
130
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] : _e('Notify of all new follow-up comments', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_new_comment" id="wc_notify_on_new_comment" />
131
  </label>
132
  </td>
133
  </tr>
@@ -138,7 +149,7 @@
138
  </th>
139
  <td colspan="3">
140
  <label for="wc_notify_on_all_new_reply">
141
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] : _e('Notify of new replies to all my comments', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_all_new_reply" id="wc_notify_on_all_new_reply" />
142
  </label>
143
  </td>
144
  </tr>
@@ -149,7 +160,7 @@
149
  </th>
150
  <td colspan="3">
151
  <label for="wc_notify_on_new_reply">
152
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] : _e('Notify of new replies to this comment', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_new_reply" id="wc_notify_on_new_reply" />
153
  </label>
154
  </td>
155
  </tr>
@@ -264,9 +275,6 @@
264
  </td>
265
  </tr>
266
 
267
-
268
-
269
-
270
  <tr valign="top">
271
  <th scope="row">
272
  <?php _e('Title For Authors', WC_Core::$TEXT_DOMAIN); ?>
@@ -377,6 +385,58 @@
377
  </td>
378
  </tr>
379
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  <tr valign="top">
381
  <th scope="row">
382
  <?php _e('You\'ve successfully unsubscribed.', WC_Core::$TEXT_DOMAIN); ?>
@@ -515,7 +575,7 @@
515
  </th>
516
  <td colspan="3">
517
  <label for="wc_posted_today_text">
518
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_posted_today_text']) ? $this->wc_options_serialized->wc_phrases['wc_posted_today_text'] : _e('Today', WC_Core::$TEXT_DOMAIN); ?>" name="wc_posted_today_text" id="wc_posted_today_text" placeholder="<?php _e('Today', WC_Core::$TEXT_DOMAIN); ?> 9:26 PM"/>
519
  </label>
520
  </td>
521
  </tr>
@@ -694,7 +754,7 @@
694
  </th>
695
  <td colspan="3">
696
  <label for="wc_new_comment_button_text">
697
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comment_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comment_button_text'] : _e('New Comment', 'wpdisucz'); ?>" name="wc_new_comment_button_text" id="wc_new_comment_button_text" placeholder="<?php _e("New Comment", "wpdiscuz"); ?>"/>
698
  </label>
699
  </td>
700
  </tr>
@@ -705,7 +765,7 @@
705
  </th>
706
  <td colspan="3">
707
  <label for="wc_new_comments_button_text">
708
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comments_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comments_button_text'] : _e('New Comments', 'wpdisucz'); ?>" name="wc_new_comments_button_text" id="wc_new_comments_button_text" placeholder="<?php _e("New Comments", "wpdiscuz"); ?>"/>
709
  </label>
710
  </td>
711
  </tr>
@@ -716,7 +776,7 @@
716
  </th>
717
  <td colspan="3">
718
  <label for="wc_new_reply_button_text">
719
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_reply_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_reply_button_text'] : _e('New Reply', 'wpdisucz'); ?>" name="wc_new_reply_button_text" id="wc_new_reply_button_text" placeholder="<?php _e("New Reply", "wpdiscuz"); ?>"/>
720
  </label>
721
  </td>
722
  </tr>
@@ -727,7 +787,7 @@
727
  </th>
728
  <td colspan="3">
729
  <label for="wc_new_replies_button_text">
730
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_replies_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_replies_button_text'] : _e('New Replies', 'wpdisucz'); ?>" name="wc_new_replies_button_text" id="wc_new_replies_button_text" placeholder="<?php _e("New Replies", "wpdiscuz"); ?>"/>
731
  </label>
732
  </td>
733
  </tr>
@@ -738,7 +798,60 @@
738
  </th>
739
  <td colspan="3">
740
  <label for="wc_new_comments_text">
741
- <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comments_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comments_text'] : _e('New', 'wpdisucz'); ?>" name="wc_new_comments_text" id="wc_new_comments_text" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742
  </label>
743
  </td>
744
  </tr>
116
  </th>
117
  <td colspan="3">
118
  <label for="wc_manage_subscribtions">
119
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_manage_subscribtions']) ? $this->wc_options_serialized->wc_phrases['wc_manage_subscribtions'] : __('Manage Subscriptions', WC_Core::$TEXT_DOMAIN); ?>" name="wc_manage_subscribtions" id="wc_manage_subscribtions" />
120
+ </label>
121
+ </td>
122
+ </tr>
123
+
124
+ <tr valign="top">
125
+ <th scope="row">
126
+ <?php _e('Notify "None"', WC_Core::$TEXT_DOMAIN); ?>
127
+ </th>
128
+ <td colspan="3">
129
+ <label for="wc_notify_none">
130
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_none']) ? $this->wc_options_serialized->wc_phrases['wc_notify_none'] : __('None', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_none" id="wc_notify_none" />
131
  </label>
132
  </td>
133
  </tr>
138
  </th>
139
  <td colspan="3">
140
  <label for="wc_notify_on_new_comment">
141
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] : __('Notify of all new follow-up comments', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_new_comment" id="wc_notify_on_new_comment" />
142
  </label>
143
  </td>
144
  </tr>
149
  </th>
150
  <td colspan="3">
151
  <label for="wc_notify_on_all_new_reply">
152
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] : __('Notify of new replies to all my comments', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_all_new_reply" id="wc_notify_on_all_new_reply" />
153
  </label>
154
  </td>
155
  </tr>
160
  </th>
161
  <td colspan="3">
162
  <label for="wc_notify_on_new_reply">
163
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply']) ? $this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] : __('Notify of new replies to this comment', WC_Core::$TEXT_DOMAIN); ?>" name="wc_notify_on_new_reply" id="wc_notify_on_new_reply" />
164
  </label>
165
  </td>
166
  </tr>
275
  </td>
276
  </tr>
277
 
 
 
 
278
  <tr valign="top">
279
  <th scope="row">
280
  <?php _e('Title For Authors', WC_Core::$TEXT_DOMAIN); ?>
385
  </td>
386
  </tr>
387
 
388
+ <tr valign="top">
389
+ <th scope="row">
390
+ <?php _e('Ignore Subscription', WC_Core::$TEXT_DOMAIN); ?>
391
+ </th>
392
+ <td colspan="3">
393
+ <label for="wc_ignore_subscription">
394
+ <input type="text" name="wc_ignore_subscription" id="wc_ignore_subscription" class="wc_ignore_subscription" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_ignore_subscription']) ? $this->wc_options_serialized->wc_phrases['wc_ignore_subscription'] : __('Ignore Subscription', 'wpdiscuz'); ?>" placeholder="<?php echo _e('Ignore Subscription', WC_Core::$TEXT_DOMAIN); ?>"/>
395
+ </label>
396
+ </td>
397
+ </tr>
398
+
399
+ <tr valign="top">
400
+ <th scope="row">
401
+ <?php _e('Confirm your subscribtion', WC_Core::$TEXT_DOMAIN); ?>
402
+ </th>
403
+ <td colspan="3">
404
+ <label for="wc_confirm_email">
405
+ <input type="text" name="wc_confirm_email" id="wc_confirm_email" class="wc_confirm_email" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_confirm_email']) ? $this->wc_options_serialized->wc_phrases['wc_confirm_email'] : __('Confirm your subscribtion', WC_Core::$TEXT_DOMAIN); ?>" placeholder="<?php echo _e('Confirm your subscribtion', WC_Core::$TEXT_DOMAIN); ?>"/>
406
+ </label>
407
+ </td>
408
+ </tr>
409
+ <tr valign="top">
410
+ <th scope="row">
411
+ <?php _e('You\'ve successfully confirmed your subscription.', WC_Core::$TEXT_DOMAIN); ?>
412
+ </th>
413
+ <td colspan="3">
414
+ <label for="wc_comfirm_success_message">
415
+ <textarea name="wc_comfirm_success_message" id="wc_comfirm_success_message"><?php echo isset($this->wc_options_serialized->wc_phrases['wc_comfirm_success_message']) ? $this->wc_options_serialized->wc_phrases['wc_comfirm_success_message'] : __('You\'ve successfully confirmed your subscription.', WC_Core::$TEXT_DOMAIN); ?></textarea>
416
+ </label>
417
+ </td>
418
+ </tr>
419
+ <tr valign="top">
420
+ <th scope="row">
421
+ <?php _e('Subscribe Confirmation Email Subject', WC_Core::$TEXT_DOMAIN); ?>
422
+ </th>
423
+ <td colspan="3">
424
+ <label for="wc_confirm_email_subject">
425
+ <input type="text" name="wc_confirm_email_subject" id="wc_confirm_email_subject" class="wc_confirm_email_subject" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_confirm_email_subject']) ? $this->wc_options_serialized->wc_phrases['wc_confirm_email_subject'] : __('Subscribe Confirmation', WC_Core::$TEXT_DOMAIN); ?>" placeholder="<?php echo _e('Subscribe Confirmation', WC_Core::$TEXT_DOMAIN); ?>"/>
426
+ </label>
427
+ </td>
428
+ </tr>
429
+
430
+ <tr valign="top">
431
+ <th scope="row">
432
+ <?php _e('Subscribe Confirmation Email Content', WC_Core::$TEXT_DOMAIN); ?>
433
+ </th>
434
+ <td colspan="3">
435
+ <label for="wc_confirm_email_message">
436
+ <textarea name="wc_confirm_email_message" id="wc_confirm_email_message"><?php echo isset($this->wc_options_serialized->wc_phrases['wc_confirm_email_message']) ? $this->wc_options_serialized->wc_phrases['wc_confirm_email_message'] : __('Hi, <br/> You just subscribed for new comments on our website. This means you will receive an email when new comments are posted according to subscription option you\'ve chosen. <br/> To activate, click confirm below. If you believe this is an error, ignore this message and we\'ll never bother you again.', WC_Core::$TEXT_DOMAIN); ?></textarea>
437
+ </label>
438
+ </td>
439
+ </tr>
440
  <tr valign="top">
441
  <th scope="row">
442
  <?php _e('You\'ve successfully unsubscribed.', WC_Core::$TEXT_DOMAIN); ?>
575
  </th>
576
  <td colspan="3">
577
  <label for="wc_posted_today_text">
578
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_posted_today_text']) ? $this->wc_options_serialized->wc_phrases['wc_posted_today_text'] : __('Today', WC_Core::$TEXT_DOMAIN); ?>" name="wc_posted_today_text" id="wc_posted_today_text" placeholder="<?php _e('Today', WC_Core::$TEXT_DOMAIN); ?> 9:26 PM"/>
579
  </label>
580
  </td>
581
  </tr>
754
  </th>
755
  <td colspan="3">
756
  <label for="wc_new_comment_button_text">
757
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comment_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comment_button_text'] : __('New Comment', 'wpdisucz'); ?>" name="wc_new_comment_button_text" id="wc_new_comment_button_text" placeholder="<?php _e("New Comment", "wpdiscuz"); ?>"/>
758
  </label>
759
  </td>
760
  </tr>
765
  </th>
766
  <td colspan="3">
767
  <label for="wc_new_comments_button_text">
768
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comments_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comments_button_text'] : __('New Comments', 'wpdisucz'); ?>" name="wc_new_comments_button_text" id="wc_new_comments_button_text" placeholder="<?php _e("New Comments", "wpdiscuz"); ?>"/>
769
  </label>
770
  </td>
771
  </tr>
776
  </th>
777
  <td colspan="3">
778
  <label for="wc_new_reply_button_text">
779
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_reply_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_reply_button_text'] : __('New Reply', 'wpdisucz'); ?>" name="wc_new_reply_button_text" id="wc_new_reply_button_text" placeholder="<?php _e("New Reply", "wpdiscuz"); ?>"/>
780
  </label>
781
  </td>
782
  </tr>
787
  </th>
788
  <td colspan="3">
789
  <label for="wc_new_replies_button_text">
790
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_replies_button_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_replies_button_text'] : __('New Replies', 'wpdisucz'); ?>" name="wc_new_replies_button_text" id="wc_new_replies_button_text" placeholder="<?php _e("New Replies", "wpdiscuz"); ?>"/>
791
  </label>
792
  </td>
793
  </tr>
798
  </th>
799
  <td colspan="3">
800
  <label for="wc_new_comments_text">
801
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_new_comments_text']) ? $this->wc_options_serialized->wc_phrases['wc_new_comments_text'] : __('New', 'wpdisucz'); ?>" name="wc_new_comments_text" id="wc_new_comments_text" />
802
+ </label>
803
+ </td>
804
+ </tr>
805
+
806
+ <tr valign="top">
807
+ <th scope="row">
808
+ <?php _e('Message if comment was not updated', WC_Core::$TEXT_DOMAIN); ?>
809
+ </th>
810
+ <td colspan="3">
811
+ <label for="wc_comment_not_updated">
812
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_comment_not_updated']) ? $this->wc_options_serialized->wc_phrases['wc_comment_not_updated'] : __('Sorry, the comment was not updated', 'wpdisucz'); ?>" name="wc_comment_not_updated" id="wc_comment_not_updated" />
813
+ </label>
814
+ </td>
815
+ </tr>
816
+ <tr valign="top">
817
+ <th scope="row">
818
+ <?php _e('Message if comment no longer possible to edit', WC_Core::$TEXT_DOMAIN); ?>
819
+ </th>
820
+ <td colspan="3">
821
+ <label for="wc_comment_edit_not_possible">
822
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible']) ? $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'] : __('Sorry, this comment no longer possible to edit', 'wpdisucz'); ?>" name="wc_comment_edit_not_possible" id="wc_comment_edit_not_possible" />
823
+ </label>
824
+ </td>
825
+ </tr>
826
+
827
+ <tr valign="top">
828
+ <th scope="row">
829
+ <?php _e('Message if comment text not changed', WC_Core::$TEXT_DOMAIN); ?>
830
+ </th>
831
+ <td colspan="3">
832
+ <label for="wc_comment_not_edited">
833
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_comment_not_edited']) ? $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'] : __('TYou\'ve not made any changes', 'wpdisucz'); ?>" name="wc_comment_not_edited" id="wc_comment_not_edited" />
834
+ </label>
835
+ </td>
836
+ </tr>
837
+
838
+ <tr valign="top">
839
+ <th scope="row">
840
+ <?php _e('Save edited comment button text', WC_Core::$TEXT_DOMAIN); ?>
841
+ </th>
842
+ <td colspan="3">
843
+ <label for="wc_comment_edit_save_button">
844
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_comment_edit_save_button']) ? $this->wc_options_serialized->wc_phrases['wc_comment_edit_save_button'] : __('Save', 'wpdisucz'); ?>" name="wc_comment_edit_save_button" id="wc_comment_edit_save_button" />
845
+ </label>
846
+ </td>
847
+ </tr>
848
+ <tr valign="top">
849
+ <th scope="row">
850
+ <?php _e('Cancel comment editing button text', WC_Core::$TEXT_DOMAIN); ?>
851
+ </th>
852
+ <td colspan="3">
853
+ <label for="wc_comment_edit_cancel_button">
854
+ <input type="text" value="<?php echo isset($this->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button']) ? $this->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button'] : __('Cancel', 'wpdisucz'); ?>" name="wc_comment_edit_cancel_button" id="wc_comment_edit_cancel_button" />
855
  </label>
856
  </td>
857
  </tr>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: gVectors Team
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UC44WQM5XJFPA
4
  Tags: wordpress comments, ajax comments, ajax, live update, theme, post comments, comments box, community, discussion, discuss, comment form, reply, comments, discussions, comment template, activity, comment author, comment system
5
  Requires at least: 2.7
6
- Tested up to: 4.1
7
- Stable tag: 2.0.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -26,21 +26,30 @@ New interactive, AJAX comment system. Responsive comment plugin with Live Update
26
  * | Allows to create a new discussion thread and reply to existing comment
27
  * | Ajax button "Load More Comments" instead of simple comments pagination
28
  * | Different comment date formats, reflects Wordpress date format settings
 
29
  * | Automatic URLs to link conversion in comment texts
30
  * | Automatic image source URLs to image (HTML) conversion in comment texts
31
  * | Multiple line-breaks (limited by Wordpress comment filter)
32
  * | Comment author notification options with special checkboxes on comment form
 
 
33
  * | Ability to add comment system on attachment pages if it's allowed by Wordpress
34
  * | Fast and easy comment form with ajax validation and data submitting
35
  * | Fully integrated and compatible with Wordpress
36
  * | Uses Wordpress Comment system with all managing functions and features
37
- * | Uses WP Avatar System, fully compatible with BuddyPress and other profiling plugins
38
  * | Secure and Anti-Spam features will not allow spammers to comment
39
  * | Comment voting with positive and negative result
40
  * | Smart voting system with tracking by logged-in user and cookies
41
  * | Post sharing options: Facebook, Twitter and Google+
42
 
43
 
 
 
 
 
 
 
 
44
  **Dashboard**
45
 
46
  * | Option to display comment form for certain post types
@@ -51,11 +60,11 @@ New interactive, AJAX comment system. Responsive comment plugin with Live Update
51
  * | Option for "User Must be registered to comment"
52
  * | Option to held new comments for moderation
53
  * | Option to hide user labels/titles
54
- * | Option to set number of comment threads per page (for "load more comments" button)
55
  * | Option to set nested comments maximum depth level
56
  * | Option to manage (hide/show) email notification checkboxes
57
  * | Option to notify administrators and comment authors on new comment/reply
58
- * | Option to keep checked-on the email notification checkboxes on comment form by default
59
  * | Option to manage font color
60
  * | Option to manage comment/reply background colors
61
  * | Option to manage author name and label color
@@ -115,12 +124,30 @@ http://www.gvectors.com/questions/wpdiscuz-comment-form-is-missing/
115
 
116
  == Changelog ==
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  = 2.0.9 =
119
  * Fixed Bug: Adapted with some themes ( Fatal error: Cannot redeclare add_user() )
120
  * Fixed Bug: Incorrect comment date/time if the default Wordpress date format is on
121
 
122
- IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
123
-
124
 
125
  = 2.0.8 =
126
  * Fixed Bug: Disabled comment issues (missing comment form)
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UC44WQM5XJFPA
4
  Tags: wordpress comments, ajax comments, ajax, live update, theme, post comments, comments box, community, discussion, discuss, comment form, reply, comments, discussions, comment template, activity, comment author, comment system
5
  Requires at least: 2.7
6
+ Tested up to: 4.1.1
7
+ Stable tag: 2.1.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
26
  * | Allows to create a new discussion thread and reply to existing comment
27
  * | Ajax button "Load More Comments" instead of simple comments pagination
28
  * | Different comment date formats, reflects Wordpress date format settings
29
+ * | Users can edit their comments (time-frame can be limited by admin)
30
  * | Automatic URLs to link conversion in comment texts
31
  * | Automatic image source URLs to image (HTML) conversion in comment texts
32
  * | Multiple line-breaks (limited by Wordpress comment filter)
33
  * | Comment author notification options with special checkboxes on comment form
34
+ * | Subscription activation via additional "Confirm Subscription" email
35
+ * | Integration with Postmatic for subscriptions and commenting by email
36
  * | Ability to add comment system on attachment pages if it's allowed by Wordpress
37
  * | Fast and easy comment form with ajax validation and data submitting
38
  * | Fully integrated and compatible with Wordpress
39
  * | Uses Wordpress Comment system with all managing functions and features
 
40
  * | Secure and Anti-Spam features will not allow spammers to comment
41
  * | Comment voting with positive and negative result
42
  * | Smart voting system with tracking by logged-in user and cookies
43
  * | Post sharing options: Facebook, Twitter and Google+
44
 
45
 
46
+ **Integration with User Profile Plugins**
47
+
48
+ * BuddyPress - Avatar, Profile page
49
+ * Users Ultra - Avatar, Profile page
50
+ * UserPro - Avatar, Badges, Profile page
51
+
52
+
53
  **Dashboard**
54
 
55
  * | Option to display comment form for certain post types
60
  * | Option for "User Must be registered to comment"
61
  * | Option to held new comments for moderation
62
  * | Option to hide user labels/titles
63
+ * | Option to set number of comment threads per page
64
  * | Option to set nested comments maximum depth level
65
  * | Option to manage (hide/show) email notification checkboxes
66
  * | Option to notify administrators and comment authors on new comment/reply
67
+ * | Option to keep ON the email notification options on comment form by default
68
  * | Option to manage font color
69
  * | Option to manage comment/reply background colors
70
  * | Option to manage author name and label color
124
 
125
  == Changelog ==
126
 
127
+ = 2.1.0 =
128
+ * Added : Users can edit their comments (time-frame can be limited by admin)
129
+ * Added : Email notification options with radio selector instead of checkboxes
130
+ * Added : Subscription activation via additional "Confirm Subscription" email
131
+ * Added : Thumb-up and thumb-down voting icons
132
+ * Added : Integration with UserPro - Comment author profile picture
133
+ * Added : Integration with UserPro - Comment author name is linked to profile page
134
+ * Added : Integration with UserPro - User badges under comment author avatar
135
+ * Added : Integration with Postmatic for subscriptions and commenting by email
136
+ * Added : Persian (fa_IR) language, thanks to Vahid (VSG24)
137
+ * Added : Russian (ru_RU) language, thanks to OlafKS
138
+ * Added : Close pop-up messages by clicking outside of message-box
139
+ * Added : Scroll-down to comment are on clicking comments/replies link
140
+ * Added : Filter hooks on email fields
141
+ * Added : Filter hooks on comment form fields
142
+ * Fixed Bug: Image source URL to image conversion in comment content
143
+
144
+ IMPORTANT: If you have a Cache Plugin, please delete all caches after wpDiscuz update.
145
+
146
+
147
  = 2.0.9 =
148
  * Fixed Bug: Adapted with some themes ( Fatal error: Cannot redeclare add_user() )
149
  * Fixed Bug: Incorrect comment date/time if the default Wordpress date format is on
150
 
 
 
151
 
152
  = 2.0.8 =
153
  * Fixed Bug: Disabled comment issues (missing comment form)
wc-css.php CHANGED
@@ -13,7 +13,7 @@ class WC_CSS {
13
  */
14
  public function init_styles() {
15
  ?>
16
- <style type="text/css"> #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 .item {display: block;} .item input { border-radius:0px; } #wpcomm { margin:15px 5px; padding:1px 0px 10px 0px; border-top:#DDDDDD solid 1px; } #wpcomm form { margin:0px; padding:0px; background:none; border:none; } #wpcomm form div{ margin:0px; } #wc_show_hide_loggedin_username{ padding:10px 5px 5px 5px; font-size:13px; } #wpcomm .wc_new_comment_and_replies { margin:0px; padding:0px; width:100%; height:auto; background:transparent;} #wpcomm .wc_new_comment_and_replies .wc_new_comment{ float:right; display:none; background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; padding:3px 10px; font-size:12px; margin:1px 0px 1px 3px; cursor:pointer; color:#fff; line-height: 15px;} #wpcomm .wc_new_comment_and_replies .wc_new_reply{ float:right; display:none; background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; padding:3px 10px; font-size:12px; margin:1px 0px 1px 1px; cursor:pointer; color:#fff; line-height: 15px;} #wpcomm .wc-comment-title{ margin:0px; line-height:18px; font-weight:bold; padding:10px; margin-bottom:10px; font-size:13px; text-align:right; border-bottom:#CCCCCC dotted 1px; padding-bottom:10px; } #wpcomm .wc-form-wrapper{ padding:10px; background:<?php echo isset($this->wc_options->wc_options_serialized->wc_form_bg_color) ? $this->wc_options->wc_options_serialized->wc_form_bg_color : '#f9f9f9'; ?>; margin-top:20px; border:1px solid #F1F1F1; } #wpcomm .wc-author-data{ margin-bottom:6px; } #wpcomm .wc-field-submit{ padding:5px 0px 13px 0px; } #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 10px auto; } #wpcomm .wc-field-captcha{ width:55%; float:left; margin:0px; height:auto!important; } #wpcomm .wc-field-submit{ width:45%; float:right; text-align:right; margin:0px; } #wpcomm .wc-field-name input[type="text"]{ width:99%; max-width:100%; padding:5px; font-size:14px; margin:0px; height:29px; } #wpcomm .wc-field-email input[type="email"]{ width:100%; max-width:100%; padding:5px; font-size:14px; margin:0px; height:29px; } #wpcomm .wc-field-captcha input[type="text"]{ width:40%; padding:5px; font-size:14px; margin:0px 5px 0px 0px; height:27px; } #wpcomm .wc-field-submit input[type="submit"]{ margin:1px; } #wpcomm .wc-field-submit input[type="button"]{ margin:1px; border:#DDDDDD 1px solid; font-size: 13px; line-height: 16px; padding: 6px 15px; } #wpcomm .captcha_msg{ color: #999999; font-family: Lato,sans-serif; font-size: 13px; line-height: 18px; display:block; clear:both; padding:5px 0px 0px 0px; } #wpcomm .wc-field-comment textarea{ width:100%; max-width:100%; height:46px; min-height: 46px !important; padding:5px; box-sizing: border-box; border-radius:0px; } #wpcomm .wc-label{ display:block; font-size:14px; padding:5px; } #wpcomm .wc_manage_subscribtions {cursor: pointer; color: <?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; padding: 0px 0px 5px 0px; display: block; font-size:13px; line-height:16px;} #wpcomm .wc_notification_checkboxes{ padding:3px 0px 7px 0px; text-align:left; display: none; border-top: 1px dotted #DDDDDD;} #wpcomm .wc_notification_checkboxes input[type="checkbox"]{ overflow:none; width:inherit; font-size:13px; margin:0px; padding:0px; display:inline; } #wpcomm .wc-label-comment-notify{ display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; font-family:Lato,sans-serif; cursor:pointer; } #wpcomm .wc-label-reply-notify{ display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; font-family:Lato,sans-serif; cursor:pointer; } #wpcomm .wc-label-all-reply-notify{ display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; 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 textarea{ font-size:14px; color:#666666; font-family:Lato,sans-serif; box-sizing: border-box; margin:0px; } #wpcomm .wc-copyright{ margin: 0px 0px 0px auto; text-align:right; display: block; padding-top: 2px; } #wpcomm .wc-copyright a{ font-size: 9px; color: #AAAAAA; cursor:help; text-decoration:none; margin:0px; padding:0px; border:none;} #wpcomm .wc-thread-wrapper{ padding:10px 0px; margin-bottom:10px;} #wpcomm .wc-comment { margin-bottom:13px; } #wpcomm .wc-comment .wc-field-submit{ padding:5px 0px 5px 0px; } #wpcomm .wc-comment .wc-form-wrapper{ padding:10px 10px 2px 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; background:<?php echo $this->wc_options->wc_options_serialized->wc_comment_bg_color; ?>} #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:0px; margin-left:40px; } #wpcomm .wc-reply .wc-comment-right{ background:<?php echo $this->wc_options->wc_options_serialized->wc_reply_bg_color; ?>; } #wpcomm .wc-must-login{ margin:0px; 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 0px; } #wpcomm .avatar{ border: 1px solid rgba(0, 0, 0, 0.1); padding: 2px; margin:0px auto; float:none; display:inline; width:48px; height:auto; } #wpcomm .wc-comment-text{ font-size:<?php echo isset($this->wc_options->wc_options_serialized->wc_comment_text_size) ? $this->wc_options->wc_options_serialized->wc_comment_text_size : '14px'; ?>; text-align:left; color:<?php echo $this->wc_options->wc_options_serialized->wc_comment_text_color; ?>; padding-bottom:5px; line-height: 20px; } #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{ color:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; font-size:16px; width:40%; float:left; white-space:nowrap; } #wpcomm .wc-comment-author a{ color:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; font-size:16px; white-space:nowrap; text-decoration:none; } #wpcomm .wc-comment-label{ background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; color:#FFFFFF; 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:#999999; float:right; text-align:right; white-space:nowrap; line-height:27px; } #wpcomm .wc-comment-footer { font-size:12px; font-weight:normal; color:#999999; margin-top:12px; min-height: 28px; font-family:Lato,sans-serif; } #wpcomm .wc-comment-footer a{ text-decoration:none; font-size:13px; font-weight:bold; color:<?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; } #wpcomm .wc-comment-footer .share_buttons_box img{ vertical-align:middle; } #wpcomm .wc-comment-footer .wc-voted{ color:#666666; cursor:default; } #wpcomm .wc-comment-footer .wc-vote-result{ padding:2px 6px 2px 5px; background:<?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; color:#FFFFFF; font-size:12px; font-weight:bold; display:inline; margin-right:5px;} #wpcomm .wc-toggle{ float:right; text-align:right; padding-right:0px; margin-right:0px; color:#999999; cursor:pointer; font-size:12px; white-space:nowrap; } #wpcomm .item { background: none; border-radius: 0px; box-shadow: none; } #wc_response_info img{ margin: 0px auto 0px auto; } #wpcomm .share_buttons_box img { display:inline!important; width:16px; height:16px; } #wpcomm .wc-captcha-label img{ display: inline!important; border:none; padding:0px 0px 0px 2px; margin:0px; vertical-align:middle; } #wpcomm .wc-reply-link, #wpcomm .wc-vote-link, #wpcomm .wc-share-link { cursor: pointer; font-size:13px; font-weight:bold; color: <?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; } #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-no-left-margin {margin-left: 0 !important;} div.wc_modal { background: none repeat scroll 0 0 #EDEDED; color:#444444; 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; } .wc-load-more-submit { width: 100%; text-align: center; } #wc_openModalFormAction > div#wc_response_info { width: 200px; background: none repeat scroll 0 0 #EDEDED; color:#444444; font-size: 18px; font-weight: normal; padding: 45px 10px 50px 10px!important; text-align: center; line-height:25px;} #wc_openModalFormAction > div#wc_response_info { } #wc_openModalFormAction > div#wc_response_info a.close { background: url("<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/x.png'); ?>") no-repeat; background-position-x: right; background-position-y: top; } #wpcomm #bywpdiscuz{ display:none; } #wpcomm .by-wpdiscuz{ text-align:right; border-top:#DDDDDD solid 1px; padding:1px 1px 1px 1px; } #wpcomm .by-wpdiscuz a{ font-size:11px; font-weight:bold; text-align:right; color:#CCCCCC; padding:1px; margin:0px; line-height:12px; border:none; text-decoration:none; } #wpcomm .wpdimg{ border:none; padding:0px; margin:0px; height:12px; cursor:pointer; display:inline; clear:both; } #wpcomm .wc-comment .wc-comment-right.wc_new_loaded_comment {background: <?php echo $this->wc_options->wc_options_serialized->wc_new_loaded_comment_bg_color; ?>;} #wc_unsubscribe_message { margin:10px auto 1px auto; padding:10px; text-align:center; border:#00DD00 1px dotted; background:#CCFFCC; } .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; }<?php echo stripslashes($this->wc_options->wc_options_serialized->wc_custom_css); ?> </style>
17
  <?php
18
  }
19
 
13
  */
14
  public function init_styles() {
15
  ?>
16
+ <style type="text/css"> #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 .item {display: block; height:auto; } .item input { border-radius:0px; height:auto; width:auto; } #wpcomm { margin:15px 5px; padding:1px 0px 10px 0px; border-top:#DDDDDD solid 1px; } #wpcomm form { margin:0px; padding:0px; background:none; border:none; width:auto !important;} #wpcomm form div{ margin:0px; } #wc_show_hide_loggedin_username{ padding:10px 5px 5px 5px; font-size:13px; } #wpcomm .wc_new_comment_and_replies { margin:0px; padding:0px; width:100%; height:auto; background:transparent;} #wpcomm .wc_new_comment_and_replies .wc_new_comment{ float:right; display:none; background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; padding:3px 10px; font-size:12px; margin:1px 0px 1px 3px; cursor:pointer; color:#fff; line-height: 15px;} #wpcomm .wc_new_comment_and_replies .wc_new_reply{ float:right; display:none; background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; padding:3px 10px; font-size:12px; margin:1px 0px 1px 1px; cursor:pointer; color:#fff; line-height: 15px;} #wpcomm .wc-comment-title{ margin:0px; line-height:18px; font-weight:bold; padding:10px; margin-bottom:10px; font-size:13px; text-align:right; border-bottom:#CCCCCC dotted 1px; padding-bottom:10px; } #wpcomm .wc-form-wrapper{ padding:10px; background:<?php echo isset($this->wc_options->wc_options_serialized->wc_form_bg_color) ? $this->wc_options->wc_options_serialized->wc_form_bg_color : '#f9f9f9'; ?>; margin-top:20px; border:1px solid #F1F1F1; } #wpcomm .wc-author-data{ margin-bottom:3px; } #wpcomm .wc-field-submit{ padding:5px 0px 13px 0px; } #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 2px auto; } #wpcomm .wc-field-captcha{ width:55%; float:left; margin:0px; height:auto!important; padding-top:2px; } #wpcomm .wc-field-submit{ width:auto!important; float:right; text-align:right; margin:0px; } #wpcomm .wc-field-name input[type="text"]{ width:99%; max-width:100%; padding:3px 5px; font-size:14px; margin:0px; height:29px; } #wpcomm .wc-field-email input[type="email"]{ width:100%; max-width:100%; padding:3px 5px; font-size:14px; margin:0px; height:29px; } #wpcomm .wc-field-captcha input[type="text"]{ width:40%; min-width:82px; padding:3px 5px; font-size:14px; margin:0px 5px 0px 0px; height:27px; } #wpcomm .wc-field-submit input[type="submit"]{ margin:1px; } #wpcomm .wc-field-submit input[type="button"]{ margin:1px; border:#DDDDDD 1px solid; font-size: 13px; line-height: 16px; padding: 6px 15px; clear:both; float:none; } #wpcomm .captcha_msg{ color: #999999; font-family: Lato,sans-serif; font-size: 13px; line-height: 18px; display:block; clear:both; padding:5px 0px 0px 0px; } #wpcomm .wc-field-comment textarea, #wpcomm .wc-comment .wc-comment-right textarea { width:100%; max-width:100%; height:46px; min-height: 46px !important; padding:5px; box-sizing: border-box; border-radius:0px; } #wpcomm .wc-label{ display:block; font-size:14px; padding:5px; } #wpcomm .wc_manage_subscribtions {cursor: pointer; color: <?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; padding: 0px 0px 5px 0px; display: block; font-size:13px; line-height:16px;} #wpcomm .wc_notification_checkboxes{ padding:5px 0px 7px 0px; text-align:left; display: none; border-top: 1px dotted #DDDDDD; 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:0px; padding:0px; display:inline; clear:both; float:none; } #wpcomm .wc_notification_checkboxes label { clear:both; float:none; font-weight:normal; } #wpcomm .wc-label-comment-notify { display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; font-family:Lato,sans-serif; cursor:pointer; } #wpcomm .wc-label-reply-notify, #wpcomm .wc-notification-none { display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; font-family:Lato,sans-serif; cursor:pointer; } #wpcomm .wc-label-all-reply-notify { display:inline; font-size:13px; padding:0px; margin:0px; border:none; line-height:15px; text-decoration:none; color:#999999; 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 textarea{ font-size:14px; color:#777777; font-family:Lato,sans-serif; box-sizing: border-box; margin:0px; border:#d9d9d9 1px solid; clear:both; float:none; display:inline; } #wpcomm .wc-copyright{ margin: 0px 0px 0px auto; text-align:right; display: block; padding-top: 2px; } #wpcomm .wc-copyright a{ font-size: 9px; color: #AAAAAA; cursor:help; text-decoration:none; margin:0px; padding:0px; border:none;} #wpcomm .wc-thread-wrapper{ padding:10px 0px; margin-bottom:10px;} #wpcomm .wc-comment { margin-bottom:13px; } #wpcomm .wc-comment .wc-field-submit{ padding:5px 0px 5px 0px; } #wpcomm .wc-comment .wc-form-wrapper{ padding:10px 10px 2px 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; background:<?php echo $this->wc_options->wc_options_serialized->wc_comment_bg_color; ?>} #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:0px; margin-left:40px; } #wpcomm .wc-reply .wc-comment-right{ background:<?php echo $this->wc_options->wc_options_serialized->wc_reply_bg_color; ?>; } #wpcomm .wc-must-login{ margin:0px; 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 0px; } #wpcomm .avatar{ border: 1px solid rgba(0, 0, 0, 0.1); padding: 2px; margin:0px auto; float:none; display:inline; width:48px; height:auto; } #wpcomm .wc-form-wrapper .avatar { margin-top:4px; } #wpcomm .wc-comment-text{ font-size:<?php echo isset($this->wc_options->wc_options_serialized->wc_comment_text_size) ? $this->wc_options->wc_options_serialized->wc_comment_text_size : '14px'; ?>; text-align:left; color:<?php echo $this->wc_options->wc_options_serialized->wc_comment_text_color; ?>; padding-bottom:5px; line-height: 20px; /*white-space: pre-wrap;*/ 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{ color:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; font-size:16px; width:40%; float:left; white-space:nowrap; } #wpcomm .wc-comment-author a{ color:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; font-size:16px; white-space:nowrap; text-decoration:none; } #wpcomm .wc-comment-label{ background:<?php echo $this->wc_options->wc_options_serialized->wc_author_title_color; ?>; color:#FFFFFF; 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:#999999; float:right; text-align:right; white-space:nowrap; line-height:27px; } #wpcomm .wc-comment-footer { font-size:12px; font-weight:normal; color:#999999; 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; color:<?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; cursor: pointer;} #wpcomm .wc-comment-footer .share_buttons_box img{ vertical-align:middle; } #wpcomm .wc-comment-footer .wc-voted{ color:#666666; cursor:default; } #wpcomm .wc-comment-footer .wc-vote-img-up{ padding:0px; margin:0px 0px -2px 0px; vertical-align:baseline; display:inline; float:none; clear:both; border:none; background:transparent; width:16px; height:16px; border-radius: 0px; box-shadow: none; box-sizing: border-box; } #wpcomm .wc-comment-footer .wc-vote-img-down{ padding:0px; margin:0px 0px -6px 0px; vertical-align:baseline; display:inline; float:none; clear:both; border:none; background:transparent; width:16px; height:16px; border-radius: 0px; box-shadow: none; box-sizing: border-box; } #wpcomm .wc-comment-footer .wc-vote-result{ padding:2px 6px 2px 5px; background:<?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; color:#FFFFFF; font-size:12px; font-weight:bold; display:inline; margin-right:5px;} #wpcomm .wc-toggle{ float:right; text-align:right; padding-right:0px; margin-right:0px; color:#999999; cursor:pointer; font-size:12px; white-space:nowrap; } #wpcomm .item { background: none; border-radius: 0px; box-shadow: none; } #wc_response_info img{ margin: 0px auto 0px auto; } #wpcomm .share_buttons_box img { display:inline!important; width:16px; height:16px; } #wpcomm .wc-captcha-label img{ display: inline!important; border:none; padding:0px 0px 0px 2px; margin:0px; vertical-align:middle; } #wpcomm .wc-reply-link, #wpcomm .wc-vote-link, #wpcomm .wc-share-link { cursor: pointer; font-size:13px; font-weight:bold; color: <?php echo $this->wc_options->wc_options_serialized->wc_vote_reply_color; ?>; } #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-no-left-margin {margin-left: 0 !important;} div.wc_modal { background: none repeat scroll 0 0 #EDEDED; color:#444444; 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: 1px solid #d9d9d9; border-radius: 3px; color:#555555; 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:#444444; font-size: 18px; font-weight: normal; padding: 45px 10px 50px 10px!important; text-align: center; line-height:25px;} #wc_openModalFormAction > div#wc_response_info { } #wc_openModalFormAction > div#wc_response_info a.close { background: url("<?php echo plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/img/x.png'); ?>") no-repeat; background-position-x: right; background-position-y: top; } #wpcomm #bywpdiscuz{ display:none; } #wpcomm .by-wpdiscuz{ text-align:right; border-top:#DDDDDD solid 1px; padding:1px 1px 1px 1px; } #wpcomm .by-wpdiscuz a{ font-size:11px; font-weight:bold; text-align:right; color:#CCCCCC; padding:1px; margin:0px; line-height:12px; border:none; text-decoration:none; } #wpcomm .wpdimg{ border:none; padding:0px; margin:0px; height:12px; cursor:pointer; display:inline; clear:both; } #wpcomm .wc-comment .wc-comment-right.wc_new_loaded_comment {background: <?php echo $this->wc_options->wc_options_serialized->wc_new_loaded_comment_bg_color; ?>;} #wc_unsubscribe_message { margin:10px auto 1px auto; padding:10px; text-align:center; border:#00DD00 1px dotted; background:#CCFFCC; } .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;}; <?php echo stripslashes($this->wc_options->wc_options_serialized->wc_custom_css); ?> </style>
17
  <?php
18
  }
19
 
wc-options-serialize.php CHANGED
@@ -38,6 +38,14 @@ class WC_Options_Serialize {
38
  */
39
  public $wc_comment_list_update_timer;
40
 
 
 
 
 
 
 
 
 
41
  /**
42
  * Type - Checkbox
43
  * Available Values - Checked/Unchecked
@@ -167,6 +175,15 @@ class WC_Options_Serialize {
167
  * Default Value - Checked
168
  */
169
  public $wc_show_hide_reply_checkbox;
 
 
 
 
 
 
 
 
 
170
 
171
  /**
172
  * Type - Select
@@ -267,6 +284,7 @@ class WC_Options_Serialize {
267
  $this->wc_comment_list_order = isset($options['wc_comment_list_order']) ? $options['wc_comment_list_order'] : 'desc';
268
  $this->wc_comment_list_update_type = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
269
  $this->wc_comment_list_update_timer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
 
270
  $this->wc_voting_buttons_show_hide = $options['wc_voting_buttons_show_hide'];
271
  $this->wc_share_buttons_show_hide = $options['wc_share_buttons_show_hide'];
272
  $this->wc_captcha_show_hide = $options['wc_captcha_show_hide'];
@@ -283,6 +301,7 @@ class WC_Options_Serialize {
283
  $this->wc_show_hide_comment_checkbox = isset($options['wc_show_hide_comment_checkbox']) ? $options['wc_show_hide_comment_checkbox'] : 0;
284
  $this->wc_show_hide_all_reply_checkbox = isset($options['wc_show_hide_all_reply_checkbox']) ? $options['wc_show_hide_all_reply_checkbox'] : 0;
285
  $this->wc_show_hide_reply_checkbox = isset($options['wc_show_hide_reply_checkbox']) ? $options['wc_show_hide_reply_checkbox'] : 0;
 
286
  $this->wc_comment_text_size = isset($options['wc_comment_text_size']) ? $options['wc_comment_text_size'] : '14px';
287
  $this->wc_form_bg_color = isset($options['wc_form_bg_color']) ? $options['wc_form_bg_color'] : '#f9f9f9';
288
  $this->wc_comment_bg_color = $options['wc_comment_bg_color'];
@@ -291,7 +310,7 @@ class WC_Options_Serialize {
291
  $this->wc_author_title_color = $options['wc_author_title_color'];
292
  $this->wc_vote_reply_color = $options['wc_vote_reply_color'];
293
  $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)";
294
- $this->wc_custom_css = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width: 100%;margin: 0 auto;}';
295
  }
296
 
297
  /**
@@ -310,6 +329,7 @@ class WC_Options_Serialize {
310
  'wc_captcha_text' => 'Please insert the code above to comment',
311
  'wc_submit_text' => 'Post Comment',
312
  'wc_manage_subscribtions' => 'Manage Subscriptions',
 
313
  'wc_notify_on_new_comment' => 'Notify of all new follow-up comments',
314
  'wc_notify_on_all_new_reply' => 'Notify of new replies to all my comments',
315
  'wc_notify_on_new_reply' => 'Notify of new replies to this comment',
@@ -333,7 +353,12 @@ class WC_Options_Serialize {
333
  'wc_subscribed_on_all_comment' => 'You\'re subscribed for new replies on all your comments',
334
  'wc_subscribed_on_post' => 'You\'re subscribed for new follow-up comments on this post',
335
  'wc_unsubscribe' => 'Unsubscribe',
 
336
  'wc_unsubscribe_message' => 'You\'ve successfully unsubscribed.',
 
 
 
 
337
  'wc_error_empty_text' => 'please fill out this field to comment',
338
  'wc_error_email_text' => 'email address is invalid',
339
  'wc_year_text' => array('datetime' => array('year', 1)),
@@ -365,7 +390,12 @@ class WC_Options_Serialize {
365
  'wc_new_comments_button_text' => 'new comments',
366
  'wc_new_reply_button_text' => 'new reply on your comment',
367
  'wc_new_replies_button_text' => 'new replies on your comments',
368
- 'wc_new_comments_text' => 'New'
 
 
 
 
 
369
  );
370
  }
371
 
@@ -375,6 +405,7 @@ class WC_Options_Serialize {
375
  'wc_comment_list_order' => $this->wc_comment_list_order,
376
  'wc_comment_list_update_type' => $this->wc_comment_list_update_type,
377
  'wc_comment_list_update_timer' => $this->wc_comment_list_update_timer,
 
378
  'wc_voting_buttons_show_hide' => $this->wc_voting_buttons_show_hide,
379
  'wc_share_buttons_show_hide' => $this->wc_share_buttons_show_hide,
380
  'wc_captcha_show_hide' => $this->wc_captcha_show_hide,
@@ -391,6 +422,7 @@ class WC_Options_Serialize {
391
  'wc_show_hide_comment_checkbox' => $this->wc_show_hide_comment_checkbox,
392
  'wc_show_hide_all_reply_checkbox' => $this->wc_show_hide_all_reply_checkbox,
393
  'wc_show_hide_reply_checkbox' => $this->wc_show_hide_reply_checkbox,
 
394
  'wc_comment_text_size' => $this->wc_comment_text_size,
395
  'wc_form_bg_color' => $this->wc_form_bg_color,
396
  'wc_comment_bg_color' => $this->wc_comment_bg_color,
@@ -415,6 +447,7 @@ class WC_Options_Serialize {
415
  'wc_comment_list_order' => 'desc',
416
  'wc_comment_list_update_type' => '0',
417
  'wc_comment_list_update_timer' => '30',
 
418
  'wc_voting_buttons_show_hide' => '0',
419
  'wc_share_buttons_show_hide' => '0',
420
  'wc_captcha_show_hide' => '0',
@@ -431,6 +464,7 @@ class WC_Options_Serialize {
431
  'wc_show_hide_comment_checkbox' => '1',
432
  'wc_show_hide_all_reply_checkbox' => '1',
433
  'wc_show_hide_reply_checkbox' => '1',
 
434
  'wc_comment_text_size' => '14px',
435
  'wc_form_bg_color' => '#f9f9f9',
436
  'wc_comment_bg_color' => '#fefefe',
@@ -439,7 +473,7 @@ class WC_Options_Serialize {
439
  'wc_author_title_color' => '#00B38F',
440
  'wc_vote_reply_color' => '#666666',
441
  'wc_new_loaded_comment_bg_color' => 'rgb(255,250,214)',
442
- 'wc_custom_css' => '.comments-area{width: 100%;margin: 0 auto;}'
443
  );
444
  add_option($this->wc_options_slug, serialize($options));
445
  }
38
  */
39
  public $wc_comment_list_update_timer;
40
 
41
+ /**
42
+ * Type - Dropdown menu
43
+ * Available Values - Not Allow(0), 900s(15 minutes) 1800s(30 minutes), 3600s(1 hour), 10800s(3 hours), 86400(24 hours)
44
+ * Description - Allow commnet editing after comment subimt
45
+ * Default Value - Editable comment time value
46
+ */
47
+ public $wc_comment_editable_time;
48
+
49
  /**
50
  * Type - Checkbox
51
  * Available Values - Checked/Unchecked
175
  * Default Value - Checked
176
  */
177
  public $wc_show_hide_reply_checkbox;
178
+
179
+
180
+ /**
181
+ * Type - Checkbox
182
+ * Available Values - Checked/Unchecked
183
+ * Description - Use Postmatic plugin for comment notification
184
+ * Default Value - Unchecked
185
+ */
186
+ public $wc_use_postmatic_for_comment_notification;
187
 
188
  /**
189
  * Type - Select
284
  $this->wc_comment_list_order = isset($options['wc_comment_list_order']) ? $options['wc_comment_list_order'] : 'desc';
285
  $this->wc_comment_list_update_type = isset($options['wc_comment_list_update_type']) ? $options['wc_comment_list_update_type'] : 0;
286
  $this->wc_comment_list_update_timer = isset($options['wc_comment_list_update_timer']) ? $options['wc_comment_list_update_timer'] : 30;
287
+ $this->wc_comment_editable_time = isset($options['wc_comment_editable_time']) ? $options['wc_comment_editable_time'] : 900;
288
  $this->wc_voting_buttons_show_hide = $options['wc_voting_buttons_show_hide'];
289
  $this->wc_share_buttons_show_hide = $options['wc_share_buttons_show_hide'];
290
  $this->wc_captcha_show_hide = $options['wc_captcha_show_hide'];
301
  $this->wc_show_hide_comment_checkbox = isset($options['wc_show_hide_comment_checkbox']) ? $options['wc_show_hide_comment_checkbox'] : 0;
302
  $this->wc_show_hide_all_reply_checkbox = isset($options['wc_show_hide_all_reply_checkbox']) ? $options['wc_show_hide_all_reply_checkbox'] : 0;
303
  $this->wc_show_hide_reply_checkbox = isset($options['wc_show_hide_reply_checkbox']) ? $options['wc_show_hide_reply_checkbox'] : 0;
304
+ $this->wc_use_postmatic_for_comment_notification = isset($options['wc_use_postmatic_for_comment_notification']) ? $options['wc_use_postmatic_for_comment_notification'] : 0;
305
  $this->wc_comment_text_size = isset($options['wc_comment_text_size']) ? $options['wc_comment_text_size'] : '14px';
306
  $this->wc_form_bg_color = isset($options['wc_form_bg_color']) ? $options['wc_form_bg_color'] : '#f9f9f9';
307
  $this->wc_comment_bg_color = $options['wc_comment_bg_color'];
310
  $this->wc_author_title_color = $options['wc_author_title_color'];
311
  $this->wc_vote_reply_color = $options['wc_vote_reply_color'];
312
  $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)";
313
+ $this->wc_custom_css = isset($options['wc_custom_css']) ? $options['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
314
  }
315
 
316
  /**
329
  'wc_captcha_text' => 'Please insert the code above to comment',
330
  'wc_submit_text' => 'Post Comment',
331
  'wc_manage_subscribtions' => 'Manage Subscriptions',
332
+ 'wc_notify_none' => 'None',
333
  'wc_notify_on_new_comment' => 'Notify of all new follow-up comments',
334
  'wc_notify_on_all_new_reply' => 'Notify of new replies to all my comments',
335
  'wc_notify_on_new_reply' => 'Notify of new replies to this comment',
353
  'wc_subscribed_on_all_comment' => 'You\'re subscribed for new replies on all your comments',
354
  'wc_subscribed_on_post' => 'You\'re subscribed for new follow-up comments on this post',
355
  'wc_unsubscribe' => 'Unsubscribe',
356
+ 'wc_ignore_subscription' => 'Ignore Subscription',
357
  'wc_unsubscribe_message' => 'You\'ve successfully unsubscribed.',
358
+ 'wc_confirm_email' => 'Confirm your subscribtion',
359
+ 'wc_comfirm_success_message' => 'You\'ve successfully confirmed your subscription.',
360
+ 'wc_confirm_email_subject' => 'Subscribe Confirmation',
361
+ 'wc_confirm_email_message' => 'Hi, <br/> You just subscribed for new comments on our website. This means you will receive an email when new comments are posted according to subscription option you\'ve chosen. <br/> To activate, click confirm below. If you believe this is an error, ignore this message and we\'ll never bother you again.',
362
  'wc_error_empty_text' => 'please fill out this field to comment',
363
  'wc_error_email_text' => 'email address is invalid',
364
  'wc_year_text' => array('datetime' => array('year', 1)),
390
  'wc_new_comments_button_text' => 'new comments',
391
  'wc_new_reply_button_text' => 'new reply on your comment',
392
  'wc_new_replies_button_text' => 'new replies on your comments',
393
+ 'wc_new_comments_text' => 'New',
394
+ 'wc_comment_not_updated' => 'Sorry, the comment was not updated',
395
+ 'wc_comment_edit_not_possible' => 'Sorry, this comment no longer possible to edit',
396
+ 'wc_comment_not_edited' => 'You\'ve not made any changes',
397
+ 'wc_comment_edit_save_button' => 'Save',
398
+ 'wc_comment_edit_cancel_button' => 'Cancel',
399
  );
400
  }
401
 
405
  'wc_comment_list_order' => $this->wc_comment_list_order,
406
  'wc_comment_list_update_type' => $this->wc_comment_list_update_type,
407
  'wc_comment_list_update_timer' => $this->wc_comment_list_update_timer,
408
+ 'wc_comment_editable_time' => $this->wc_comment_editable_time,
409
  'wc_voting_buttons_show_hide' => $this->wc_voting_buttons_show_hide,
410
  'wc_share_buttons_show_hide' => $this->wc_share_buttons_show_hide,
411
  'wc_captcha_show_hide' => $this->wc_captcha_show_hide,
422
  'wc_show_hide_comment_checkbox' => $this->wc_show_hide_comment_checkbox,
423
  'wc_show_hide_all_reply_checkbox' => $this->wc_show_hide_all_reply_checkbox,
424
  'wc_show_hide_reply_checkbox' => $this->wc_show_hide_reply_checkbox,
425
+ 'wc_use_postmatic_for_comment_notification' => $this->wc_use_postmatic_for_comment_notification,
426
  'wc_comment_text_size' => $this->wc_comment_text_size,
427
  'wc_form_bg_color' => $this->wc_form_bg_color,
428
  'wc_comment_bg_color' => $this->wc_comment_bg_color,
447
  'wc_comment_list_order' => 'desc',
448
  'wc_comment_list_update_type' => '0',
449
  'wc_comment_list_update_timer' => '30',
450
+ 'wc_comment_editable_time' => '900',
451
  'wc_voting_buttons_show_hide' => '0',
452
  'wc_share_buttons_show_hide' => '0',
453
  'wc_captcha_show_hide' => '0',
464
  'wc_show_hide_comment_checkbox' => '1',
465
  'wc_show_hide_all_reply_checkbox' => '1',
466
  'wc_show_hide_reply_checkbox' => '1',
467
+ 'wc_use_postmatic_for_comment_notification' => '0',
468
  'wc_comment_text_size' => '14px',
469
  'wc_form_bg_color' => '#f9f9f9',
470
  'wc_comment_bg_color' => '#fefefe',
473
  'wc_author_title_color' => '#00B38F',
474
  'wc_vote_reply_color' => '#666666',
475
  'wc_new_loaded_comment_bg_color' => 'rgb(255,250,214)',
476
+ 'wc_custom_css' => '.comments-area{width:auto; margin: 0 auto;}'
477
  );
478
  add_option($this->wc_options_slug, serialize($options));
479
  }
wc-options.php CHANGED
@@ -39,6 +39,7 @@ class WC_Options {
39
  $this->wc_options_serialized->wc_comment_list_order = isset($_POST['wc_comment_list_order']) ? $_POST['wc_comment_list_order'] : 'desc';
40
  $this->wc_options_serialized->wc_comment_list_update_type = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
41
  $this->wc_options_serialized->wc_comment_list_update_timer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
 
42
  $this->wc_options_serialized->wc_voting_buttons_show_hide = isset($_POST['wc_voting_buttons_show_hide']) ? $_POST['wc_voting_buttons_show_hide'] : 0;
43
  $this->wc_options_serialized->wc_share_buttons_show_hide = isset($_POST['wc_share_buttons_show_hide']) ? $_POST['wc_share_buttons_show_hide'] : 0;
44
  $this->wc_options_serialized->wc_captcha_show_hide = isset($_POST['wc_captcha_show_hide']) ? $_POST['wc_captcha_show_hide'] : 0;
@@ -55,6 +56,7 @@ class WC_Options {
55
  $this->wc_options_serialized->wc_show_hide_comment_checkbox = isset($_POST['wc_show_hide_comment_checkbox']) ? $_POST['wc_show_hide_comment_checkbox'] : 0;
56
  $this->wc_options_serialized->wc_show_hide_all_reply_checkbox = isset($_POST['wc_show_hide_all_reply_checkbox']) ? $_POST['wc_show_hide_all_reply_checkbox'] : 0;
57
  $this->wc_options_serialized->wc_show_hide_reply_checkbox = isset($_POST['wc_show_hide_reply_checkbox']) ? $_POST['wc_show_hide_reply_checkbox'] : 0;
 
58
  $this->wc_options_serialized->wc_form_bg_color = isset($_POST['wc_form_bg_color']) ? $_POST['wc_form_bg_color'] : '#f9f9f9';
59
  $this->wc_options_serialized->wc_comment_text_size = isset($_POST['wc_comment_text_size']) ? $_POST['wc_comment_text_size'] : '14px';
60
  $this->wc_options_serialized->wc_comment_bg_color = isset($_POST['wc_comment_bg_color']) ? $_POST['wc_comment_bg_color'] : '#fefefe';
@@ -63,7 +65,7 @@ class WC_Options {
63
  $this->wc_options_serialized->wc_author_title_color = isset($_POST['wc_author_title_color']) ? $_POST['wc_author_title_color'] : '#00B38F';
64
  $this->wc_options_serialized->wc_vote_reply_color = isset($_POST['wc_vote_reply_color']) ? $_POST['wc_vote_reply_color'] : '#666666';
65
  $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)';
66
- $this->wc_options_serialized->wc_custom_css = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width: 100%;margin: 0 auto;}';
67
 
68
  $this->wc_options_serialized->update_options();
69
  }
@@ -199,6 +201,7 @@ class WC_Options {
199
  $this->wc_options_serialized->wc_phrases['wc_captcha_text'] = $_POST['wc_captcha_text'];
200
  $this->wc_options_serialized->wc_phrases['wc_submit_text'] = $_POST['wc_submit_text'];
201
  $this->wc_options_serialized->wc_phrases['wc_manage_subscribtions'] = $_POST['wc_manage_subscribtions'];
 
202
  $this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] = $_POST['wc_notify_on_new_comment'];
203
  $this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] = $_POST['wc_notify_on_all_new_reply'];
204
  $this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] = $_POST['wc_notify_on_new_reply'];
@@ -223,6 +226,10 @@ class WC_Options {
223
  $this->wc_options_serialized->wc_phrases['wc_subscribed_on_post'] = $_POST['wc_subscribed_on_post'];
224
  $this->wc_options_serialized->wc_phrases['wc_unsubscribe'] = $_POST['wc_unsubscribe'];
225
  $this->wc_options_serialized->wc_phrases['wc_unsubscribe_message'] = $_POST['wc_unsubscribe_message'];
 
 
 
 
226
  $this->wc_options_serialized->wc_phrases['wc_error_empty_text'] = $_POST['wc_error_empty_text'];
227
  $this->wc_options_serialized->wc_phrases['wc_error_email_text'] = $_POST['wc_error_email_text'];
228
  $this->wc_options_serialized->wc_phrases['wc_year_text']['datetime'][0] = $_POST['wc_year_text'];
@@ -253,9 +260,13 @@ class WC_Options {
253
  $this->wc_options_serialized->wc_phrases['wc_new_comment_button_text'] = $_POST['wc_new_comment_button_text'];
254
  $this->wc_options_serialized->wc_phrases['wc_new_comments_button_text'] = $_POST['wc_new_comments_button_text'];
255
  $this->wc_options_serialized->wc_phrases['wc_new_reply_button_text'] = $_POST['wc_new_reply_button_text'];
256
- $this->wc_options_serialized->wc_phrases['wc_new_replies_button_text'] = $_POST['wc_new_replies_button_text'];
257
-
258
  $this->wc_options_serialized->wc_phrases['wc_new_comments_text'] = $_POST['wc_new_comments_text'];
 
 
 
 
 
259
 
260
  $this->wc_db_helper->update_phrases($this->wc_options_serialized->wc_phrases);
261
  }
39
  $this->wc_options_serialized->wc_comment_list_order = isset($_POST['wc_comment_list_order']) ? $_POST['wc_comment_list_order'] : 'desc';
40
  $this->wc_options_serialized->wc_comment_list_update_type = isset($_POST['wc_comment_list_update_type']) ? $_POST['wc_comment_list_update_type'] : 0;
41
  $this->wc_options_serialized->wc_comment_list_update_timer = isset($_POST['wc_comment_list_update_timer']) ? $_POST['wc_comment_list_update_timer'] : 30;
42
+ $this->wc_options_serialized->wc_comment_editable_time = isset($_POST['wc_comment_editable_time']) ? $_POST['wc_comment_editable_time'] : 900;
43
  $this->wc_options_serialized->wc_voting_buttons_show_hide = isset($_POST['wc_voting_buttons_show_hide']) ? $_POST['wc_voting_buttons_show_hide'] : 0;
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;
56
  $this->wc_options_serialized->wc_show_hide_comment_checkbox = isset($_POST['wc_show_hide_comment_checkbox']) ? $_POST['wc_show_hide_comment_checkbox'] : 0;
57
  $this->wc_options_serialized->wc_show_hide_all_reply_checkbox = isset($_POST['wc_show_hide_all_reply_checkbox']) ? $_POST['wc_show_hide_all_reply_checkbox'] : 0;
58
  $this->wc_options_serialized->wc_show_hide_reply_checkbox = isset($_POST['wc_show_hide_reply_checkbox']) ? $_POST['wc_show_hide_reply_checkbox'] : 0;
59
+ $this->wc_options_serialized->wc_use_postmatic_for_comment_notification = isset($_POST['wc_use_postmatic_for_comment_notification']) ? $_POST['wc_use_postmatic_for_comment_notification'] : 0;
60
  $this->wc_options_serialized->wc_form_bg_color = isset($_POST['wc_form_bg_color']) ? $_POST['wc_form_bg_color'] : '#f9f9f9';
61
  $this->wc_options_serialized->wc_comment_text_size = isset($_POST['wc_comment_text_size']) ? $_POST['wc_comment_text_size'] : '14px';
62
  $this->wc_options_serialized->wc_comment_bg_color = isset($_POST['wc_comment_bg_color']) ? $_POST['wc_comment_bg_color'] : '#fefefe';
65
  $this->wc_options_serialized->wc_author_title_color = isset($_POST['wc_author_title_color']) ? $_POST['wc_author_title_color'] : '#00B38F';
66
  $this->wc_options_serialized->wc_vote_reply_color = isset($_POST['wc_vote_reply_color']) ? $_POST['wc_vote_reply_color'] : '#666666';
67
  $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)';
68
+ $this->wc_options_serialized->wc_custom_css = isset($_POST['wc_custom_css']) ? $_POST['wc_custom_css'] : '.comments-area{width:auto; margin: 0 auto;}';
69
 
70
  $this->wc_options_serialized->update_options();
71
  }
201
  $this->wc_options_serialized->wc_phrases['wc_captcha_text'] = $_POST['wc_captcha_text'];
202
  $this->wc_options_serialized->wc_phrases['wc_submit_text'] = $_POST['wc_submit_text'];
203
  $this->wc_options_serialized->wc_phrases['wc_manage_subscribtions'] = $_POST['wc_manage_subscribtions'];
204
+ $this->wc_options_serialized->wc_phrases['wc_notify_none'] = $_POST['wc_notify_none'];
205
  $this->wc_options_serialized->wc_phrases['wc_notify_on_new_comment'] = $_POST['wc_notify_on_new_comment'];
206
  $this->wc_options_serialized->wc_phrases['wc_notify_on_all_new_reply'] = $_POST['wc_notify_on_all_new_reply'];
207
  $this->wc_options_serialized->wc_phrases['wc_notify_on_new_reply'] = $_POST['wc_notify_on_new_reply'];
226
  $this->wc_options_serialized->wc_phrases['wc_subscribed_on_post'] = $_POST['wc_subscribed_on_post'];
227
  $this->wc_options_serialized->wc_phrases['wc_unsubscribe'] = $_POST['wc_unsubscribe'];
228
  $this->wc_options_serialized->wc_phrases['wc_unsubscribe_message'] = $_POST['wc_unsubscribe_message'];
229
+ $this->wc_options_serialized->wc_phrases['wc_confirm_email'] = $_POST['wc_confirm_email'];
230
+ $this->wc_options_serialized->wc_phrases['wc_comfirm_success_message'] = $_POST['wc_comfirm_success_message'];
231
+ $this->wc_options_serialized->wc_phrases['wc_confirm_email_subject'] = $_POST['wc_confirm_email_subject'];
232
+ $this->wc_options_serialized->wc_phrases['wc_confirm_email_message'] = $_POST['wc_confirm_email_message'];
233
  $this->wc_options_serialized->wc_phrases['wc_error_empty_text'] = $_POST['wc_error_empty_text'];
234
  $this->wc_options_serialized->wc_phrases['wc_error_email_text'] = $_POST['wc_error_email_text'];
235
  $this->wc_options_serialized->wc_phrases['wc_year_text']['datetime'][0] = $_POST['wc_year_text'];
260
  $this->wc_options_serialized->wc_phrases['wc_new_comment_button_text'] = $_POST['wc_new_comment_button_text'];
261
  $this->wc_options_serialized->wc_phrases['wc_new_comments_button_text'] = $_POST['wc_new_comments_button_text'];
262
  $this->wc_options_serialized->wc_phrases['wc_new_reply_button_text'] = $_POST['wc_new_reply_button_text'];
263
+ $this->wc_options_serialized->wc_phrases['wc_new_replies_button_text'] = $_POST['wc_new_replies_button_text'];
 
264
  $this->wc_options_serialized->wc_phrases['wc_new_comments_text'] = $_POST['wc_new_comments_text'];
265
+ $this->wc_options_serialized->wc_phrases['wc_comment_not_updated'] = $_POST['wc_comment_not_updated'];
266
+ $this->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'] = $_POST['wc_comment_edit_not_possible'];
267
+ $this->wc_options_serialized->wc_phrases['wc_comment_not_edited'] = $_POST['wc_comment_not_edited'];
268
+ $this->wc_options_serialized->wc_phrases['wc_comment_edit_save_button'] = $_POST['wc_comment_edit_save_button'];
269
+ $this->wc_options_serialized->wc_phrases['wc_comment_edit_cancel_button'] = $_POST['wc_comment_edit_cancel_button'];
270
 
271
  $this->wc_db_helper->update_phrases($this->wc_options_serialized->wc_phrases);
272
  }
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.0.9
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/
@@ -32,8 +32,10 @@ class WC_Core {
32
  public static $TEXT_DOMAIN = 'wpdiscuz';
33
  public $post_type;
34
  public $wc_version_slug = 'wc_plugin_version';
 
35
 
36
  function __construct() {
 
37
  add_action('plugins_loaded', array(&$this, 'load_wpdiscuz_text_domain'));
38
  add_action('init', array(&$this, 'init_plugin_dir_name'), 1);
39
 
@@ -73,13 +75,20 @@ class WC_Core {
73
  add_action('wp_ajax_wc_list_new_comments', array(&$this, 'wc_list_new_comments'));
74
  add_action('wp_ajax_nopriv_wc_list_new_comments', array(&$this, 'wc_list_new_comments'));
75
 
 
 
 
 
 
 
 
76
  add_filter('preprocess_comment', array(&$this, 'wc_new_comment'));
77
  add_action('transition_comment_status', array(&$this, 'wc_notify_to_subscriber'), 265, 3);
78
 
79
  $plugin = plugin_basename(__FILE__);
80
  add_filter("plugin_action_links_$plugin", array(&$this, 'wc_add_plugin_settings_link'));
81
 
82
- add_action('wp_head', array(&$this, 'init_current_post_type'));
83
  }
84
 
85
  public function load_wpdiscuz_text_domain() {
@@ -105,6 +114,7 @@ class WC_Core {
105
  add_option($this->wc_version_slug, $wc_plugin_data['Version']);
106
  } else {
107
  update_option($this->wc_version_slug, $wc_plugin_data['Version']);
 
108
  }
109
  }
110
  }
@@ -143,17 +153,17 @@ class WC_Core {
143
 
144
  $commentdata['comment_type'] = isset($commentdata['comment_type']) ? $commentdata['comment_type'] : '';
145
  $comment_post = get_post($commentdata['comment_post_ID']);
146
- if ($comment_post->post_type === 'product' && $commentdata['comment_type'] != 'wpdiscuz') {
147
  $com_parent = $commentdata['comment_parent'];
148
  if ($com_parent != 0) {
149
  $parent_comment = get_comment($com_parent);
150
- if ($parent_comment->comment_type == 'wpdiscuz') {
151
- $commentdata['comment_type'] = 'wpdiscuz';
152
  } else {
153
- $commentdata['comment_type'] = 'wpdiscuz_review';
154
  }
155
  } else {
156
- $commentdata['comment_type'] = 'wpdiscuz_review';
157
  }
158
  }
159
 
@@ -174,39 +184,41 @@ class WC_Core {
174
  * Styles and scripts registration to use on front page
175
  */
176
  public function front_end_styles_scripts() {
177
- $u_agent = $_SERVER['HTTP_USER_AGENT'];
 
178
 
179
- if ($this->wc_options->wc_options_serialized->wc_comment_list_update_type != 0) {
180
- wp_enqueue_script('wc-jquery-ui', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/jquery-ui/jquery-ui.js'), array('jquery'), '1.11.2', false);
181
- }
182
 
183
- if (preg_match('/MSIE/i', $u_agent)) {
184
- wp_enqueue_script('wc-html5-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/js/html5.js'), array('jquery'), '1.2', false);
185
 
186
- wp_register_style('modal-css-ie', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/modal-box/modal-box-ie.css'));
187
- wp_enqueue_style('modal-css-ie');
188
- }
189
 
190
- wp_register_style('modal-box-css', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/modal-box/modal-box.css'));
191
- wp_enqueue_style('modal-box-css');
192
 
193
- wp_enqueue_script('form-validator-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/validator.js'), array('jquery'), '1.0.0', false);
194
 
195
- wp_register_style('validator-style', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/css/fv.css'));
196
- wp_enqueue_style('validator-style');
197
 
198
- wp_enqueue_script('wc-ajax-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/wc-ajax.js'), array('jquery'), get_option($this->wc_version_slug), false);
199
- wp_localize_script('wc-ajax-js', 'wc_ajax_obj', array('url' => admin_url('admin-ajax.php')));
200
 
201
- wp_enqueue_script('wc-cookie-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/jquery.cookie.js'), array('jquery'), '1.4.1', false);
202
 
203
- wp_register_style('wc-tooltipster-style', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/css/tooltipster.css'));
204
- wp_enqueue_style('wc-tooltipster-style');
205
 
206
- wp_enqueue_script('wc-tooltipster-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/js/jquery.tooltipster.min.js'), array('jquery'), '1.2', false);
207
 
208
- wp_enqueue_script('autogrowtextarea-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
209
- wp_enqueue_script('wc-frontend-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/wc-frontend.js'), array('jquery'));
 
210
  }
211
 
212
  /**
@@ -290,8 +302,6 @@ class WC_Core {
290
  'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
291
  ));
292
 
293
- $comment = $this->wc_helper->make_clickable($comment);
294
-
295
  if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment && filter_var($comment_post_ID)) {
296
 
297
  $held_moderate = 1;
@@ -299,15 +309,19 @@ class WC_Core {
299
  $held_moderate = 0;
300
  }
301
 
 
 
302
  $new_commentdata = array(
303
  'user_id' => $user_id,
304
- 'comment_post_ID' => $comment_post_ID,
305
  'comment_parent' => $comment_parent,
306
- 'comment_author' => $name,
307
- 'comment_author_email' => $email,
308
- 'comment_content' => $comment,
309
- 'comment_author_url' => $user_url,
310
- 'comment_approved' => $held_moderate
 
 
311
  );
312
  if (!$held_moderate) {
313
  $new_comment_id = wp_new_comment($new_commentdata);
@@ -316,20 +330,29 @@ class WC_Core {
316
  $held_moderate = 1;
317
  }
318
  } else {
 
319
  $new_comment_id = wp_insert_comment($new_commentdata);
320
  }
321
-
322
  if ($notification_type == 'post' && !$this->wc_db_helper->wc_has_post_notification($comment_post_ID, $email)) {
323
- $this->wc_db_helper->wc_add_email_notification($comment_post_ID, $comment_post_ID, $email, 1);
 
 
 
 
 
324
  } else if ($notification_type == 'all_comment' && !$this->wc_db_helper->wc_has_all_comments_notification($comment_post_ID, $email)) {
325
- $this->wc_db_helper->wc_add_email_notification($comment_post_ID, $comment_post_ID, $email, 2);
326
  } else if ($notification_type == 'reply' && !$this->wc_db_helper->wc_has_comment_notification($comment_post_ID, $new_comment_id, $email)) {
327
- $this->wc_db_helper->wc_add_email_notification($new_comment_id, $comment_post_ID, $email, 3);
328
  }
329
 
330
- $new_comment = new WC_Comment(get_comment($new_comment_id, OBJECT));
 
 
331
 
332
- if (!$held_moderate) {
 
333
  $message_array['code'] = -2;
334
  $message_array['message'] = $this->wc_options->wc_options_serialized->wc_phrases['wc_held_for_moderate'];
335
  } else {
@@ -764,7 +787,7 @@ class WC_Core {
764
 
765
  public function init_current_post_type() {
766
  global $post;
767
- if (in_array($post->post_type, $this->wc_options->wc_options_serialized->wc_post_types)) {
768
  add_filter('comments_template', array(&$this, 'remove_comments_template_on_pages'), 1);
769
  }
770
  }
@@ -844,6 +867,33 @@ class WC_Core {
844
  }
845
  }
846
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
847
  /**
848
  * send email
849
  */
@@ -863,8 +913,10 @@ class WC_Core {
863
  $message .= "<br/><br/>$wc_new_comment_content";
864
  $message .= "<br/><br/><a href='$unsubscribe_url'>" . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . "</a>";
865
  $headers = array();
866
- $headers[] = "Content-Type: text/html; charset=UTF-8";
867
- $headers[] = "From: " . get_bloginfo('name') . "\r\n";
 
 
868
  wp_mail($email_data['email'], $subject, $message, $headers);
869
  }
870
 
@@ -899,6 +951,79 @@ class WC_Core {
899
  return $links;
900
  }
901
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
902
  }
903
 
904
  $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.1.0
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/
32
  public static $TEXT_DOMAIN = 'wpdiscuz';
33
  public $post_type;
34
  public $wc_version_slug = 'wc_plugin_version';
35
+ public $wc_user_agent = '';
36
 
37
  function __construct() {
38
+ $this->wc_user_agent = $_SERVER['HTTP_USER_AGENT'];
39
  add_action('plugins_loaded', array(&$this, 'load_wpdiscuz_text_domain'));
40
  add_action('init', array(&$this, 'init_plugin_dir_name'), 1);
41
 
75
  add_action('wp_ajax_wc_list_new_comments', array(&$this, 'wc_list_new_comments'));
76
  add_action('wp_ajax_nopriv_wc_list_new_comments', array(&$this, 'wc_list_new_comments'));
77
 
78
+ if ($this->wc_options->wc_options_serialized->wc_comment_editable_time) {
79
+ add_action('wp_ajax_wc_get_editable_comment_content', array(&$this, 'wc_get_editable_comment_content'));
80
+ add_action('wp_ajax_nopriv_wc_get_editable_comment_content', array(&$this, 'wc_get_editable_comment_content'));
81
+ add_action('wp_ajax_wc_save_edited_comment', array(&$this, 'wc_save_edited_comment'));
82
+ add_action('wp_ajax_nopriv_wc_save_edited_comment', array(&$this, 'wc_save_edited_comment'));
83
+ }
84
+
85
  add_filter('preprocess_comment', array(&$this, 'wc_new_comment'));
86
  add_action('transition_comment_status', array(&$this, 'wc_notify_to_subscriber'), 265, 3);
87
 
88
  $plugin = plugin_basename(__FILE__);
89
  add_filter("plugin_action_links_$plugin", array(&$this, 'wc_add_plugin_settings_link'));
90
 
91
+ add_action('wp_head', array(&$this, 'init_current_post_type'));
92
  }
93
 
94
  public function load_wpdiscuz_text_domain() {
114
  add_option($this->wc_version_slug, $wc_plugin_data['Version']);
115
  } else {
116
  update_option($this->wc_version_slug, $wc_plugin_data['Version']);
117
+ $this->wc_db_helper->wc_modification_notify_table();
118
  }
119
  }
120
  }
153
 
154
  $commentdata['comment_type'] = isset($commentdata['comment_type']) ? $commentdata['comment_type'] : '';
155
  $comment_post = get_post($commentdata['comment_post_ID']);
156
+ if ($comment_post->post_type === 'product' && $commentdata['comment_type'] != 'woodiscuz') {
157
  $com_parent = $commentdata['comment_parent'];
158
  if ($com_parent != 0) {
159
  $parent_comment = get_comment($com_parent);
160
+ if ($parent_comment->comment_type == 'woodiscuz') {
161
+ $commentdata['comment_type'] = 'woodiscuz';
162
  } else {
163
+ $commentdata['comment_type'] = 'woodiscuz_review';
164
  }
165
  } else {
166
+ $commentdata['comment_type'] = 'woodiscuz_review';
167
  }
168
  }
169
 
184
  * Styles and scripts registration to use on front page
185
  */
186
  public function front_end_styles_scripts() {
187
+ if (is_singular()) {
188
+ $u_agent = $_SERVER['HTTP_USER_AGENT'];
189
 
190
+ if ($this->wc_options->wc_options_serialized->wc_comment_list_update_type != 0) {
191
+ wp_enqueue_script('wc-jquery-ui', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/jquery-ui/jquery-ui.js'), array('jquery'), '1.11.2', false);
192
+ }
193
 
194
+ if (preg_match('/MSIE/i', $u_agent)) {
195
+ wp_enqueue_script('wc-html5-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/js/html5.js'), array('jquery'), '1.2', false);
196
 
197
+ wp_register_style('modal-css-ie', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/modal-box/modal-box-ie.css'));
198
+ wp_enqueue_style('modal-css-ie');
199
+ }
200
 
201
+ wp_register_style('modal-box-css', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/modal-box/modal-box.css'));
202
+ wp_enqueue_style('modal-box-css');
203
 
204
+ wp_enqueue_script('form-validator-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/validator.js'), array('jquery'), '1.0.0', false);
205
 
206
+ wp_register_style('validator-style', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/css/fv.css'));
207
+ wp_enqueue_style('validator-style');
208
 
209
+ wp_enqueue_script('wc-ajax-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/wc-ajax.js'), array('jquery'), get_option($this->wc_version_slug), false);
210
+ wp_localize_script('wc-ajax-js', 'wc_ajax_obj', array('url' => admin_url('admin-ajax.php')));
211
 
212
+ wp_enqueue_script('wc-cookie-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/jquery.cookie.js'), array('jquery'), '1.4.1', false);
213
 
214
+ wp_register_style('wc-tooltipster-style', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/css/tooltipster.css'));
215
+ wp_enqueue_style('wc-tooltipster-style');
216
 
217
+ wp_enqueue_script('wc-tooltipster-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/third-party/tooltipster/js/jquery.tooltipster.min.js'), array('jquery'), '1.2', false);
218
 
219
+ wp_enqueue_script('autogrowtextarea-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/jquery.autogrowtextarea.min.js'), array('jquery'), '3.0', false);
220
+ wp_enqueue_script('wc-frontend-js', plugins_url(WC_Core::$PLUGIN_DIRECTORY . '/files/js/wc-frontend.js'), array('jquery'));
221
+ }
222
  }
223
 
224
  /**
302
  'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
303
  ));
304
 
 
 
305
  if ($name && filter_var($email, FILTER_VALIDATE_EMAIL) && $comment && filter_var($comment_post_ID)) {
306
 
307
  $held_moderate = 1;
309
  $held_moderate = 0;
310
  }
311
 
312
+ $author_ip = WC_Helper::get_real_ip_addr();
313
+
314
  $new_commentdata = array(
315
  'user_id' => $user_id,
316
+ 'comment_post_ID' => apply_filters('pre_user_id', $comment_post_ID),
317
  'comment_parent' => $comment_parent,
318
+ 'comment_author' => apply_filters('pre_comment_author_name', $name),
319
+ 'comment_author_email' => apply_filters('pre_comment_author_email', $email),
320
+ 'comment_content' => apply_filters('pre_comment_content', $comment),
321
+ 'comment_author_url' => apply_filters('pre_comment_author_url', $user_url),
322
+ 'comment_author_IP' => apply_filters('pre_comment_user_ip', $author_ip),
323
+ 'comment_approved' => $held_moderate,
324
+ 'comment_agent' => apply_filters('pre_comment_user_agent', $this->wc_user_agent)
325
  );
326
  if (!$held_moderate) {
327
  $new_comment_id = wp_new_comment($new_commentdata);
330
  $held_moderate = 1;
331
  }
332
  } else {
333
+ $new_commentdata['comment_approved'] = wp_blacklist_check($new_commentdata['comment_author'], $new_commentdata['comment_author_email'], $new_commentdata['comment_author_url'], $new_commentdata['comment_content'], $new_commentdata['comment_author_IP'], $new_commentdata['comment_agent']) ? 'spam' : $held_moderate;
334
  $new_comment_id = wp_insert_comment($new_commentdata);
335
  }
336
+ $wp_notification_inserted_id = 0;
337
  if ($notification_type == 'post' && !$this->wc_db_helper->wc_has_post_notification($comment_post_ID, $email)) {
338
+ if (class_exists('Prompt_Comment_Form_Handling') && $this->wc_options->wc_options_serialized->wc_use_postmatic_for_comment_notification) {
339
+ $_POST[Prompt_Comment_Form_Handling::SUBSCRIBE_CHECKBOX_NAME] = 1;
340
+ Prompt_Comment_Form_Handling::handle_form($new_comment_id, $held_moderate);
341
+ } else {
342
+ $wp_notification_inserted_id = $this->wc_db_helper->wc_add_email_notification($comment_post_ID, $comment_post_ID, $email, 1);
343
+ }
344
  } else if ($notification_type == 'all_comment' && !$this->wc_db_helper->wc_has_all_comments_notification($comment_post_ID, $email)) {
345
+ $wp_notification_inserted_id = $this->wc_db_helper->wc_add_email_notification($comment_post_ID, $comment_post_ID, $email, 2);
346
  } else if ($notification_type == 'reply' && !$this->wc_db_helper->wc_has_comment_notification($comment_post_ID, $new_comment_id, $email)) {
347
+ $wp_notification_inserted_id = $this->wc_db_helper->wc_add_email_notification($new_comment_id, $comment_post_ID, $email, 3);
348
  }
349
 
350
+ if ($wp_notification_inserted_id) {
351
+ $this->wc_confirm_email_sender($wp_notification_inserted_id, $email, $comment_post_ID, $new_comment_id, $notification_type);
352
+ }
353
 
354
+ $new_comment = new WC_Comment(get_comment($new_comment_id, OBJECT));
355
+ if (!$held_moderate || $new_commentdata['comment_approved'] === 'spam') {
356
  $message_array['code'] = -2;
357
  $message_array['message'] = $this->wc_options->wc_options_serialized->wc_phrases['wc_held_for_moderate'];
358
  } else {
787
 
788
  public function init_current_post_type() {
789
  global $post;
790
+ if ($post && in_array($post->post_type, $this->wc_options->wc_options_serialized->wc_post_types)) {
791
  add_filter('comments_template', array(&$this, 'remove_comments_template_on_pages'), 1);
792
  }
793
  }
867
  }
868
  }
869
 
870
+ public function wc_confirm_email_sender($subscrib_id, $email, $post_id, $new_comment_id, $subscribtion_type) {
871
+ $curr_post = get_post($post_id);
872
+ $curr_post_author = get_userdata($curr_post->post_author);
873
+ $subject = isset($this->wc_options_serialized->wc_phrases['wc_confirm_email_subject']) ? $this->wc_options_serialized->wc_phrases['wc_confirm_email_subject'] : __('Subscribe Confirmation', WC_Core::$TEXT_DOMAIN);
874
+ $message = isset($this->wc_options_serialized->wc_phrases['wc_confirm_email_message']) ? $this->wc_options_serialized->wc_phrases['wc_confirm_email_message'] : __('Hi, <br/> You just subscribed for new comments on our website. This means you will receive an email when new comments are posted according to subscription option you\'ve chosen. <br/> To activate, click confirm below. If you believe this is an error, ignore this message and we\'ll never bother you again.', WC_Core::$TEXT_DOMAIN);
875
+ if ($email == $curr_post_author->user_email && (get_option('comments_notify') || get_option('moderation_notify'))) {
876
+ return;
877
+ }
878
+ if ($subscribtion_type == 'post' || $subscribtion_type = '') {
879
+ $comment_or_post_subscrib_id = $post_id;
880
+ } else {
881
+ $comment_or_post_subscrib_id = $new_comment_id;
882
+ }
883
+ $confirm_url = $this->wc_db_helper->wc_confirm_link($subscrib_id);
884
+ $unsubscribe_url = $this->wc_db_helper->wc_unsubscribe_link($comment_or_post_subscrib_id, $email, $subscribtion_type);
885
+ $post_permalink = get_permalink($post_id);
886
+ $message .= "<br/><br/><a href='$post_permalink'>$post_permalink</a>";
887
+ $message .= "<br/><br/><a href='$confirm_url'>" . $this->wc_options->wc_options_serialized->wc_phrases['wc_confirm_email'] . "</a>";
888
+ $message .= "<br/><br/><a href='$unsubscribe_url'>" . $this->wc_options->wc_options_serialized->wc_phrases['wc_ignore_subscription'] . "</a>";
889
+ $headers = array();
890
+ $content_type = apply_filters('wp_mail_content_type', 'text/html');
891
+ $from_name = apply_filters('wp_mail_from_name', get_bloginfo('name'));
892
+ $headers[] = "Content-Type: $content_type; charset=UTF-8";
893
+ $headers[] = "From: " . $from_name . "\r\n";
894
+ wp_mail($email, $subject, $message, $headers);
895
+ }
896
+
897
  /**
898
  * send email
899
  */
913
  $message .= "<br/><br/>$wc_new_comment_content";
914
  $message .= "<br/><br/><a href='$unsubscribe_url'>" . $this->wc_options->wc_options_serialized->wc_phrases['wc_unsubscribe'] . "</a>";
915
  $headers = array();
916
+ $content_type = apply_filters('wp_mail_content_type', 'text/html');
917
+ $from_name = apply_filters('wp_mail_from_name', get_bloginfo('name'));
918
+ $headers[] = "Content-Type: $content_type; charset=UTF-8";
919
+ $headers[] = "From: " . $from_name . "\r\n";
920
  wp_mail($email_data['email'], $subject, $message, $headers);
921
  }
922
 
951
  return $links;
952
  }
953
 
954
+ /**
955
+ * get comment text from db
956
+ */
957
+ public function wc_get_editable_comment_content() {
958
+ $message_array = array();
959
+ $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
960
+ if ($comment_ID) {
961
+ $comment = get_comment($comment_ID);
962
+ if ($this->wc_helper->is_comment_editable($comment)) {
963
+ $message_array['code'] = 1;
964
+ $message_array['message'] = $comment->comment_content;
965
+ } else {
966
+ $message_array['code'] = -1;
967
+ $message_array['phrase_message'] = $this->wc_options->wc_options_serialized->wc_phrases['wc_comment_edit_not_possible'];
968
+ }
969
+ }
970
+ echo json_encode($message_array);
971
+ exit();
972
+ }
973
+
974
+ /**
975
+ * save edited comment via ajax
976
+ */
977
+ public function wc_save_edited_comment() {
978
+ $message_array = array();
979
+ $comment_ID = intval(filter_input(INPUT_POST, 'comment_id'));
980
+ $comment_content = filter_input(INPUT_POST, 'comment_content');
981
+ $comment_depth = intval(filter_input(INPUT_POST, 'comment_depth'));
982
+ $comment = get_comment($comment_ID);
983
+
984
+ $trimmed_comment_content = trim($comment_content);
985
+ // Change messages in next version - shoud be diff. messages for each specific error
986
+ if ($trimmed_comment_content) {
987
+ if ($trimmed_comment_content != $comment->comment_content) {
988
+ $comment_content = wp_kses($comment_content, array(
989
+ 'br' => array(),
990
+ 'a' => array('href' => array(), 'title' => array()),
991
+ 'i' => array(),
992
+ 'b' => array(),
993
+ 'u' => array(),
994
+ 'strong' => array(),
995
+ 'p' => array(),
996
+ 'img' => array('src' => array(), 'width' => array(), 'height' => array(), 'alt' => array())
997
+ ));
998
+
999
+ $author_ip = WC_Helper::get_real_ip_addr();
1000
+ $this->wc_user_agent = $_SERVER['HTTP_USER_AGENT'];
1001
+ $commentarr = array(
1002
+ 'comment_ID' => $comment_ID,
1003
+ 'comment_content' => apply_filters('pre_comment_content', $comment_content),
1004
+ 'comment_author_IP' => apply_filters('pre_comment_user_ip', $author_ip),
1005
+ 'comment_agent' => apply_filters('pre_comment_user_agent', $this->wc_user_agent),
1006
+ 'comment_approved' => $comment->comment_approved
1007
+ );
1008
+ $wc_comment_updated = wp_update_comment($commentarr);
1009
+ $edited_comment = new WC_Comment(get_comment($comment_ID, OBJECT));
1010
+ if ($wc_comment_updated) {
1011
+ $message_array['code'] = 1;
1012
+ $message_array['message'] = $this->comment_tpl_builder->get_comment_template($edited_comment, null, $comment_depth);
1013
+ } else {
1014
+ $message_array['code'] = -1;
1015
+ $message_array['phrase_message'] = $this->wc_options->wc_options_serialized->wc_phrases['wc_comment_not_updated'];
1016
+ }
1017
+ } else {
1018
+ $message_array['code'] = -2;
1019
+ $message_array['phrase_message'] = $this->wc_options->wc_options_serialized->wc_phrases['wc_comment_not_edited'];
1020
+ }
1021
+ }
1022
+
1023
+ echo json_encode($message_array);
1024
+ exit;
1025
+ }
1026
+
1027
  }
1028
 
1029
  $wc_core = new WC_Core();