wpForo Forum - Version 1.9.8

Version Description

Download this release

Release Info

Developer Tomdever
Plugin Icon 128x128 wpForo Forum
Version 1.9.8
Comparing to
See all releases

Code changes from version 1.9.7 to 1.9.8

Files changed (57) hide show
  1. readme.txt +27 -9
  2. wpf-admin/dashboard.php +24 -24
  3. wpf-admin/tools-tabs/debug.php +3 -3
  4. wpf-admin/xml/english.xml +1 -1
  5. wpf-assets/addons/giphy/header-off.png +0 -0
  6. wpf-assets/addons/giphy/header.png +0 -0
  7. wpf-assets/addons/prefix/header-off.png +0 -0
  8. wpf-assets/addons/tenor/header-off.png +0 -0
  9. wpf-assets/addons/tenor/header.png +0 -0
  10. wpf-assets/js/ajax.js +1 -1
  11. wpf-assets/js/frontend.js +21 -14
  12. wpf-assets/js/tinymce-link.js +4 -4
  13. wpf-includes/class-activity.php +2 -2
  14. wpf-includes/class-forums.php +9 -8
  15. wpf-includes/class-posts.php +3 -2
  16. wpf-includes/class-template.php +17 -7
  17. wpf-includes/functions-template.php +2 -2
  18. wpf-includes/functions.php +31 -15
  19. wpf-includes/integration/buddypress.php +3 -1
  20. wpf-includes/wpf-hooks.php +25 -18
  21. wpf-includes/wpf-phrases.php +1 -1
  22. wpf-languages/wpforo-ar.po +1 -1
  23. wpf-languages/wpforo-cs_CZ.po +1 -1
  24. wpf-languages/wpforo-da_DK.po +1 -1
  25. wpf-languages/wpforo-de_DE.po +1 -1
  26. wpf-languages/wpforo-es_ES.po +1 -1
  27. wpf-languages/wpforo-es_MX.po +1 -1
  28. wpf-languages/wpforo-fa_IR.po +1 -1
  29. wpf-languages/wpforo-fr_CA.po +1 -1
  30. wpf-languages/wpforo-fr_FR.po +1 -1
  31. wpf-languages/wpforo-he_IL.po +1 -1
  32. wpf-languages/wpforo-hr.po +1 -1
  33. wpf-languages/wpforo-hu_HU.po +1 -1
  34. wpf-languages/wpforo-it_IT.po +1 -1
  35. wpf-languages/wpforo-ja.po +1 -1
  36. wpf-languages/wpforo-ko_KR.po +1 -1
  37. wpf-languages/wpforo-lt_LT.po +1 -1
  38. wpf-languages/wpforo-nl_NL.po +1 -1
  39. wpf-languages/wpforo-pl_PL.po +1 -1
  40. wpf-languages/wpforo-pt_BR.po +1 -1
  41. wpf-languages/wpforo-ru_RU.po +1 -1
  42. wpf-languages/wpforo-sk_SK.po +1 -1
  43. wpf-languages/wpforo-sv_SE.po +1 -1
  44. wpf-languages/wpforo-tr_TR.po +1 -1
  45. wpf-languages/wpforo-zh_CN.po +1 -1
  46. wpf-languages/wpforo.pot +103 -91
  47. wpf-themes/classic/colors.css +42 -1
  48. wpf-themes/classic/index.php +1 -1
  49. wpf-themes/classic/layouts/1/post.php +1 -1
  50. wpf-themes/classic/layouts/2/post.php +1 -1
  51. wpf-themes/classic/layouts/3/comment.php +2 -3
  52. wpf-themes/classic/layouts/3/post.php +1 -1
  53. wpf-themes/classic/layouts/4/post-thread.php +1 -1
  54. wpf-themes/classic/layouts/4/post.php +1 -1
  55. wpf-themes/classic/style-rtl.css +25 -5
  56. wpf-themes/classic/style.css +22 -22
  57. wpforo.php +64 -51
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 5.7
6
- Stable tag: 1.9.7
7
  Requires PHP: 5.6 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -165,6 +165,32 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
165
 
166
  == Changelog ==
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  = wpForo Forum 1.9.7 | 11.06.2021 =
169
 
170
  [wpForo Forum v1.9.7 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-9-7-is-released/)
@@ -193,14 +219,6 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
193
  * Fixed Bug: Reduced DB queries and some duplicated SQLs are removed
194
 
195
 
196
- IMPORTANT NOTES for UPDATE
197
-
198
- - After the update, please delete all caches.
199
- - If you have a Minifier/Optimizer plugins please delete all caches.
200
- - If you use CDN and found some issues please purge it.
201
- - Some JS and CSS files are changed, please refresh (press Ctrl+F5, on Mac CMD+Alt+E) on forum front-end twice to reset browser cache, otherwise you'll see crashed design.
202
-
203
-
204
  = wpForo Forum 1.9.6 | 12.03.2021 =
205
 
206
  [wpForo Forum v1.9.6 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-9-6-is-released/)
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 5.7
6
+ Stable tag: 1.9.8
7
  Requires PHP: 5.6 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
165
 
166
  == Changelog ==
167
 
168
+ = wpForo Forum 1.9.8 | 13.07.2021 =
169
+
170
+ [wpForo Forum v1.9.8 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-9-8-is-released/)
171
+
172
+ * Fixed Bug: Missing subforums on forum list (Threaded Layout)
173
+ * Fixed Bug: Missing forums and subforums in forum dropdown menu
174
+ * Fixed Bug: PHP Notice: Trying to access array offset on value of null
175
+ * Fixed Bug: Inserting nickname in reply box if the mentioning is disabled
176
+ * Fixed Bug: Filtered unused shortcodes in BuddyPress activities
177
+ * Fixed Bug: Problem with searching topics by topic custom fields
178
+ * Fixed Bug: Load More Comments button doesn't work in Q&A forum layout
179
+ * Fixed Bug: 404 error when changing the language with Polylang Plugin
180
+ * Fixed Bug: Forum search button is not clickable (required fields issue)
181
+ * Fixed Bug: Member search button is not clickable (required fields issue)
182
+ * Fixed Bug: Tab specific breadcrumb for profile custom tabs (for UCF addon)
183
+ * New Addon: [wpForo - GIPHY Integration](https://gvectors.com/product/wpforo-giphy/)
184
+ * New Addon: [wpForo - Tenor GIFs Integration](https://gvectors.com/product/wpforo-tenor/)
185
+
186
+ IMPORTANT NOTES for UPDATE
187
+
188
+ - After the update, please delete all caches.
189
+ - If you have a Minifier/Optimizer plugins please delete all caches.
190
+ - If you use CDN and found some issues please purge it.
191
+ - Some JS and CSS files are changed, please refresh (press Ctrl+F5, on Mac CMD+Alt+E) on forum front-end twice to reset browser cache, otherwise you'll see crashed design.
192
+
193
+
194
  = wpForo Forum 1.9.7 | 11.06.2021 =
195
 
196
  [wpForo Forum v1.9.7 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-9-7-is-released/)
219
  * Fixed Bug: Reduced DB queries and some duplicated SQLs are removed
220
 
221
 
 
 
 
 
 
 
 
 
222
  = wpForo Forum 1.9.6 | 12.03.2021 =
223
 
224
  [wpForo Forum v1.9.6 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-9-6-is-released/)
wpf-admin/dashboard.php CHANGED
@@ -6,15 +6,15 @@
6
  <div id="wpf-admin-wrap" class="wrap">
7
  <h1 style="padding:30px 0 10px;"><?php _e('wpForo Dashboard', 'wpforo'); ?></h1>
8
  <?php WPF()->notice->show() ?>
9
-
10
-
11
  <div id="dashboard-widgets-wrap" style="padding-top:10px;">
12
  <div class="metabox-holder" id="dashboard-widgets">
13
-
14
-
15
  <div class="postbox-container" id="postbox-container-0" style="width:100%;">
16
  <div class="wpf-box-wrap" style="min-height:60px;">
17
-
18
  <div class="postbox" id="wpforo_dashboard_widget_0">
19
  <div class="inside">
20
  <div class="main" style="padding:5px 15px 15px 15px;">
@@ -36,14 +36,14 @@
36
  </div>
37
  </div>
38
  </div><!-- widget / postbox -->
39
-
40
  </div>
41
  </div>
42
-
43
  <?php if(current_user_can('administrator') || current_user_can('editor') || current_user_can('author') ): ?>
44
  <div class="postbox-container" id="postbox-container-1">
45
  <div class="wpf-box-wrap">
46
-
47
  <div class="postbox" id="wpforo_dashboard_widget_1">
48
  <h2 class="wpf-box-header"><span><?php _e('General Information', 'wpforo'); ?></span></h2>
49
  <div class="inside">
@@ -57,7 +57,7 @@
57
  </div>
58
  </div>
59
  </div><!-- widget / postbox -->
60
-
61
  <div class="postbox" id="wpforo_dashboard_widget_server">
62
  <h2 class="wpf-box-header"><span><?php _e('Server Information', 'wpforo'); ?></span></h2>
63
  <div class="inside">
@@ -77,7 +77,7 @@
77
  </tr>
78
  <tr class="wpf-dw-tr">
79
  <td class="wpf-dw-td">MySQL Version</td>
80
- <td class="wpf-dw-td-value"><?php echo WPF()->db->db_server_info(); ?></td>
81
  </tr>
82
  <tr class="wpf-dw-tr">
83
  <td class="wpf-dw-td">PHP Max Post Size</td>
@@ -101,15 +101,15 @@
101
  </div>
102
  </div>
103
  </div><!-- widget / postbox -->
104
-
105
  <?php do_action('wpforo_dashboard_widgets_col1'); ?>
106
-
107
  </div><!-- normal-sortables -->
108
  </div><!-- wpforo_postbox_container -->
109
-
110
  <div class="postbox-container" id="postbox-container-2">
111
  <div class="wpf-box-wrap">
112
-
113
  <div class="postbox" id="wpforo_dashboard_widget_statistic">
114
  <h2 class="wpf-box-header"><span><?php _e('Board Statistic', 'wpforo'); ?></span></h2>
115
  <div class="inside">
@@ -136,11 +136,11 @@
136
  <td class="wpf-dw-td"><?php _e('Members Online', 'wpforo'); ?></td>
137
  <td class="wpf-dw-td-value"><?php echo intval($statistic['online_members_count']) ?></td>
138
  </tr>
139
- <?php
140
  $size_da = 0; $size_aa = 0;
141
  $upload_dir = wp_upload_dir();
142
- if( is_dir( $upload_dir['basedir'] . '/wpforo/avatars/') ) $size_avatar = wpforo_dir_size( $upload_dir['basedir'] . '/wpforo/avatars' );
143
- if( is_dir( $upload_dir['basedir'] . '/wpforo/default_attachments/') ) $size_da = wpforo_dir_size( $upload_dir['basedir'] . '/wpforo/default_attachments' );
144
  ?>
145
  <tr class="wpf-dw-tr">
146
  <td class="wpf-dw-td"><?php _e('Avatars Size', 'wpforo'); ?></td>
@@ -202,28 +202,28 @@
202
  </td>
203
  </tr>
204
  <?php endif ?>
205
-
206
  </table>
207
  </div>
208
  </div>
209
  </div><!-- widget / postbox -->
210
-
211
  <?php do_action( 'wpforo_dashboard_widgets_col2', WPF() ); ?>
212
-
213
  </div><!-- normal-sortables -->
214
  </div><!-- wpforo_postbox_container -->
215
  <?php endif; ?>
216
-
217
  <div class="postbox-container" id="postbox-container-3">
218
  <div class="wpf-box-wrap">
219
-
220
  <?php do_action( 'wpforo_dashboard_widgets_col3', WPF() ); ?>
221
-
222
  </div><!-- normal-sortables -->
223
  </div><!-- wpforo_postbox_container -->
224
 
225
  </div><!-- dashboard-widgets -->
226
  </div><!-- dashboard-widgets-wrap -->
227
-
228
  </div><!-- wpwrap -->
229
 
6
  <div id="wpf-admin-wrap" class="wrap">
7
  <h1 style="padding:30px 0 10px;"><?php _e('wpForo Dashboard', 'wpforo'); ?></h1>
8
  <?php WPF()->notice->show() ?>
9
+
10
+
11
  <div id="dashboard-widgets-wrap" style="padding-top:10px;">
12
  <div class="metabox-holder" id="dashboard-widgets">
13
+
14
+
15
  <div class="postbox-container" id="postbox-container-0" style="width:100%;">
16
  <div class="wpf-box-wrap" style="min-height:60px;">
17
+
18
  <div class="postbox" id="wpforo_dashboard_widget_0">
19
  <div class="inside">
20
  <div class="main" style="padding:5px 15px 15px 15px;">
36
  </div>
37
  </div>
38
  </div><!-- widget / postbox -->
39
+
40
  </div>
41
  </div>
42
+
43
  <?php if(current_user_can('administrator') || current_user_can('editor') || current_user_can('author') ): ?>
44
  <div class="postbox-container" id="postbox-container-1">
45
  <div class="wpf-box-wrap">
46
+
47
  <div class="postbox" id="wpforo_dashboard_widget_1">
48
  <h2 class="wpf-box-header"><span><?php _e('General Information', 'wpforo'); ?></span></h2>
49
  <div class="inside">
57
  </div>
58
  </div>
59
  </div><!-- widget / postbox -->
60
+
61
  <div class="postbox" id="wpforo_dashboard_widget_server">
62
  <h2 class="wpf-box-header"><span><?php _e('Server Information', 'wpforo'); ?></span></h2>
63
  <div class="inside">
77
  </tr>
78
  <tr class="wpf-dw-tr">
79
  <td class="wpf-dw-td">MySQL Version</td>
80
+ <td class="wpf-dw-td-value"><?php echo WPF()->db->get_var( "SELECT VERSION()" ); ?></td>
81
  </tr>
82
  <tr class="wpf-dw-tr">
83
  <td class="wpf-dw-td">PHP Max Post Size</td>
101
  </div>
102
  </div>
103
  </div><!-- widget / postbox -->
104
+
105
  <?php do_action('wpforo_dashboard_widgets_col1'); ?>
106
+
107
  </div><!-- normal-sortables -->
108
  </div><!-- wpforo_postbox_container -->
109
+
110
  <div class="postbox-container" id="postbox-container-2">
111
  <div class="wpf-box-wrap">
112
+
113
  <div class="postbox" id="wpforo_dashboard_widget_statistic">
114
  <h2 class="wpf-box-header"><span><?php _e('Board Statistic', 'wpforo'); ?></span></h2>
115
  <div class="inside">
136
  <td class="wpf-dw-td"><?php _e('Members Online', 'wpforo'); ?></td>
137
  <td class="wpf-dw-td-value"><?php echo intval($statistic['online_members_count']) ?></td>
138
  </tr>
139
+ <?php
140
  $size_da = 0; $size_aa = 0;
141
  $upload_dir = wp_upload_dir();
142
+ if( is_dir( $upload_dir['basedir'] . '/wpforo/avatars/') ) $size_avatar = wpforo_dir_size( $upload_dir['basedir'] . '/wpforo/avatars' );
143
+ if( is_dir( $upload_dir['basedir'] . '/wpforo/default_attachments/') ) $size_da = wpforo_dir_size( $upload_dir['basedir'] . '/wpforo/default_attachments' );
144
  ?>
145
  <tr class="wpf-dw-tr">
146
  <td class="wpf-dw-td"><?php _e('Avatars Size', 'wpforo'); ?></td>
202
  </td>
203
  </tr>
204
  <?php endif ?>
205
+
206
  </table>
207
  </div>
208
  </div>
209
  </div><!-- widget / postbox -->
210
+
211
  <?php do_action( 'wpforo_dashboard_widgets_col2', WPF() ); ?>
212
+
213
  </div><!-- normal-sortables -->
214
  </div><!-- wpforo_postbox_container -->
215
  <?php endif; ?>
216
+
217
  <div class="postbox-container" id="postbox-container-3">
218
  <div class="wpf-box-wrap">
219
+
220
  <?php do_action( 'wpforo_dashboard_widgets_col3', WPF() ); ?>
221
+
222
  </div><!-- normal-sortables -->
223
  </div><!-- wpforo_postbox_container -->
224
 
225
  </div><!-- dashboard-widgets -->
226
  </div><!-- dashboard-widgets-wrap -->
227
+
228
  </div><!-- wpwrap -->
229
 
wpf-admin/tools-tabs/debug.php CHANGED
@@ -221,7 +221,7 @@
221
  </tr>
222
  <tr class="wpf-dw-tr">
223
  <td class="wpf-dw-td">MySQL Version</td>
224
- <td class="wpf-dw-td-value"><?php echo WPF()->db->db_server_info(); ?></td>
225
  </tr>
226
  <tr class="wpf-dw-tr">
227
  <td class="wpf-dw-td">PHP Max Post Size</td>
@@ -447,7 +447,7 @@ function wpforo_issues(){
447
  $subject = "Email Test";
448
  $message = "This is a mail testing email function on server";
449
  if( !wp_mail($email, $subject, $message) ){
450
- $issues['email']['wp_mail']['level'] = 3;
451
  $issues['email']['wp_mail']['message'] = __('WordPress Email sending function wp_mail() doesn\'t work!', 'wpforo');
452
  $issues['email']['wp_mail']['solution'] = __('In most cases this is a server issue. We recommend you contact to your hosting service support team or open a support topic in wordpress.org support forum. Also there are many good articles regarding this issue in web. For example ', 'wpforo') . ' - <a href="https://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-not-sending-email-issue/">' . __('How to Fix WordPress Not Sending Email Issue', 'wpforo') . '</a>';
453
  }
@@ -500,4 +500,4 @@ function wpforo_read_file_revers( $file ){
500
  echo '<p>' . __('No errors found', 'wpforo') . '</p>';
501
  }
502
 
503
- }
221
  </tr>
222
  <tr class="wpf-dw-tr">
223
  <td class="wpf-dw-td">MySQL Version</td>
224
+ <td class="wpf-dw-td-value"><?php echo WPF()->db->get_var( "SELECT VERSION()" ); ?></td>
225
  </tr>
226
  <tr class="wpf-dw-tr">
227
  <td class="wpf-dw-td">PHP Max Post Size</td>
447
  $subject = "Email Test";
448
  $message = "This is a mail testing email function on server";
449
  if( !wp_mail($email, $subject, $message) ){
450
+ $issues['email']['wp_mail']['level'] = 3;
451
  $issues['email']['wp_mail']['message'] = __('WordPress Email sending function wp_mail() doesn\'t work!', 'wpforo');
452
  $issues['email']['wp_mail']['solution'] = __('In most cases this is a server issue. We recommend you contact to your hosting service support team or open a support topic in wordpress.org support forum. Also there are many good articles regarding this issue in web. For example ', 'wpforo') . ' - <a href="https://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-not-sending-email-issue/">' . __('How to Fix WordPress Not Sending Email Issue', 'wpforo') . '</a>';
453
  }
500
  echo '<p>' . __('No errors found', 'wpforo') . '</p>';
501
  }
502
 
503
+ }
wpf-admin/xml/english.xml CHANGED
@@ -649,7 +649,7 @@
649
  <phrase name="The password reset empty"><![CDATA[The password reset empty]]></phrase>
650
  <phrase name="The password has been changed"><![CDATA[The password has been changed]]></phrase>
651
  <phrase name="Invalid request."><![CDATA[Invalid request.]]></phrase>
652
- <phrase name="You have been banned. Please contact the forum administratoristrators for more information."><![CDATA[You have been banned. Please contact the forum administratoristrators for more information.]]></phrase>
653
  <phrase name="Topic are private, please register or login for further information"><![CDATA[Topic are private, please register or login for further information]]></phrase>
654
  <phrase name="More"><![CDATA[More]]></phrase>
655
  <phrase name="expand to show all comments on this post"><![CDATA[expand to show all comments on this post]]></phrase>
649
  <phrase name="The password reset empty"><![CDATA[The password reset empty]]></phrase>
650
  <phrase name="The password has been changed"><![CDATA[The password has been changed]]></phrase>
651
  <phrase name="Invalid request."><![CDATA[Invalid request.]]></phrase>
652
+ <phrase name="You have been banned. Please contact the forum administrator for more information."><![CDATA[You have been banned. Please contact the forum administrator for more information.]]></phrase>
653
  <phrase name="Topic are private, please register or login for further information"><![CDATA[Topic are private, please register or login for further information]]></phrase>
654
  <phrase name="More"><![CDATA[More]]></phrase>
655
  <phrase name="expand to show all comments on this post"><![CDATA[expand to show all comments on this post]]></phrase>
wpf-assets/addons/giphy/header-off.png ADDED
Binary file
wpf-assets/addons/giphy/header.png ADDED
Binary file
wpf-assets/addons/prefix/header-off.png CHANGED
Binary file
wpf-assets/addons/tenor/header-off.png ADDED
Binary file
wpf-assets/addons/tenor/header.png ADDED
Binary file
wpf-assets/js/ajax.js CHANGED
@@ -921,7 +921,7 @@ $wpf(document).ready(function ($) {
921
  }
922
  }).done(function (response) {
923
  if (response.success) {
924
- comments_list.append(response.data.output_html);
925
  $this.remove();
926
  wpforo_load_hide();
927
  }
921
  }
922
  }).done(function (response) {
923
  if (response.success) {
924
+ comments_list.append(response.data['output_html']);
925
  $this.remove();
926
  wpforo_load_hide();
927
  }
wpf-assets/js/frontend.js CHANGED
@@ -1,6 +1,9 @@
1
  /* global wpforo */
2
  var $wpf = Object.assign(window.jQuery);
3
 
 
 
 
4
  $wpf.fn.extend({
5
  visible: function() {
6
  return this.css('visibility', 'visible');
@@ -20,23 +23,23 @@ $wpf.fn.extend({
20
  return this.each(function () {
21
  if (document.selection) {
22
  //For browsers like Internet Explorer
23
- this.trigger("focus");
24
  var sel = document.selection.createRange();
25
  sel.text = myValue;
26
- this.trigger("focus");
27
  } else if ( this.selectionStart || this.selectionStart === 0 ) {
28
  //For browsers like Firefox and Webkit based
29
  var startPos = this.selectionStart;
30
  var endPos = this.selectionEnd;
31
  var scrollTop = this.scrollTop;
32
  this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
33
- this.trigger("focus");
34
  this.selectionStart = startPos + myValue.length;
35
  this.selectionEnd = startPos + myValue.length;
36
  this.scrollTop = scrollTop;
37
  } else {
38
  this.value += myValue;
39
- this.trigger("focus");
40
  }
41
  });
42
  }
@@ -113,6 +116,9 @@ function wpforo_tinymce_initializeIt(selector, do_not_focus) {
113
  }
114
 
115
  function wpforo_tinymce_setup(editor) {
 
 
 
116
  editor.on('focus', function(e) {
117
  wpforo_trigger_custom_event(document,'wpforo_tinymce_focus', e);
118
  wpforo_editor.set_active(editor.id);
@@ -362,7 +368,8 @@ function wpforo_dialog_show(title, content, w, h){
362
  var dialog_body = $wpf("#wpforo-dialog-body", dialog);
363
  dialog_body.children().appendTo('#wpforo-dialog-backups');
364
  dialog_body.empty();
365
- if( content instanceof $wpf){
 
366
  content.appendTo(dialog_body);
367
  content.show();
368
  content.css('visibility', 'visible');
@@ -542,7 +549,7 @@ $wpf(document).ready(function($){
542
  * disable form elements for 10 seconds
543
  */
544
  window.wpforo_prev_submit_time = 0;
545
- wpforo_wrap.on('submit', 'form', function () {
546
  if( window.wpforo_prev_submit_time ){
547
  if( Date.now() - window.wpforo_prev_submit_time < 10000 ) return false;
548
  }else{
@@ -565,6 +572,8 @@ $wpf(document).ready(function($){
565
  }
566
  }
567
  }
 
 
568
  }
569
 
570
  wpforo_load_show();
@@ -721,7 +730,7 @@ $wpf(document).ready(function($){
721
  var userid = parseInt( post_wrap.data('userid') );
722
  var mention = post_wrap.data('mention');
723
  var isowner = parseInt( post_wrap.data('isowner') );
724
- var content = ( !isowner && userid && mention ? '@' + mention + "&nbsp;" : '' );
725
 
726
  wpforo_editor.set_content( content, wpforo_editor.get_main() );
727
 
@@ -749,7 +758,7 @@ $wpf(document).ready(function($){
749
  var userid = parseInt( post_wrap.data('userid') );
750
  var mention = post_wrap.data('mention');
751
  var isowner = parseInt( post_wrap.data('isowner') );
752
- var content = ( !isowner && userid && mention ? '@' + mention + "&nbsp;" : '' );
753
 
754
  wpforo_editor.set_content( content, wpforo_editor.get_main() );
755
 
@@ -786,12 +795,10 @@ $wpf(document).ready(function($){
786
  textarea.trigger("focus");
787
  }
788
 
789
- var comment_wrap = $(this).closest('[id^=post-][data-postid]');
790
-
791
- var userid = parseInt( comment_wrap.data('userid') );
792
- var mention = comment_wrap.data('mention');
793
- var isowner = parseInt( comment_wrap.data('isowner') );
794
- var content = ( !isowner && userid && mention ? '@' + mention + "&nbsp;" : '' );
795
 
796
  wpforo_editor.set_content( content, textareaid );
797
  });
1
  /* global wpforo */
2
  var $wpf = Object.assign(window.jQuery);
3
 
4
+ // Mute jQuery Migrate Warnings
5
+ $wpf.migrateMute = true;
6
+
7
  $wpf.fn.extend({
8
  visible: function() {
9
  return this.css('visibility', 'visible');
23
  return this.each(function () {
24
  if (document.selection) {
25
  //For browsers like Internet Explorer
26
+ this.focus();
27
  var sel = document.selection.createRange();
28
  sel.text = myValue;
29
+ this.focus();
30
  } else if ( this.selectionStart || this.selectionStart === 0 ) {
31
  //For browsers like Firefox and Webkit based
32
  var startPos = this.selectionStart;
33
  var endPos = this.selectionEnd;
34
  var scrollTop = this.scrollTop;
35
  this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
36
+ this.focus();
37
  this.selectionStart = startPos + myValue.length;
38
  this.selectionEnd = startPos + myValue.length;
39
  this.scrollTop = scrollTop;
40
  } else {
41
  this.value += myValue;
42
+ this.focus();
43
  }
44
  });
45
  }
116
  }
117
 
118
  function wpforo_tinymce_setup(editor) {
119
+ editor.on('init', function(e) {
120
+ wpforo_trigger_custom_event(document,'wpforo_tinymce_init', e);
121
+ });
122
  editor.on('focus', function(e) {
123
  wpforo_trigger_custom_event(document,'wpforo_tinymce_focus', e);
124
  wpforo_editor.set_active(editor.id);
368
  var dialog_body = $wpf("#wpforo-dialog-body", dialog);
369
  dialog_body.children().appendTo('#wpforo-dialog-backups');
370
  dialog_body.empty();
371
+ if( content instanceof $wpf || content instanceof Element){
372
+ content = $wpf(content);
373
  content.appendTo(dialog_body);
374
  content.show();
375
  content.css('visibility', 'visible');
549
  * disable form elements for 10 seconds
550
  */
551
  window.wpforo_prev_submit_time = 0;
552
+ wpforo_wrap.on('submit', 'form', function (e) {
553
  if( window.wpforo_prev_submit_time ){
554
  if( Date.now() - window.wpforo_prev_submit_time < 10000 ) return false;
555
  }else{
572
  }
573
  }
574
  }
575
+
576
+ wpforo_trigger_custom_event(document, 'wpforo_post_submit', { e, textareaid });
577
  }
578
 
579
  wpforo_load_show();
730
  var userid = parseInt( post_wrap.data('userid') );
731
  var mention = post_wrap.data('mention');
732
  var isowner = parseInt( post_wrap.data('isowner') );
733
+ var content = ( !isowner && userid && mention ? '@' + mention + (wpforo_editor.is_tinymce( wpforo_editor.get_main() ) ? "&nbsp;" : " ") : '' );
734
 
735
  wpforo_editor.set_content( content, wpforo_editor.get_main() );
736
 
758
  var userid = parseInt( post_wrap.data('userid') );
759
  var mention = post_wrap.data('mention');
760
  var isowner = parseInt( post_wrap.data('isowner') );
761
+ var content = ( !isowner && userid && mention ? '@' + mention + (wpforo_editor.is_tinymce( wpforo_editor.get_main() ) ? "&nbsp;" : " ") : '' );
762
 
763
  wpforo_editor.set_content( content, wpforo_editor.get_main() );
764
 
795
  textarea.trigger("focus");
796
  }
797
 
798
+ var userid = parseInt( post_wrap.data('userid') );
799
+ var mention = post_wrap.data('mention');
800
+ var isowner = parseInt( post_wrap.data('isowner') );
801
+ var content = ( !isowner && userid && mention ? '@' + mention + (wpforo_editor.is_tinymce( textareaid ) ? "&nbsp;" : " ") : '' );
 
 
802
 
803
  wpforo_editor.set_content( content, textareaid );
804
  });
wpf-assets/js/tinymce-link.js CHANGED
@@ -160,7 +160,7 @@
160
  }
161
 
162
  if ((value = dom.getAttrib(anchorElm, 'rel'))) {
163
- data.rel = value;
164
  }
165
 
166
  if ((value = dom.getAttrib(anchorElm, 'class'))) {
@@ -206,8 +206,8 @@
206
  if (ed.settings.target_list !== false) {
207
  targetListCtrl = {
208
  name: 'target',
209
- type: 'checkbox',
210
- checked: true,
211
  text: 'Open link in a new tab'
212
  };
213
  }
@@ -295,7 +295,7 @@
295
  function insertLink() {
296
  var linkAttrs = {
297
  href: href,
298
- target: data.target ? data.target : null,
299
  rel: data.rel ? data.rel : null,
300
  "class": data["class"] ? data["class"] : null,
301
  title: data.title ? data.title : null
160
  }
161
 
162
  if ((value = dom.getAttrib(anchorElm, 'rel'))) {
163
+ data.rel = value.replace('noopener', '');
164
  }
165
 
166
  if ((value = dom.getAttrib(anchorElm, 'class'))) {
206
  if (ed.settings.target_list !== false) {
207
  targetListCtrl = {
208
  name: 'target',
209
+ type: 'checkbox',
210
+ checked: data['target'] === undefined || data['target'] !== '_blank',
211
  text: 'Open link in a new tab'
212
  };
213
  }
295
  function insertLink() {
296
  var linkAttrs = {
297
  href: href,
298
+ target: data.target ? '_blank' : null,
299
  rel: data.rel ? data.rel : null,
300
  "class": data["class"] ? data["class"] : null,
301
  title: data.title ? data.title : null
wpf-includes/class-activity.php CHANGED
@@ -503,9 +503,9 @@ class wpForoActivity
503
  $items[ $n['id'] ] = $html['before'];
504
  if ( wpfval( $n, 'itemid_second' ) ) {
505
  $member = wpforo_member( $n['itemid_second'] );
506
- $member_name = $member['display_name'];
507
  } else {
508
- $member_name = ( $n['name'] ) ? $n['name'] : wpforo_phrase( 'Guest', false );
509
  }
510
  if ( strpos( $n['permalink'], '#' ) === false ) {
511
  $n['permalink'] = wp_nonce_url( $n['permalink'] . '?_nread=' . $n['id'], 'wpforo_mark_notification_read', 'foro_n' );
503
  $items[ $n['id'] ] = $html['before'];
504
  if ( wpfval( $n, 'itemid_second' ) ) {
505
  $member = wpforo_member( $n['itemid_second'] );
506
+ $member_name = wpfval($member, 'display_name') ? $member['display_name'] : wpforo_phrase( 'Guest', false );
507
  } else {
508
+ $member_name = wpfval($n, 'name') ? $n['name'] : wpforo_phrase( 'Guest', false );
509
  }
510
  if ( strpos( $n['permalink'], '#' ) === false ) {
511
  $n['permalink'] = wp_nonce_url( $n['permalink'] . '?_nread=' . $n['id'], 'wpforo_mark_notification_read', 'foro_n' );
wpf-includes/class-forums.php CHANGED
@@ -289,9 +289,10 @@ class wpForoForum{
289
  array('%d')
290
  )
291
  ){
292
- $childs = $this->get_childs($args['forumid']);
293
- $sql = "UPDATE `".WPF()->tables->forums."` SET `cat_layout` = ". $args['cat_layout'] ." WHERE `forumid` IN(". implode(',', $childs).")";
294
- WPF()->db->query($sql);
 
295
 
296
  do_action('wpforo_after_edit_forum', $args, $forum, $checkperm);
297
 
@@ -673,7 +674,7 @@ class wpForoForum{
673
  $key = array( 'forums', 'get_childs', $forumid );
674
  if( WPF()->ram_cache->is_exist($key) ) return WPF()->ram_cache->get($key);
675
 
676
- if ( version_compare( WPF()->db->db_version(), '8.0.0', '>=' ) ) {
677
  $forumids = $this->__get_childs_mysql8( $forumid );
678
  } else {
679
  $forumids = $this->__get_childs( $forumid );
@@ -737,12 +738,12 @@ class wpForoForum{
737
  *
738
  * @since 1.0.0
739
  *
740
- * @param int item id
741
  *
742
- * @param int before calling the function $depth = 0
743
  */
744
  function count_depth($forumid, &$depth){
745
- if( version_compare( WPF()->db->db_version(), '8.0.0', '>=' ) ){
746
  $depth = $this->__count_depth_mysql8($forumid);
747
  return;
748
  }
@@ -1089,7 +1090,7 @@ class wpForoForum{
1089
  }
1090
 
1091
  function get_parents( $forumid, &$relative_ids ){
1092
- if( version_compare( WPF()->db->db_version(), '8.0.0', '>=' ) ){
1093
  $relative_ids = $this->__get_parents_mysql8( $forumid );
1094
  return;
1095
  }
289
  array('%d')
290
  )
291
  ){
292
+ if( $childs = $this->get_childs($args['forumid']) ){
293
+ $sql = "UPDATE `".WPF()->tables->forums."` SET `cat_layout` = ". $args['cat_layout'] ." WHERE `forumid` IN(". implode(',', $childs).")";
294
+ WPF()->db->query($sql);
295
+ }
296
 
297
  do_action('wpforo_after_edit_forum', $args, $forum, $checkperm);
298
 
674
  $key = array( 'forums', 'get_childs', $forumid );
675
  if( WPF()->ram_cache->is_exist($key) ) return WPF()->ram_cache->get($key);
676
 
677
+ if ( WPF()->use_mysql8 ) {
678
  $forumids = $this->__get_childs_mysql8( $forumid );
679
  } else {
680
  $forumids = $this->__get_childs( $forumid );
738
  *
739
  * @since 1.0.0
740
  *
741
+ * @param int $forumid
742
  *
743
+ * @param int $depth
744
  */
745
  function count_depth($forumid, &$depth){
746
+ if( WPF()->use_mysql8 ){
747
  $depth = $this->__count_depth_mysql8($forumid);
748
  return;
749
  }
1090
  }
1091
 
1092
  function get_parents( $forumid, &$relative_ids ){
1093
+ if( WPF()->use_mysql8 ){
1094
  $relative_ids = $this->__get_parents_mysql8( $forumid );
1095
  return;
1096
  }
wpf-includes/class-posts.php CHANGED
@@ -798,7 +798,7 @@ class wpForoPost{
798
  }
799
  elseif( $type === 'inside-mysql' ){
800
  $mod = wpforo_current_user_is('admin') || wpforo_current_user_is('moderator');
801
- if( version_compare( WPF()->db->db_version(), '8.0.0', '>=' ) ){
802
  $sql = "WITH RECURSIVE `post_path` AS (
803
  SELECT `postid`, `parentid`, `userid`, `status`, `email`
804
  FROM `" . WPF()->tables->posts . "`
@@ -1268,7 +1268,7 @@ class wpForoPost{
1268
  }
1269
  }
1270
 
1271
- if ( version_compare( WPF()->db->db_version(), '8.0.0', '>=' ) ) {
1272
  $sql = "SELECT tmp_view.`rownum` FROM
1273
  (SELECT ROW_NUMBER() OVER() AS rownum, p.`postid`
1274
  FROM `" . WPF()->tables->posts . "` p
@@ -2164,6 +2164,7 @@ class wpForoPost{
2164
  if( !$field['isDefault'] && (int) wpfval($field, 'isSearchable') && !(int) wpfval($field, 'isOnlyForGuests') && wpfval($field, 'type') !== 'file' ){
2165
  $field['value'] = wpfval($values, $kf);
2166
  if( in_array( $field['type'], array( 'text', 'textarea', 'email', 'url' ), true ) ) $field['type'] = 'search';
 
2167
  $search_fields[0][0][$field['fieldKey']] = $field;
2168
  }
2169
  }
798
  }
799
  elseif( $type === 'inside-mysql' ){
800
  $mod = wpforo_current_user_is('admin') || wpforo_current_user_is('moderator');
801
+ if( WPF()->use_mysql8 ){
802
  $sql = "WITH RECURSIVE `post_path` AS (
803
  SELECT `postid`, `parentid`, `userid`, `status`, `email`
804
  FROM `" . WPF()->tables->posts . "`
1268
  }
1269
  }
1270
 
1271
+ if ( WPF()->use_mysql8 ) {
1272
  $sql = "SELECT tmp_view.`rownum` FROM
1273
  (SELECT ROW_NUMBER() OVER() AS rownum, p.`postid`
1274
  FROM `" . WPF()->tables->posts . "` p
2164
  if( !$field['isDefault'] && (int) wpfval($field, 'isSearchable') && !(int) wpfval($field, 'isOnlyForGuests') && wpfval($field, 'type') !== 'file' ){
2165
  $field['value'] = wpfval($values, $kf);
2166
  if( in_array( $field['type'], array( 'text', 'textarea', 'email', 'url' ), true ) ) $field['type'] = 'search';
2167
+ $field['isRequired'] = 0;
2168
  $search_fields[0][0][$field['fieldKey']] = $field;
2169
  }
2170
  }
wpf-includes/class-template.php CHANGED
@@ -1597,7 +1597,7 @@ class wpForoTemplate{
1597
  if( $post ){
1598
  $userid = wpforo_bigintval( wpfval($post, 'userid') );
1599
  $is_owner = (int) (bool) ( WPF()->current_userid && wpforo_is_owner( $userid ) );
1600
- $mention = (string) ( !$is_owner ? wpforo_member($post, 'user_nicename') : '' );
1601
  }else{
1602
  $userid = 0;
1603
  $is_owner = 0;
@@ -1935,12 +1935,22 @@ class wpForoTemplate{
1935
  <?php endif ?>
1936
  <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
1937
  <?php break; default: ?>
1938
- <?php if( $current_object['forumid'] ): ?>
1939
- <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo ( !$current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo ( !$current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase('Forums') ?></span></a><meta itemprop="position" content="1"></div>
1940
- <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
1941
- <?php else: ?>
1942
- <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root active"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><span itemprop="name"><?php wpforo_phrase('Forums') ?></span></a><meta itemprop="position" content="1"></div>
1943
- <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
 
 
 
 
 
 
 
 
 
 
1944
  <?php endif ?>
1945
  <?php endswitch; ?>
1946
  </div>
1597
  if( $post ){
1598
  $userid = wpforo_bigintval( wpfval($post, 'userid') );
1599
  $is_owner = (int) (bool) ( WPF()->current_userid && wpforo_is_owner( $userid ) );
1600
+ $mention = (string) ( !$is_owner && wpforo_feature('mention-nicknames') ? wpforo_member($post, 'user_nicename') : '' );
1601
  }else{
1602
  $userid = 0;
1603
  $is_owner = 0;
1935
  <?php endif ?>
1936
  <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
1937
  <?php break; default: ?>
1938
+ <?php if( wpforo_is_member_template( $current_object['template'] ) && ($template = $this->get_template( $current_object['template'] )) ) : ?>
1939
+ <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-root"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase('Forums') ?></span></a><meta itemprop="position" content="1"></div>
1940
+ <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element"><a itemprop="item" href="<?php echo wpforo_home_url(wpforo_get_template_slug('members')) ?>"><span itemprop="name"><?php wpforo_phrase('Members') ?></span></a><meta itemprop="position" content="2"></div>
1941
+ <?php if( $current_object['user'] ) : ?>
1942
+ <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element"><a itemprop="item" href="<?php echo esc_url($current_object['user']['profile_url']) ?>"><span itemprop="name"><?php wpforo_text( wpforo_user_dname($current_object['user']), $lenght ) ?></span></a><meta itemprop="position" content="3"></div>
1943
+ <?php endif ?>
1944
+ <div class="wpf-item-element active"><span><?php wpforo_phrase( $template['title'] ) ?></span></div>
1945
+ <a class="wpf-end" rel="nofollow">&nbsp;</a>
1946
+ <?php else : ?>
1947
+ <?php if( $current_object['forumid'] ): ?>
1948
+ <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root<?php echo ( !$current_object['forumid'] ? ' active' : '' ) ?>"><a itemprop="item" href="<?php echo ( !$current_object['forumid'] ? '#' : wpforo_home_url() ) ?>" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><i class="fas fa-home"></i><span itemprop="name" style="display:none;"><?php wpforo_phrase('Forums') ?></span></a><meta itemprop="position" content="1"></div>
1949
+ <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
1950
+ <?php else: ?>
1951
+ <div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="wpf-item-element wpf-root active"><a itemprop="item" href="<?php echo wpforo_home_url() ?>" title="<?php esc_attr( wpforo_phrase('Forums') ) ?>"><span itemprop="name"><?php wpforo_phrase('Forums') ?></span></a><meta itemprop="position" content="1"></div>
1952
+ <a href="#" class="wpf-end" rel="nofollow">&nbsp;</a>
1953
+ <?php endif ?>
1954
  <?php endif ?>
1955
  <?php endswitch; ?>
1956
  </div>
wpf-includes/functions-template.php CHANGED
@@ -2875,7 +2875,7 @@ function wpforo_get_template_slug($template = null){
2875
  $key = WPF()->tpl->get_key($template);
2876
  $slug = wpfval(WPF()->tpl->slugs, $key);
2877
  if(!$slug) $slug = $key;
2878
- return $slug;
2879
  }
2880
 
2881
  /**
@@ -3140,7 +3140,7 @@ function wpforo_schema($forum, $topic, $post, $type = '') {
3140
  "suggestedAnswer": [';
3141
  $answers = '';
3142
  foreach ( $suggested_answers as $key => $suggested_answer ) {
3143
- if( $best_answer['postid'] === $suggested_answer['postid'] ){
3144
  continue;
3145
  }
3146
  $answers .= '
2875
  $key = WPF()->tpl->get_key($template);
2876
  $slug = wpfval(WPF()->tpl->slugs, $key);
2877
  if(!$slug) $slug = $key;
2878
+ return strtolower($slug);
2879
  }
2880
 
2881
  /**
3140
  "suggestedAnswer": [';
3141
  $answers = '';
3142
  foreach ( $suggested_answers as $key => $suggested_answer ) {
3143
+ if( wpfval($best_answer, 'postid') === wpfval($suggested_answer, 'postid') ){
3144
  continue;
3145
  }
3146
  $answers .= '
wpf-includes/functions.php CHANGED
@@ -38,7 +38,7 @@ function wpforo_home_url($str = '', $echo = false, $absolute = true){
38
  $str = preg_replace( '#^/?'.preg_quote(trim(WPF()->permastruct, '/\\')).'#isu', '' , $str, 1 );
39
  $str = preg_replace('#index\.php/?#isu', '', $str, 1);
40
  }
41
- $str = trim(WPFORO_BASE_PERMASTRUCT, '/\\') . '/' . trim($str, '/\\');
42
 
43
  if( $absolute ){
44
  $url = WPF()->user_trailingslashit( home_url($str) );
@@ -50,9 +50,8 @@ function wpforo_home_url($str = '', $echo = false, $absolute = true){
50
  $url = WPF()->user_trailingslashit($url);
51
  }
52
  //-END- check is url maybe wordpress home
53
- }
54
- else{
55
- echo $url = WPF()->user_trailingslashit( $str );
56
  }
57
 
58
  if(!$echo) return $url;
@@ -408,17 +407,34 @@ function wpforo_screen_option(){ ?>
408
  <?php
409
  }
410
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  function wpforo_text( $text, $length = 0, $echo = true, $strip_tags = true, $strip_urls = true, $strip_shortcodes = true, $strip_quotes = true ){
412
  $text = str_replace('</p>', '</p> ', $text);
413
  $text = str_replace('</div>', '</div> ', $text);
414
- if($strip_quotes) $text = preg_replace('#<(blockquote)[^<>]*?data-userid[^<>]*?>(?:.*?(?R)*.*?)*?</\1>#isu', '', $text);
415
- if($strip_urls) $text = preg_replace('#(?:[^\'\"]|^)(https?://[^\s\'\"<>]+)(?:[^\'\"]|$)#isu', '', $text);
416
- if($strip_tags) $text = strip_tags($text);
417
- if($strip_shortcodes){
418
- $text = preg_replace('#\[attach[^\[\]]*\][^\[\]]*\[/attach\]#isu', '', $text);
419
- $text = preg_replace('#\[spoiler[^\[\]]*\][^\[\]]*\[/spoiler\]#isu', '', $text);
420
- $text = strip_shortcodes( $text );
421
- }
422
  $text = apply_filters('wpforo_text', $text, $length, $echo, $strip_tags, $strip_urls, $strip_shortcodes, $strip_quotes);
423
 
424
  $text = trim( str_replace("\xc2\xa0", ' ', $text ) );
@@ -2033,9 +2049,9 @@ function wpforo_urlencode($str){
2033
  && !preg_match('#([\?\&][^\?\&/=\r\n]*=?[^\?\&/=\r\n]*)(?1)*$#isu', $str)
2034
  && strpos($str, '~') === false
2035
  && strpos($str, '*') === false
2036
- && $str === urldecode($str) )
2037
- $str = urlencode($str);
2038
- return $str;
2039
  }
2040
 
2041
  function wpforo_fix_url($url){
38
  $str = preg_replace( '#^/?'.preg_quote(trim(WPF()->permastruct, '/\\')).'#isu', '' , $str, 1 );
39
  $str = preg_replace('#index\.php/?#isu', '', $str, 1);
40
  }
41
+ $str = trim(WPF()->base_permastruct, '/\\') . '/' . trim($str, '/\\');
42
 
43
  if( $absolute ){
44
  $url = WPF()->user_trailingslashit( home_url($str) );
50
  $url = WPF()->user_trailingslashit($url);
51
  }
52
  //-END- check is url maybe wordpress home
53
+ }else{
54
+ $url = WPF()->user_trailingslashit( $str );
 
55
  }
56
 
57
  if(!$echo) return $url;
407
  <?php
408
  }
409
 
410
+ function wpforo_strip_shortcodes( $text, $only_wpforo_shortcodes = false ){
411
+ $text = apply_filters( 'wpforo_strip_shortcodes', $text, $only_wpforo_shortcodes );
412
+ $text = preg_replace('#\[attach[^\[\]]*\][^\[\]]*\[/attach\]#isu', '', $text);
413
+ $text = preg_replace('#\[spoiler[^\[\]]*\][^\[\]]*\[/spoiler\]#isu', '', $text);
414
+ $text = preg_replace('#\[wpfgiphy[^\[\]]+?\]#isu', '', $text);
415
+ $text = preg_replace('#\[wpftenor[^\[\]]+?\]#isu', '', $text);
416
+ $text = preg_replace('#(?:\{\w+\})?:\S+:#iu', '', $text);
417
+ if( !$only_wpforo_shortcodes ) $text = strip_shortcodes( $text );
418
+ return $text;
419
+ }
420
+
421
+ function wpforo_strip_quotes( $text ){
422
+ return preg_replace('#<(blockquote)[^<>]*?data-userid[^<>]*?>(?:.*?(?R)*.*?)*?</\1>#isu', '', $text);
423
+ }
424
+
425
+ function wpforo_strip_urls( $text ){
426
+ return preg_replace('#(?:[^\'\"]|^)(https?://[^\s\'\"<>]+)(?:[^\'\"]|$)#isu', '', $text);
427
+ }
428
+
429
  function wpforo_text( $text, $length = 0, $echo = true, $strip_tags = true, $strip_urls = true, $strip_shortcodes = true, $strip_quotes = true ){
430
  $text = str_replace('</p>', '</p> ', $text);
431
  $text = str_replace('</div>', '</div> ', $text);
432
+
433
+ if($strip_quotes) $text = wpforo_strip_quotes( $text );
434
+ if($strip_urls) $text = wpforo_strip_urls( $text );
435
+ if($strip_tags) $text = strip_tags( $text );
436
+ if($strip_shortcodes) $text = wpforo_strip_shortcodes($text);
437
+
 
 
438
  $text = apply_filters('wpforo_text', $text, $length, $echo, $strip_tags, $strip_urls, $strip_shortcodes, $strip_quotes);
439
 
440
  $text = trim( str_replace("\xc2\xa0", ' ', $text ) );
2049
  && !preg_match('#([\?\&][^\?\&/=\r\n]*=?[^\?\&/=\r\n]*)(?1)*$#isu', $str)
2050
  && strpos($str, '~') === false
2051
  && strpos($str, '*') === false
2052
+ && $str === urldecode($str)
2053
+ ) $str = urlencode($str);
2054
+ return $str !== urldecode($str) ? strtolower($str) : $str;
2055
  }
2056
 
2057
  function wpforo_fix_url($url){
wpf-includes/integration/buddypress.php CHANGED
@@ -776,4 +776,6 @@ add_filter( 'bp_get_displayed_user_avatar', function($avatar, $r){
776
  return wpforo_avatar($avatar, $r['item_id'], $r['width'], '', $r['alt']);
777
  }
778
  return $avatar;
779
- }, 10, 2 );
 
 
776
  return wpforo_avatar($avatar, $r['item_id'], $r['width'], '', $r['alt']);
777
  }
778
  return $avatar;
779
+ }, 10, 2 );
780
+
781
+ add_filter( 'bp_get_activity_content_body', function($body){ return wpforo_strip_shortcodes( $body ); }, 4);
wpf-includes/wpf-hooks.php CHANGED
@@ -716,7 +716,7 @@ function wpf_quote(){
716
  if( !(WPF()->perm->forum_can( 'cr', $post['forumid']) || ( wpforo_is_owner( wpfval(WPF()->current_object['topic'], 'userid'), wpfval(WPF()->current_object['topic'], 'email') ) && WPF()->perm->forum_can( 'ocr', $post['forumid']) )) ) return;
717
  $post = apply_filters('wpforo_quote_post_ajax', $post);
718
  $poster = wpforo_member( $post );
719
- $response = '<blockquote data-userid="' . $post['userid'] . '" data-postid="'. $post['postid'] .'" data-mention="'. esc_attr($poster['user_nicename']) .'"><div class="wpforo-post-quote-author"><strong> ' . wpforo_phrase('Posted by', FALSE) . ': ' . esc_textarea( '@' . $poster['user_nicename'] ) . ' </strong></div>' . wpautop($post['body']) . '</blockquote><br />';
720
  wp_send_json_success($response);
721
  }
722
 
@@ -883,7 +883,7 @@ function wpforo_post_edit(){
883
  if( WPF()->perm->forum_can('eor', $post['forumid']) || WPF()->perm->forum_can('eot', $post['forumid']) ) {
884
  if ( $topic = WPF()->topic->get_topic( $post['topicid'] ) ) {
885
  $postmetas = (array) WPF()->postmeta->get_postmeta( $postid, '', true );
886
- $post['body'] = htmlspecialchars($post['body']);
887
  $values = array_merge( $post, $topic, $postmetas );
888
  $values = apply_filters('wpforo_edit_post_ajax', $values, $post, $topic, $postmetas);
889
  ob_start();
@@ -1137,9 +1137,10 @@ function wpforo_qa_comment_loadrest(){
1137
  );
1138
  if( !wpforo_root_exist() ) { unset($args['root']); $args['parentid'] = $parentid; }
1139
  if( $comments = WPF()->post->get_posts( $args ) ){
 
1140
  include_once( wpftpl('layouts/3/comment.php') );
 
1141
 
1142
- ob_start();
1143
  foreach($comments as $comment) wpforo_qa_comment_template($comment);
1144
 
1145
  $response['output_html'] = ob_get_clean();
@@ -1302,7 +1303,7 @@ function wpforo_frontend_register_scripts(){
1302
  wp_register_script( 'wpforo-frontend-js', WPFORO_URL . '/wpf-assets/js/frontend.js', array('jquery', 'wpforo-dynamic-phrases'), WPFORO_VERSION, true );
1303
  wp_localize_script('wpforo-frontend-js', 'wpforo',
1304
  array(
1305
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
1306
  'template_slugs' => WPF()->tpl->slugs,
1307
  'editor_settings' => WPF()->tpl->editor_buttons(),
1308
  'revision_options' => WPF()->revision->options,
@@ -1319,7 +1320,7 @@ function wpforo_frontend_register_scripts(){
1319
  wp_register_style('wpforo-widgets-rtl', WPFORO_TEMPLATE_URL . '/widgets-rtl.css', array(), WPFORO_VERSION );
1320
  wp_register_script('wpforo-widgets-js', WPFORO_URL . '/wpf-assets/js/widgets.js', array('jquery'), WPFORO_VERSION, true);
1321
  $wpforo_widgets = array(
1322
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
1323
  'is_live_notifications_on' => 0,
1324
  'live_notifications_start' => 30000,
1325
  'live_notifications_interval' => 60000
@@ -1389,17 +1390,21 @@ function wpforo_style_options($css){
1389
  if( isset(WPF()->tpl->style['font_size_post_content']) && WPF()->tpl->style['font_size_post_content'] != 14 ){
1390
  $css .= "\r\n#wpforo-wrap .wpforo-post .wpf-right .wpforo-post-content {font-size: " . intval(WPF()->tpl->style['font_size_post_content']) . "px!important; line-height: " . (intval(WPF()->tpl->style['font_size_post_content']) + 4) . "px!important;}\r\n#wpforo-wrap .wpforo-post .wpf-right .wpforo-post-content p {font-size: " . intval(WPF()->tpl->style['font_size_post_content']) . "px;}";
1391
  }
1392
- if( 'bottom' === wpfval(WPF()->post->options, 'toolbar_location_topic') ){
1393
- $css .= "\r\n
1394
- #wpforo #wpforo-wrap .wpf-topic-create .mce-top-part{position:absolute!important;bottom:-40px !important;z-index: 100; width: 100% !important;}
1395
- #wpforo #wpforo-wrap .wpf-topic-create .wp-editor-wrap {margin-bottom: 40px;}
1396
- #wpforo #wpforo-wrap .wpf-topic-create .mce-toolbar .mce-btn-group {padding-top: 8px;}";
1397
- }
1398
- if( 'bottom' === wpfval(WPF()->post->options, 'toolbar_location_reply') ){
1399
  $css .= "\r\n
1400
- #wpforo #wpforo-wrap .wpf-post-create .mce-top-part{position:absolute!important;bottom:-40px !important;z-index: 100; width: 100% !important;}
1401
- #wpforo #wpforo-wrap .wpf-post-create .wp-editor-wrap {margin-bottom: 40px;}
1402
- #wpforo #wpforo-wrap .wpf-post-create .mce-toolbar .mce-btn-group {padding-top: 8px;}";
 
 
 
 
 
 
 
 
 
 
1403
  }
1404
  if( isset(WPF()->tpl->style['custom_css']) ){
1405
  $css .= "\r\n" . stripslashes(WPF()->tpl->style['custom_css']);
@@ -2235,7 +2240,7 @@ function wpforo_move_uploded_default_attach($argname, $return = 'html'){
2235
  if( is_dir($attach_dir) && move_uploaded_file($tmp_name, $attach_path) ){
2236
  $attach_id = wpforo_insert_to_media_library( $attach_path, $fnm );
2237
  if( $return === 'html' ){
2238
- return "\r\n" . '<div id="wpfa-' . $attach_id . '" class="wpforo-attached-file"><a class="wpforo-default-attachment" href="' . esc_url($attach_url.'/'.$attach_fname) . '" target="_blank"><i class="fas fa-paperclip"></i>&nbsp;' . esc_html(basename($name)) . '</a></div>';
2239
  }else{
2240
  return array('fileurl' => $attach_url.'/'.$attach_fname, 'filename' => basename($name), 'mediaid' => $attach_id);
2241
  }
@@ -2282,7 +2287,7 @@ function wpforo_default_attachments_filter($text){
2282
 
2283
  if(file_exists($filedir)){
2284
  if( !WPF()->perm->forum_can('va') || !WPF()->perm->usergroup_can('caa') ){
2285
- $attach_html .= '<br/><div class="wpfa-item wpfa-file"><a class="attach_cant_view" style="cursor:pointer;"><span style="color:#666;">' . wpforo_phrase('Attachment', FALSE) . ':</span> ' . urldecode( basename($filename) ) . '</a></div>';
2286
  }
2287
  }
2288
 
@@ -2303,6 +2308,8 @@ function wpforo_content_enable_do_shortcode(){
2303
  }
2304
  add_action('wpforo_after_init', 'wpforo_content_enable_do_shortcode');
2305
 
 
 
2306
  add_filter( 'wpforo_body_text_filter', function($text){
2307
  if( apply_filters('wpforo_allow_replace_3asterisk', true) ) $text = preg_replace('#\*{3}([^*]+?)\*{3}#', '<span style="color: red; font-weight: bold;">$1</span>', $text);
2308
  return $text;
@@ -2867,4 +2874,4 @@ add_action( 'update_option', function( $option ){
2867
  wpforo_clean_folder( WPFORO_CACHE_DIR . '/item/option/' );
2868
  }
2869
  }
2870
- });
716
  if( !(WPF()->perm->forum_can( 'cr', $post['forumid']) || ( wpforo_is_owner( wpfval(WPF()->current_object['topic'], 'userid'), wpfval(WPF()->current_object['topic'], 'email') ) && WPF()->perm->forum_can( 'ocr', $post['forumid']) )) ) return;
717
  $post = apply_filters('wpforo_quote_post_ajax', $post);
718
  $poster = wpforo_member( $post );
719
+ $response = '<blockquote data-userid="' . $post['userid'] . '" data-postid="'. $post['postid'] .'" data-mention="'. esc_attr(( wpforo_feature('mention-nicknames') ? $poster['user_nicename'] : '')) .'"><div class="wpforo-post-quote-author"><strong> ' . wpforo_phrase('Posted by', FALSE) . ': ' . esc_textarea( '@' . $poster['user_nicename'] ) . ' </strong></div>' . wpautop($post['body']) . '</blockquote><br />';
720
  wp_send_json_success($response);
721
  }
722
 
883
  if( WPF()->perm->forum_can('eor', $post['forumid']) || WPF()->perm->forum_can('eot', $post['forumid']) ) {
884
  if ( $topic = WPF()->topic->get_topic( $post['topicid'] ) ) {
885
  $postmetas = (array) WPF()->postmeta->get_postmeta( $postid, '', true );
886
+ // $post['body'] = htmlspecialchars($post['body']);
887
  $values = array_merge( $post, $topic, $postmetas );
888
  $values = apply_filters('wpforo_edit_post_ajax', $values, $post, $topic, $postmetas);
889
  ob_start();
1137
  );
1138
  if( !wpforo_root_exist() ) { unset($args['root']); $args['parentid'] = $parentid; }
1139
  if( $comments = WPF()->post->get_posts( $args ) ){
1140
+ ob_start();
1141
  include_once( wpftpl('layouts/3/comment.php') );
1142
+ ob_clean();
1143
 
 
1144
  foreach($comments as $comment) wpforo_qa_comment_template($comment);
1145
 
1146
  $response['output_html'] = ob_get_clean();
1303
  wp_register_script( 'wpforo-frontend-js', WPFORO_URL . '/wpf-assets/js/frontend.js', array('jquery', 'wpforo-dynamic-phrases'), WPFORO_VERSION, true );
1304
  wp_localize_script('wpforo-frontend-js', 'wpforo',
1305
  array(
1306
+ 'ajax_url' => admin_url( 'admin-ajax.php?lang=' . strtok(WPF()->locale, '_') ),
1307
  'template_slugs' => WPF()->tpl->slugs,
1308
  'editor_settings' => WPF()->tpl->editor_buttons(),
1309
  'revision_options' => WPF()->revision->options,
1320
  wp_register_style('wpforo-widgets-rtl', WPFORO_TEMPLATE_URL . '/widgets-rtl.css', array(), WPFORO_VERSION );
1321
  wp_register_script('wpforo-widgets-js', WPFORO_URL . '/wpf-assets/js/widgets.js', array('jquery'), WPFORO_VERSION, true);
1322
  $wpforo_widgets = array(
1323
+ 'ajax_url' => admin_url( 'admin-ajax.php?lang=' . strtok(WPF()->locale, '_') ),
1324
  'is_live_notifications_on' => 0,
1325
  'live_notifications_start' => 30000,
1326
  'live_notifications_interval' => 60000
1390
  if( isset(WPF()->tpl->style['font_size_post_content']) && WPF()->tpl->style['font_size_post_content'] != 14 ){
1391
  $css .= "\r\n#wpforo-wrap .wpforo-post .wpf-right .wpforo-post-content {font-size: " . intval(WPF()->tpl->style['font_size_post_content']) . "px!important; line-height: " . (intval(WPF()->tpl->style['font_size_post_content']) + 4) . "px!important;}\r\n#wpforo-wrap .wpforo-post .wpf-right .wpforo-post-content p {font-size: " . intval(WPF()->tpl->style['font_size_post_content']) . "px;}";
1392
  }
1393
+ if( 'bottom' === WPF()->post->options['toolbar_location_topic'] ){
 
 
 
 
 
 
1394
  $css .= "\r\n
1395
+ #wpforo #wpforo-wrap .wpf-topic-create .mce-container-body{display: flex; flex-direction: column;}
1396
+ #wpforo #wpforo-wrap .wpf-topic-create .mce-top-part{order: 1}
1397
+ #wpforo #wpforo-wrap .wpf-topic-create .wpf-field-wrap > .wpf-extra-fields,
1398
+ #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-extra-fields,
1399
+ #wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main .wpfpm-form-wrapper .wpf-extra-fields{ margin-top: 10px !important; }";
1400
+ }
1401
+ if( 'bottom' === WPF()->post->options['toolbar_location_reply'] ){
1402
+ $css .= "\r\n
1403
+ #wpforo #wpforo-wrap .wpf-post-create .mce-container-body{display: flex; flex-direction: column;}
1404
+ #wpforo #wpforo-wrap .wpf-post-create .mce-top-part{order: 1}
1405
+ #wpforo #wpforo-wrap .wpf-post-create .wpf-field-wrap > .wpf-extra-fields,
1406
+ #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-extra-fields,
1407
+ #wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main .wpfpm-form-wrapper .wpf-extra-fields{ margin-top: 10px !important; }";
1408
  }
1409
  if( isset(WPF()->tpl->style['custom_css']) ){
1410
  $css .= "\r\n" . stripslashes(WPF()->tpl->style['custom_css']);
2240
  if( is_dir($attach_dir) && move_uploaded_file($tmp_name, $attach_path) ){
2241
  $attach_id = wpforo_insert_to_media_library( $attach_path, $fnm );
2242
  if( $return === 'html' ){
2243
+ return "\r\n" . '<div id="wpfa-' . $attach_id . '" class="wpforo-attached-file"><a class="wpforo-default-attachment" href="' . esc_url($attach_url.'/'.$attach_fname) . '" target="_blank" title="'. esc_attr(basename($name)) .'"><i class="fas fa-paperclip"></i>&nbsp;' . esc_html(basename($name)) . '</a></div>';
2244
  }else{
2245
  return array('fileurl' => $attach_url.'/'.$attach_fname, 'filename' => basename($name), 'mediaid' => $attach_id);
2246
  }
2287
 
2288
  if(file_exists($filedir)){
2289
  if( !WPF()->perm->forum_can('va') || !WPF()->perm->usergroup_can('caa') ){
2290
+ $attach_html .= '<br/><div class="wpfa-item wpfa-file"><a class="attach_cant_view" style="cursor: pointer;"><span style="color: #666;">' . wpforo_phrase('Attachment', FALSE) . ' : </span> ' . urldecode( basename($filename) ) . '</a></div>';
2291
  }
2292
  }
2293
 
2308
  }
2309
  add_action('wpforo_after_init', 'wpforo_content_enable_do_shortcode');
2310
 
2311
+ add_filter( 'wpforo_content_after', function( $text ){ return wpforo_strip_shortcodes( $text ); }, 999 );
2312
+
2313
  add_filter( 'wpforo_body_text_filter', function($text){
2314
  if( apply_filters('wpforo_allow_replace_3asterisk', true) ) $text = preg_replace('#\*{3}([^*]+?)\*{3}#', '<span style="color: red; font-weight: bold;">$1</span>', $text);
2315
  return $text;
2874
  wpforo_clean_folder( WPFORO_CACHE_DIR . '/item/option/' );
2875
  }
2876
  }
2877
+ });
wpf-includes/wpf-phrases.php CHANGED
@@ -365,7 +365,7 @@ $wpforo_phrases = array(
365
  'Members Online' => __('Members Online', 'wpforo'),
366
  'Members URL structure' => __('Members URL structure', 'wpforo'),
367
  'Members not found' => __('Members not found', 'wpforo'),
368
- 'You have been banned. Please contact the forum administratoristrators for more information.' => __('You have been banned. Please contact the forum administratoristrators for more information.', 'wpforo'),
369
  'Messages' => __('Messages', 'wpforo'),
370
  'Meta Description' => __('Meta Description', 'wpforo'),
371
  'Min Number of Posts' => __('Min Number of Posts', 'wpforo'),
365
  'Members Online' => __('Members Online', 'wpforo'),
366
  'Members URL structure' => __('Members URL structure', 'wpforo'),
367
  'Members not found' => __('Members not found', 'wpforo'),
368
+ 'You have been banned. Please contact the forum administrator for more information.' => __('You have been banned. Please contact the forum administrator for more information.', 'wpforo'),
369
  'Messages' => __('Messages', 'wpforo'),
370
  'Meta Description' => __('Meta Description', 'wpforo'),
371
  'Min Number of Posts' => __('Min Number of Posts', 'wpforo'),
wpf-languages/wpforo-ar.po CHANGED
@@ -4360,7 +4360,7 @@ msgid "Forum Icon"
4360
  msgstr "أيقونة المنتدى"
4361
 
4362
  #: wpf-includes/wpf-phrases.php:368
4363
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4364
  msgstr "لقد تم حظرك. الرجاء التواصل مع مدراء المنتدى لمزيد من المعلومات."
4365
 
4366
  #: wpf-admin/includes/member-listtable.php:391
4360
  msgstr "أيقونة المنتدى"
4361
 
4362
  #: wpf-includes/wpf-phrases.php:368
4363
+ msgid "You have been banned. Please contact the forum administrator for more information."
4364
  msgstr "لقد تم حظرك. الرجاء التواصل مع مدراء المنتدى لمزيد من المعلومات."
4365
 
4366
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-cs_CZ.po CHANGED
@@ -5644,7 +5644,7 @@ msgstr "Uživatel nenalezen"
5644
 
5645
  #: wpf-includes/wpf-phrases.php:368
5646
  msgid ""
5647
- "You have been banned. Please contact the forum administratoristrators for "
5648
  "more information."
5649
  msgstr ""
5650
 
5644
 
5645
  #: wpf-includes/wpf-phrases.php:368
5646
  msgid ""
5647
+ "You have been banned. Please contact the forum administrator for "
5648
  "more information."
5649
  msgstr ""
5650
 
wpf-languages/wpforo-da_DK.po CHANGED
@@ -4303,7 +4303,7 @@ msgid "Forum Icon"
4303
  msgstr "Forum ikon"
4304
 
4305
  #: wpf-includes/wpf-phrases.php:368
4306
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4307
  msgstr ""
4308
 
4309
  #: wpf-admin/includes/member-listtable.php:391
4303
  msgstr "Forum ikon"
4304
 
4305
  #: wpf-includes/wpf-phrases.php:368
4306
+ msgid "You have been banned. Please contact the forum administrator for more information."
4307
  msgstr ""
4308
 
4309
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-de_DE.po CHANGED
@@ -6221,7 +6221,7 @@ msgstr "Keine Mitglieder gefunden"
6221
 
6222
  #: wpf-includes/wpf-phrases.php:368
6223
  msgid ""
6224
- "You have been banned. Please contact the forum administratoristrators for more "
6225
  "information."
6226
  msgstr ""
6227
  "Du wurdest gesperrt. Bitte kontaktiere einen Forumsadministrator für weitere "
6221
 
6222
  #: wpf-includes/wpf-phrases.php:368
6223
  msgid ""
6224
+ "You have been banned. Please contact the forum administrator for more "
6225
  "information."
6226
  msgstr ""
6227
  "Du wurdest gesperrt. Bitte kontaktiere einen Forumsadministrator für weitere "
wpf-languages/wpforo-es_ES.po CHANGED
@@ -4363,7 +4363,7 @@ msgid "Forum Icon"
4363
  msgstr "Icono del foro"
4364
 
4365
  #: wpf-includes/wpf-phrases.php:368
4366
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4367
  msgstr "Has sido expulsado. Por favor, contacta con el administrador del foro para más información."
4368
 
4369
  #: wpf-admin/includes/member-listtable.php:391
4363
  msgstr "Icono del foro"
4364
 
4365
  #: wpf-includes/wpf-phrases.php:368
4366
+ msgid "You have been banned. Please contact the forum administrator for more information."
4367
  msgstr "Has sido expulsado. Por favor, contacta con el administrador del foro para más información."
4368
 
4369
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-es_MX.po CHANGED
@@ -4003,7 +4003,7 @@ msgstr "Miembros no encontrados"
4003
 
4004
  #: wpf-includes/wpf-phrases.php:182
4005
  msgid ""
4006
- "You have been banned. Please contact the forum administratoristrators for more "
4007
  "information."
4008
  msgstr ""
4009
 
4003
 
4004
  #: wpf-includes/wpf-phrases.php:182
4005
  msgid ""
4006
+ "You have been banned. Please contact the forum administrator for more "
4007
  "information."
4008
  msgstr ""
4009
 
wpf-languages/wpforo-fa_IR.po CHANGED
@@ -3977,7 +3977,7 @@ msgstr "اعضا پیدا نشدند"
3977
 
3978
  #: wpf-includes/wpf-phrases.php:182
3979
  msgid ""
3980
- "You have been banned. Please contact the forum administratoristrators for more "
3981
  "information."
3982
  msgstr ""
3983
 
3977
 
3978
  #: wpf-includes/wpf-phrases.php:182
3979
  msgid ""
3980
+ "You have been banned. Please contact the forum administrator for more "
3981
  "information."
3982
  msgstr ""
3983
 
wpf-languages/wpforo-fr_CA.po CHANGED
@@ -4105,7 +4105,7 @@ msgstr "Membres non trouvés"
4105
 
4106
  #: wpf-includes/wpf-phrases.php:182
4107
  msgid ""
4108
- "You have been banned. Please contact the forum administratoristrators for more "
4109
  "information."
4110
  msgstr ""
4111
  "Vous avez été banni. Veuillez contacter les administrateurs du forum pour "
4105
 
4106
  #: wpf-includes/wpf-phrases.php:182
4107
  msgid ""
4108
+ "You have been banned. Please contact the forum administrator for more "
4109
  "information."
4110
  msgstr ""
4111
  "Vous avez été banni. Veuillez contacter les administrateurs du forum pour "
wpf-languages/wpforo-fr_FR.po CHANGED
@@ -5720,7 +5720,7 @@ msgstr "Membres non trouvés"
5720
 
5721
  #: wpf-includes/wpf-phrases.php:366
5722
  msgid ""
5723
- "You have been banned. Please contact the forum administratoristrators for more "
5724
  "information."
5725
  msgstr ""
5726
  "Vous avez été banni. Veuillez contacter les administrateurs du forum pour "
5720
 
5721
  #: wpf-includes/wpf-phrases.php:366
5722
  msgid ""
5723
+ "You have been banned. Please contact the forum administrator for more "
5724
  "information."
5725
  msgstr ""
5726
  "Vous avez été banni. Veuillez contacter les administrateurs du forum pour "
wpf-languages/wpforo-he_IL.po CHANGED
@@ -3971,7 +3971,7 @@ msgstr "משתמש לא נמצא"
3971
 
3972
  #: wpf-includes/wpf-phrases.php:182
3973
  msgid ""
3974
- "You have been banned. Please contact the forum administratoristrators for more "
3975
  "information."
3976
  msgstr "נחסמת. אנא פנה למנהלי הפורום לקבלת מידע נוסף."
3977
 
3971
 
3972
  #: wpf-includes/wpf-phrases.php:182
3973
  msgid ""
3974
+ "You have been banned. Please contact the forum administrator for more "
3975
  "information."
3976
  msgstr "נחסמת. אנא פנה למנהלי הפורום לקבלת מידע נוסף."
3977
 
wpf-languages/wpforo-hr.po CHANGED
@@ -4251,7 +4251,7 @@ msgstr "Niti jedan član nije pronađen"
4251
 
4252
  #: wpf-includes/wpf-phrases.php:182
4253
  msgid ""
4254
- "You have been banned. Please contact the forum administratoristrators for more "
4255
  "information."
4256
  msgstr ""
4257
  "Zabranjen Vam je pristup. Molimo kontaktirajte administratore foruma za više "
4251
 
4252
  #: wpf-includes/wpf-phrases.php:182
4253
  msgid ""
4254
+ "You have been banned. Please contact the forum administrator for more "
4255
  "information."
4256
  msgstr ""
4257
  "Zabranjen Vam je pristup. Molimo kontaktirajte administratore foruma za više "
wpf-languages/wpforo-hu_HU.po CHANGED
@@ -4361,7 +4361,7 @@ msgid "Forum Icon"
4361
  msgstr "Fórum ikon"
4362
 
4363
  #: wpf-includes/wpf-phrases.php:368
4364
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4365
  msgstr ""
4366
 
4367
  #: wpf-admin/includes/member-listtable.php:391
4361
  msgstr "Fórum ikon"
4362
 
4363
  #: wpf-includes/wpf-phrases.php:368
4364
+ msgid "You have been banned. Please contact the forum administrator for more information."
4365
  msgstr ""
4366
 
4367
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-it_IT.po CHANGED
@@ -6219,7 +6219,7 @@ msgstr "utenti non trovati"
6219
 
6220
  #: wpf-includes/wpf-phrases.php:368
6221
  msgid ""
6222
- "You have been banned. Please contact the forum administratoristrators for more "
6223
  "information."
6224
  msgstr ""
6225
  "Sei stato bannato. Contatta l'amministratore per ulteriori informazioni."
6219
 
6220
  #: wpf-includes/wpf-phrases.php:368
6221
  msgid ""
6222
+ "You have been banned. Please contact the forum administrator for more "
6223
  "information."
6224
  msgstr ""
6225
  "Sei stato bannato. Contatta l'amministratore per ulteriori informazioni."
wpf-languages/wpforo-ja.po CHANGED
@@ -4314,7 +4314,7 @@ msgid "Forum Icon"
4314
  msgstr "フォーラムアイコン"
4315
 
4316
  #: wpf-includes/wpf-phrases.php:368
4317
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4318
  msgstr ""
4319
 
4320
  #: wpf-admin/includes/member-listtable.php:391
4314
  msgstr "フォーラムアイコン"
4315
 
4316
  #: wpf-includes/wpf-phrases.php:368
4317
+ msgid "You have been banned. Please contact the forum administrator for more information."
4318
  msgstr ""
4319
 
4320
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-ko_KR.po CHANGED
@@ -3989,7 +3989,7 @@ msgstr "회원들을 찾을 수 없음"
3989
 
3990
  #: wpf-includes/wpf-phrases.php:182
3991
  msgid ""
3992
- "You have been banned. Please contact the forum administratoristrators for more "
3993
  "information."
3994
  msgstr ""
3995
 
3989
 
3990
  #: wpf-includes/wpf-phrases.php:182
3991
  msgid ""
3992
+ "You have been banned. Please contact the forum administrator for more "
3993
  "information."
3994
  msgstr ""
3995
 
wpf-languages/wpforo-lt_LT.po CHANGED
@@ -4108,7 +4108,7 @@ msgstr "Vartotojas nerastas"
4108
 
4109
  #: wpf-includes/wpf-phrases.php:182
4110
  msgid ""
4111
- "You have been banned. Please contact the forum administratoristrators for more "
4112
  "information."
4113
  msgstr ""
4114
  "Jūs buvote užblokuotas. Norėdami gauti daugiau informacijos, prašome "
4108
 
4109
  #: wpf-includes/wpf-phrases.php:182
4110
  msgid ""
4111
+ "You have been banned. Please contact the forum administrator for more "
4112
  "information."
4113
  msgstr ""
4114
  "Jūs buvote užblokuotas. Norėdami gauti daugiau informacijos, prašome "
wpf-languages/wpforo-nl_NL.po CHANGED
@@ -4335,7 +4335,7 @@ msgid "Forum Icon"
4335
  msgstr "Forum icoon"
4336
 
4337
  #: wpf-includes/wpf-phrases.php:368
4338
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4339
  msgstr ""
4340
 
4341
  #: wpf-admin/includes/member-listtable.php:391
4335
  msgstr "Forum icoon"
4336
 
4337
  #: wpf-includes/wpf-phrases.php:368
4338
+ msgid "You have been banned. Please contact the forum administrator for more information."
4339
  msgstr ""
4340
 
4341
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-pl_PL.po CHANGED
@@ -3983,7 +3983,7 @@ msgstr "Nie znaleziono użytkowników"
3983
 
3984
  #: wpf-includes/wpf-phrases.php:182
3985
  msgid ""
3986
- "You have been banned. Please contact the forum administratoristrators for more "
3987
  "information."
3988
  msgstr ""
3989
 
3983
 
3984
  #: wpf-includes/wpf-phrases.php:182
3985
  msgid ""
3986
+ "You have been banned. Please contact the forum administrator for more "
3987
  "information."
3988
  msgstr ""
3989
 
wpf-languages/wpforo-pt_BR.po CHANGED
@@ -3608,7 +3608,7 @@ msgid "Forum Icon"
3608
  msgstr "Ícone do Fórum"
3609
 
3610
  #: wpf-includes/wpf-phrases.php:366
3611
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
3612
  msgstr "Você foi banido. Entre em contato com os administradores do Fórum para obter mais informações."
3613
 
3614
  #: wpf-includes/functions.php:633
3608
  msgstr "Ícone do Fórum"
3609
 
3610
  #: wpf-includes/wpf-phrases.php:366
3611
+ msgid "You have been banned. Please contact the forum administrator for more information."
3612
  msgstr "Você foi banido. Entre em contato com os administradores do Fórum para obter mais informações."
3613
 
3614
  #: wpf-includes/functions.php:633
wpf-languages/wpforo-ru_RU.po CHANGED
@@ -5827,7 +5827,7 @@ msgstr "Участники не найдены"
5827
 
5828
  #: wpf-includes/wpf-phrases.php:368
5829
  msgid ""
5830
- "You have been banned. Please contact the forum administratoristrators for more "
5831
  "information."
5832
  msgstr ""
5833
  "Вы были забанены. Пожалуйста, обратитесь к администраторам форума за "
5827
 
5828
  #: wpf-includes/wpf-phrases.php:368
5829
  msgid ""
5830
+ "You have been banned. Please contact the forum administrator for more "
5831
  "information."
5832
  msgstr ""
5833
  "Вы были забанены. Пожалуйста, обратитесь к администраторам форума за "
wpf-languages/wpforo-sk_SK.po CHANGED
@@ -4349,7 +4349,7 @@ msgid "Forum Icon"
4349
  msgstr "Ikona fóra"
4350
 
4351
  #: wpf-includes/wpf-phrases.php:368
4352
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4353
  msgstr "Boli ste zablokovaní. Prosím kontaktujte administrátora fóra pre viac informácií."
4354
 
4355
  #: wpf-admin/includes/member-listtable.php:391
4349
  msgstr "Ikona fóra"
4350
 
4351
  #: wpf-includes/wpf-phrases.php:368
4352
+ msgid "You have been banned. Please contact the forum administrator for more information."
4353
  msgstr "Boli ste zablokovaní. Prosím kontaktujte administrátora fóra pre viac informácií."
4354
 
4355
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-sv_SE.po CHANGED
@@ -4078,7 +4078,7 @@ msgstr "Medlemmar hittades inte"
4078
 
4079
  #: wpf-includes/wpf-phrases.php:182
4080
  msgid ""
4081
- "You have been banned. Please contact the forum administratoristrators for more "
4082
  "information."
4083
  msgstr "Du har blivit avstängd. Kontakta administratören för mer information."
4084
 
4078
 
4079
  #: wpf-includes/wpf-phrases.php:182
4080
  msgid ""
4081
+ "You have been banned. Please contact the forum administrator for more "
4082
  "information."
4083
  msgstr "Du har blivit avstängd. Kontakta administratören för mer information."
4084
 
wpf-languages/wpforo-tr_TR.po CHANGED
@@ -4363,7 +4363,7 @@ msgid "Forum Icon"
4363
  msgstr "Forum ikonu"
4364
 
4365
  #: wpf-includes/wpf-phrases.php:368
4366
- msgid "You have been banned. Please contact the forum administratoristrators for more information."
4367
  msgstr ""
4368
 
4369
  #: wpf-admin/includes/member-listtable.php:391
4363
  msgstr "Forum ikonu"
4364
 
4365
  #: wpf-includes/wpf-phrases.php:368
4366
+ msgid "You have been banned. Please contact the forum administrator for more information."
4367
  msgstr ""
4368
 
4369
  #: wpf-admin/includes/member-listtable.php:391
wpf-languages/wpforo-zh_CN.po CHANGED
@@ -5242,7 +5242,7 @@ msgstr "未找到用户"
5242
 
5243
  #: wpf-includes/wpf-phrases.php:366
5244
  msgid ""
5245
- "You have been banned. Please contact the forum administratoristrators for more "
5246
  "information."
5247
  msgstr "你已经被屏蔽,请联系论坛管理员了解详细情况。"
5248
 
5242
 
5243
  #: wpf-includes/wpf-phrases.php:366
5244
  msgid ""
5245
+ "You have been banned. Please contact the forum administrator for more "
5246
  "information."
5247
  msgstr "你已经被屏蔽,请联系论坛管理员了解详细情况。"
5248
 
wpf-languages/wpforo.pot CHANGED
@@ -5,7 +5,7 @@ msgid ""
5
  msgstr ""
6
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
7
  "Project-Id-Version: Forum - wpForo\n"
8
- "POT-Creation-Date: 2021-06-11 11:11+0400\n"
9
  "PO-Revision-Date: 2016-06-28 21:09+0400\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
@@ -73,49 +73,49 @@ msgstr ""
73
  #: wpf-admin/options.php:15 wpf-admin/tools-tabs/misc.php:94
74
  #: wpf-includes/integration/buddypress.php:11
75
  #: wpf-includes/integration/buddypress.php:57
76
- #: wpf-includes/integration/buddypress.php:129 wpf-includes/wpf-hooks.php:2687
77
  #: wpf-includes/wpf-phrases.php:309
78
  msgid "Forums"
79
  msgstr ""
80
 
81
  #: wpf-admin/admin.php:42 wpf-includes/wpf-hooks.php:22
82
- #: wpf-includes/wpf-hooks.php:2693
83
  msgid "Settings"
84
  msgstr ""
85
 
86
- #: wpf-admin/admin.php:45 wpf-includes/wpf-hooks.php:2697
87
  #: wpf-includes/wpf-phrases.php:916
88
  msgid "Tools"
89
  msgstr ""
90
 
91
- #: wpf-admin/admin.php:48 wpf-includes/wpf-hooks.php:2701
92
  msgid "Moderation"
93
  msgstr ""
94
 
95
  #: wpf-admin/admin.php:51 wpf-admin/dashboard.php:132 wpf-admin/member.php:10
96
  #: wpf-admin/options.php:18 wpf-admin/tools-tabs/misc.php:114
97
- #: wpf-admin/usergroup.php:36 wpf-includes/wpf-hooks.php:2705
98
  #: wpf-includes/wpf-phrases.php:364
99
  msgid "Members"
100
  msgstr ""
101
 
102
  #: wpf-admin/admin.php:54 wpf-admin/usergroup.php:11 wpf-admin/usergroup.php:155
103
- #: wpf-includes/wpf-hooks.php:2709
104
  msgid "Usergroups"
105
  msgstr ""
106
 
107
- #: wpf-admin/admin.php:57 wpf-includes/wpf-hooks.php:2715
108
  #: wpf-includes/wpf-phrases.php:791
109
  msgid "Phrases"
110
  msgstr ""
111
 
112
- #: wpf-admin/admin.php:60 wpf-includes/wpf-hooks.php:2721
113
  #: wpf-includes/wpf-phrases.php:792
114
  msgid "Themes"
115
  msgstr ""
116
 
117
  #: wpf-admin/admin.php:63 wpf-admin/options.php:24
118
- #: wpf-includes/wpf-hooks.php:2725 wpf-includes/wpf-phrases.php:211
119
  msgid "Addons"
120
  msgstr ""
121
 
@@ -370,7 +370,7 @@ msgstr ""
370
  msgid "Other"
371
  msgstr ""
372
 
373
- #: wpf-admin/deactivation-dialog.php:142 wpf-includes/wpf-hooks.php:1427
374
  msgid "Please provide more information"
375
  msgstr ""
376
 
@@ -386,7 +386,7 @@ msgstr ""
386
  msgid "Thank you for your feedback!"
387
  msgstr ""
388
 
389
- #: wpf-admin/forum.php:15 wpf-includes/functions.php:389
390
  #: wpf-includes/wpf-phrases.php:487
391
  msgid "Show on screen"
392
  msgstr ""
@@ -416,7 +416,7 @@ msgstr ""
416
  msgid "Number of Columns"
417
  msgstr ""
418
 
419
- #: wpf-admin/forum.php:34 wpf-includes/functions.php:403
420
  #: wpf-includes/wpf-phrases.php:460
421
  msgid "Screen Options"
422
  msgstr ""
@@ -533,7 +533,7 @@ msgstr ""
533
  #: wpf-admin/includes/moderation-listtable.php:92
534
  #: wpf-admin/includes/moderation-listtable.php:193 wpf-admin/themes.php:68
535
  #: wpf-admin/tools-tabs/antispam.php:313 wpf-admin/usergroup.php:75
536
- #: wpf-admin/usergroup.php:276 wpf-includes/wpf-hooks.php:1420
537
  #: wpf-includes/wpf-phrases.php:252
538
  msgid "Delete"
539
  msgstr ""
@@ -1762,7 +1762,7 @@ msgid ""
1762
  msgstr ""
1763
 
1764
  #: wpf-admin/options-tabs/features.php:81 wpf-admin/usergroup.php:37
1765
- #: wpf-includes/wpf-hooks.php:1414
1766
  msgid "Default"
1767
  msgstr ""
1768
 
@@ -1798,7 +1798,7 @@ msgid "Sitewide"
1798
  msgstr ""
1799
 
1800
  #: wpf-admin/options-tabs/features.php:88 wpf-includes/class-subscribes.php:25
1801
- #: wpf-includes/wpf-phrases.php:287 wpforo.php:427
1802
  msgid "Forum"
1803
  msgstr ""
1804
 
@@ -1856,7 +1856,7 @@ msgstr ""
1856
  msgid "one URL per line"
1857
  msgstr ""
1858
 
1859
- #: wpf-admin/options-tabs/general.php:48 wpf-includes/wpf-hooks.php:2675
1860
  msgid "Visit Forum"
1861
  msgstr ""
1862
 
@@ -2012,7 +2012,7 @@ msgstr ""
2012
  msgid "Member Custom Title by default"
2013
  msgstr ""
2014
 
2015
- #: wpf-admin/options-tabs/members.php:111 wpf-includes/wpf-hooks.php:1605
2016
  #: wpf-includes/wpf-phrases.php:433
2017
  msgid "Rating Level"
2018
  msgstr ""
@@ -2045,7 +2045,7 @@ msgstr ""
2045
  msgid "More"
2046
  msgstr ""
2047
 
2048
- #: wpf-admin/options-tabs/members.php:122 wpf-includes/wpf-hooks.php:1613
2049
  #: wpf-includes/wpf-phrases.php:344
2050
  msgid "Level"
2051
  msgstr ""
@@ -2571,7 +2571,7 @@ msgstr ""
2571
  msgid "Do not allow to attach files with following extensions:"
2572
  msgstr ""
2573
 
2574
- #: wpf-admin/tools-tabs/antispam.php:118 wpf-includes/wpf-hooks.php:2810
2575
  msgid "Google reCAPTCHA"
2576
  msgstr ""
2577
 
@@ -3944,7 +3944,7 @@ msgstr ""
3944
  msgid "Spoiler"
3945
  msgstr ""
3946
 
3947
- #: wpf-includes/class-template.php:2340 wpf-includes/wpf-phrases.php:513
3948
  msgid "Theme file not readable"
3949
  msgstr ""
3950
 
@@ -4256,30 +4256,30 @@ msgstr ""
4256
  msgid "No Title"
4257
  msgstr ""
4258
 
4259
- #: wpf-includes/functions.php:393 wpf-includes/wpf-phrases.php:327
4260
  msgid "Items"
4261
  msgstr ""
4262
 
4263
- #: wpf-includes/functions.php:394 wpf-includes/wpf-phrases.php:222
4264
  msgid "Apply"
4265
  msgstr ""
4266
 
4267
- #: wpf-includes/functions.php:828
4268
  #, php-format
4269
  msgid "Could not write file %s"
4270
  msgstr ""
4271
 
4272
- #: wpf-includes/functions.php:2429
4273
  msgid "Action Required!"
4274
  msgstr ""
4275
 
4276
- #: wpf-includes/functions.php:2429
4277
  msgid ""
4278
  "Please update wpForo addons CSS style to make compatible with the current "
4279
  "version of wpForo."
4280
  msgstr ""
4281
 
4282
- #: wpf-includes/functions.php:2430
4283
  msgid "Update CSS >>"
4284
  msgstr ""
4285
 
@@ -4376,66 +4376,66 @@ msgstr ""
4376
  msgid "Uninstall"
4377
  msgstr ""
4378
 
4379
- #: wpf-includes/wpf-hooks.php:1414
4380
  msgid "Clear"
4381
  msgstr ""
4382
 
4383
- #: wpf-includes/wpf-hooks.php:1414
4384
  msgid "Select Color"
4385
  msgstr ""
4386
 
4387
- #: wpf-includes/wpf-hooks.php:1419 wpf-includes/wpf-phrases.php:183
4388
  msgid "Move"
4389
  msgstr ""
4390
 
4391
- #: wpf-includes/wpf-hooks.php:1426
4392
  msgid "Please choose one reasons before sending a feedback!"
4393
  msgstr ""
4394
 
4395
- #: wpf-includes/wpf-hooks.php:1428
4396
  msgid ""
4397
  "With the email address, please check the \"I agree to receive email\" checkbox "
4398
  "to proceed."
4399
  msgstr ""
4400
 
4401
- #: wpf-includes/wpf-hooks.php:1429
4402
  msgid "Please fill your email address for feedback"
4403
  msgstr ""
4404
 
4405
- #: wpf-includes/wpf-hooks.php:1430
4406
  msgid "Your email address is not valid"
4407
  msgstr ""
4408
 
4409
- #: wpf-includes/wpf-hooks.php:1488
4410
  msgid ""
4411
  "IMPORTANT: wpForo can't work with default permalink, please change permalink "
4412
  "structure"
4413
  msgstr ""
4414
 
4415
- #: wpf-includes/wpf-hooks.php:1524
4416
  msgid "Forum Profile Fields - wpForo"
4417
  msgstr ""
4418
 
4419
- #: wpf-includes/wpf-hooks.php:1532
4420
  msgid "Forum - Usergroup"
4421
  msgstr ""
4422
 
4423
- #: wpf-includes/wpf-hooks.php:1537
4424
  #, php-format
4425
  msgid ""
4426
  "Forum Usergroups are synched with User Roles based on the %s. When you change "
4427
  "this user Role the Usergroup is automatically changed according to that table."
4428
  msgstr ""
4429
 
4430
- #: wpf-includes/wpf-hooks.php:1544
4431
  msgid "Synced with user role"
4432
  msgstr ""
4433
 
4434
- #: wpf-includes/wpf-hooks.php:1548
4435
  msgid "Role-Usergroup Synchronization is Turned ON!"
4436
  msgstr ""
4437
 
4438
- #: wpf-includes/wpf-hooks.php:1549
4439
  msgid ""
4440
  "This user Usergroup is automatically changed according to current Role. If you "
4441
  "want to disable Role-Usergroup synchronization and manage Usergroups and User "
@@ -4443,19 +4443,19 @@ msgid ""
4443
  "admin page and disable \"Role-Usergroup Synchronization\" option."
4444
  msgstr ""
4445
 
4446
- #: wpf-includes/wpf-hooks.php:1560
4447
  msgid "Forum - Secondary Usergroups"
4448
  msgstr ""
4449
 
4450
- #: wpf-includes/wpf-hooks.php:1582
4451
  msgid "Forum - User Timezone"
4452
  msgstr ""
4453
 
4454
- #: wpf-includes/wpf-hooks.php:1593
4455
  msgid "User Reputation"
4456
  msgstr ""
4457
 
4458
- #: wpf-includes/wpf-hooks.php:1594
4459
  msgid ""
4460
  "By default all members get rating badges and titles based on number of posts. "
4461
  "However, using this option you can grant lower or higher rating to certain "
@@ -4463,59 +4463,59 @@ msgid ""
4463
  "be managed in Forums > Settings > Members Tab."
4464
  msgstr ""
4465
 
4466
- #: wpf-includes/wpf-hooks.php:1598
4467
  msgid "Default Rating"
4468
  msgstr ""
4469
 
4470
- #: wpf-includes/wpf-hooks.php:1599
4471
  msgid "Custom Rating"
4472
  msgstr ""
4473
 
4474
- #: wpf-includes/wpf-hooks.php:1606 wpf-includes/wpf-phrases.php:865
4475
  msgid "Rating Title"
4476
  msgstr ""
4477
 
4478
- #: wpf-includes/wpf-hooks.php:1607 wpf-includes/wpf-phrases.php:430
4479
  msgid "Rating Badge"
4480
  msgstr ""
4481
 
4482
- #: wpf-includes/wpf-hooks.php:2030 wpf-includes/wpf-hooks.php:2130
4483
  msgid "Please Moderate: "
4484
  msgstr ""
4485
 
4486
- #: wpf-includes/wpf-hooks.php:2031
4487
  msgid ""
4488
  "This topic is currently unapproved. You can approve topics in Dashboard "
4489
  "&raquo; Forums &raquo; Moderation admin page."
4490
  msgstr ""
4491
 
4492
- #: wpf-includes/wpf-hooks.php:2131
4493
  msgid ""
4494
  "This post is currently unapproved. You can approve posts in Dashboard &raquo; "
4495
  "Forums &raquo; Moderation admin page."
4496
  msgstr ""
4497
 
4498
- #: wpf-includes/wpf-hooks.php:2667 wpf-includes/wpf-hooks.php:2689
4499
  msgid "New Forum"
4500
  msgstr ""
4501
 
4502
- #: wpf-includes/wpf-hooks.php:2669
4503
  msgid "New User Group"
4504
  msgstr ""
4505
 
4506
- #: wpf-includes/wpf-hooks.php:2671 wpf-includes/wpf-hooks.php:2717
4507
  msgid "New Phrase"
4508
  msgstr ""
4509
 
4510
- #: wpf-includes/wpf-hooks.php:2683
4511
  msgid "Forum Dashboard"
4512
  msgstr ""
4513
 
4514
- #: wpf-includes/wpf-hooks.php:2711
4515
  msgid "New Usergroup"
4516
  msgstr ""
4517
 
4518
- #: wpf-includes/wpf-hooks.php:2809 wpf-includes/wpf-phrases.php:1086
4519
  #, php-format
4520
  msgid ""
4521
  "IMPORTANT! The forum registration form is probably under risk of spam attacks. "
@@ -4525,17 +4525,17 @@ msgid ""
4525
  "dismiss this message."
4526
  msgstr ""
4527
 
4528
- #: wpf-includes/wpf-hooks.php:2840
4529
  msgid "wpForo Polls addon is disabled!"
4530
  msgstr ""
4531
 
4532
- #: wpf-includes/wpf-hooks.php:2840
4533
  msgid ""
4534
  " Your addon version is not compatible with the current version of wpForo. "
4535
  "Please update the addon or downgrade wpForo to 1.7.7"
4536
  msgstr ""
4537
 
4538
- #: wpf-includes/wpf-hooks.php:2841
4539
  msgid "dismiss"
4540
  msgstr ""
4541
 
@@ -5610,7 +5610,7 @@ msgstr ""
5610
 
5611
  #: wpf-includes/wpf-phrases.php:368
5612
  msgid ""
5613
- "You have been banned. Please contact the forum administratoristrators for more "
5614
  "information."
5615
  msgstr ""
5616
 
@@ -7826,78 +7826,90 @@ msgid ""
7826
  "of that topic. You can manage this option by forum layouts."
7827
  msgstr ""
7828
 
7829
- #: wpforo.php:428
7830
  msgid "Discussion Board"
7831
  msgstr ""
7832
 
7833
- #: wpforo.php:1152
7834
  msgid ""
7835
  "Allows you to create topic prefixes and prefix groups to categorize topics. "
7836
  "Also, it allows you to add, edit, delete topic tags and convert them to "
7837
  "prefixes."
7838
  msgstr ""
7839
 
7840
- #: wpforo.php:1153
7841
  msgid ""
7842
- "Syntax highlighting for forum posts, automatic language detection and multi-"
7843
- "language code highlighting."
7844
  msgstr ""
7845
 
7846
- #: wpforo.php:1154
7847
  msgid ""
7848
- "Allows to embed hundreds of video, social network, audio and photo content "
7849
- "providers in forum topics and posts."
7850
  msgstr ""
7851
 
7852
- #: wpforo.php:1155
7853
  msgid ""
7854
- "wpForo Polls is a complete addon to help forum members create, vote and manage "
7855
- "polls effectively. Comes with poll specific permissions and settings."
7856
  msgstr ""
7857
 
7858
- #: wpforo.php:1156
7859
  msgid ""
7860
- "Allows to create topic custom fields and manage topic form layout with a form "
7861
- "builder. Adds topic search options by custom fields"
7862
  msgstr ""
7863
 
7864
- #: wpforo.php:1157
7865
  msgid ""
7866
- "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. "
7867
- "Converts wpForo topic and posts, likes to myCRED points."
7868
  msgstr ""
7869
 
7870
- #: wpforo.php:1158
7871
  msgid ""
7872
- "Advanced user profile builder system. Allows to add new fields and manage "
7873
- "profile page. Creates custom Registration, Account, Member Search forms."
7874
  msgstr ""
7875
 
7876
- #: wpforo.php:1159
7877
  msgid ""
7878
- "Adds an advanced file attachment system to forum topics and posts. AJAX "
7879
- "powered media uploading and displaying system with user specific library."
7880
  msgstr ""
7881
 
7882
- #: wpforo.php:1160
7883
  msgid ""
7884
- "Provides a safe way to communicate directly with other members. Messages are "
7885
- "private and can only be viewed by conversation participants."
7886
  msgstr ""
7887
 
7888
- #: wpforo.php:1161
 
 
 
 
 
 
7889
  msgid ""
7890
  "Blog to Forum and Forum to Blog content synchronization. Blog posts with Forum "
7891
  "topics and Blog comments with Forum replies."
7892
  msgstr ""
7893
 
7894
- #: wpforo.php:1162
7895
  msgid ""
7896
  "Ads Manager is a powerful yet simple advertisement management system, that "
7897
  "allows you to add adverting banners between forums, topics and posts."
7898
  msgstr ""
7899
 
7900
- #: wpforo.php:1163
 
 
 
 
 
 
7901
  msgid ""
7902
  "Adds awesome Sticker and Emoticons packs to editor. Allows to create new "
7903
  "custom emoticons packs."
5
  msgstr ""
6
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
7
  "Project-Id-Version: Forum - wpForo\n"
8
+ "POT-Creation-Date: 2021-07-11 13:47+0400\n"
9
  "PO-Revision-Date: 2016-06-28 21:09+0400\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
73
  #: wpf-admin/options.php:15 wpf-admin/tools-tabs/misc.php:94
74
  #: wpf-includes/integration/buddypress.php:11
75
  #: wpf-includes/integration/buddypress.php:57
76
+ #: wpf-includes/integration/buddypress.php:129 wpf-includes/wpf-hooks.php:2694
77
  #: wpf-includes/wpf-phrases.php:309
78
  msgid "Forums"
79
  msgstr ""
80
 
81
  #: wpf-admin/admin.php:42 wpf-includes/wpf-hooks.php:22
82
+ #: wpf-includes/wpf-hooks.php:2700
83
  msgid "Settings"
84
  msgstr ""
85
 
86
+ #: wpf-admin/admin.php:45 wpf-includes/wpf-hooks.php:2704
87
  #: wpf-includes/wpf-phrases.php:916
88
  msgid "Tools"
89
  msgstr ""
90
 
91
+ #: wpf-admin/admin.php:48 wpf-includes/wpf-hooks.php:2708
92
  msgid "Moderation"
93
  msgstr ""
94
 
95
  #: wpf-admin/admin.php:51 wpf-admin/dashboard.php:132 wpf-admin/member.php:10
96
  #: wpf-admin/options.php:18 wpf-admin/tools-tabs/misc.php:114
97
+ #: wpf-admin/usergroup.php:36 wpf-includes/wpf-hooks.php:2712
98
  #: wpf-includes/wpf-phrases.php:364
99
  msgid "Members"
100
  msgstr ""
101
 
102
  #: wpf-admin/admin.php:54 wpf-admin/usergroup.php:11 wpf-admin/usergroup.php:155
103
+ #: wpf-includes/wpf-hooks.php:2716
104
  msgid "Usergroups"
105
  msgstr ""
106
 
107
+ #: wpf-admin/admin.php:57 wpf-includes/wpf-hooks.php:2722
108
  #: wpf-includes/wpf-phrases.php:791
109
  msgid "Phrases"
110
  msgstr ""
111
 
112
+ #: wpf-admin/admin.php:60 wpf-includes/wpf-hooks.php:2728
113
  #: wpf-includes/wpf-phrases.php:792
114
  msgid "Themes"
115
  msgstr ""
116
 
117
  #: wpf-admin/admin.php:63 wpf-admin/options.php:24
118
+ #: wpf-includes/wpf-hooks.php:2732 wpf-includes/wpf-phrases.php:211
119
  msgid "Addons"
120
  msgstr ""
121
 
370
  msgid "Other"
371
  msgstr ""
372
 
373
+ #: wpf-admin/deactivation-dialog.php:142 wpf-includes/wpf-hooks.php:1432
374
  msgid "Please provide more information"
375
  msgstr ""
376
 
386
  msgid "Thank you for your feedback!"
387
  msgstr ""
388
 
389
+ #: wpf-admin/forum.php:15 wpf-includes/functions.php:388
390
  #: wpf-includes/wpf-phrases.php:487
391
  msgid "Show on screen"
392
  msgstr ""
416
  msgid "Number of Columns"
417
  msgstr ""
418
 
419
+ #: wpf-admin/forum.php:34 wpf-includes/functions.php:402
420
  #: wpf-includes/wpf-phrases.php:460
421
  msgid "Screen Options"
422
  msgstr ""
533
  #: wpf-admin/includes/moderation-listtable.php:92
534
  #: wpf-admin/includes/moderation-listtable.php:193 wpf-admin/themes.php:68
535
  #: wpf-admin/tools-tabs/antispam.php:313 wpf-admin/usergroup.php:75
536
+ #: wpf-admin/usergroup.php:276 wpf-includes/wpf-hooks.php:1425
537
  #: wpf-includes/wpf-phrases.php:252
538
  msgid "Delete"
539
  msgstr ""
1762
  msgstr ""
1763
 
1764
  #: wpf-admin/options-tabs/features.php:81 wpf-admin/usergroup.php:37
1765
+ #: wpf-includes/wpf-hooks.php:1419
1766
  msgid "Default"
1767
  msgstr ""
1768
 
1798
  msgstr ""
1799
 
1800
  #: wpf-admin/options-tabs/features.php:88 wpf-includes/class-subscribes.php:25
1801
+ #: wpf-includes/wpf-phrases.php:287 wpforo.php:439
1802
  msgid "Forum"
1803
  msgstr ""
1804
 
1856
  msgid "one URL per line"
1857
  msgstr ""
1858
 
1859
+ #: wpf-admin/options-tabs/general.php:48 wpf-includes/wpf-hooks.php:2682
1860
  msgid "Visit Forum"
1861
  msgstr ""
1862
 
2012
  msgid "Member Custom Title by default"
2013
  msgstr ""
2014
 
2015
+ #: wpf-admin/options-tabs/members.php:111 wpf-includes/wpf-hooks.php:1610
2016
  #: wpf-includes/wpf-phrases.php:433
2017
  msgid "Rating Level"
2018
  msgstr ""
2045
  msgid "More"
2046
  msgstr ""
2047
 
2048
+ #: wpf-admin/options-tabs/members.php:122 wpf-includes/wpf-hooks.php:1618
2049
  #: wpf-includes/wpf-phrases.php:344
2050
  msgid "Level"
2051
  msgstr ""
2571
  msgid "Do not allow to attach files with following extensions:"
2572
  msgstr ""
2573
 
2574
+ #: wpf-admin/tools-tabs/antispam.php:118 wpf-includes/wpf-hooks.php:2817
2575
  msgid "Google reCAPTCHA"
2576
  msgstr ""
2577
 
3944
  msgid "Spoiler"
3945
  msgstr ""
3946
 
3947
+ #: wpf-includes/class-template.php:2350 wpf-includes/wpf-phrases.php:513
3948
  msgid "Theme file not readable"
3949
  msgstr ""
3950
 
4256
  msgid "No Title"
4257
  msgstr ""
4258
 
4259
+ #: wpf-includes/functions.php:392 wpf-includes/wpf-phrases.php:327
4260
  msgid "Items"
4261
  msgstr ""
4262
 
4263
+ #: wpf-includes/functions.php:393 wpf-includes/wpf-phrases.php:222
4264
  msgid "Apply"
4265
  msgstr ""
4266
 
4267
+ #: wpf-includes/functions.php:844
4268
  #, php-format
4269
  msgid "Could not write file %s"
4270
  msgstr ""
4271
 
4272
+ #: wpf-includes/functions.php:2445
4273
  msgid "Action Required!"
4274
  msgstr ""
4275
 
4276
+ #: wpf-includes/functions.php:2445
4277
  msgid ""
4278
  "Please update wpForo addons CSS style to make compatible with the current "
4279
  "version of wpForo."
4280
  msgstr ""
4281
 
4282
+ #: wpf-includes/functions.php:2446
4283
  msgid "Update CSS >>"
4284
  msgstr ""
4285
 
4376
  msgid "Uninstall"
4377
  msgstr ""
4378
 
4379
+ #: wpf-includes/wpf-hooks.php:1419
4380
  msgid "Clear"
4381
  msgstr ""
4382
 
4383
+ #: wpf-includes/wpf-hooks.php:1419
4384
  msgid "Select Color"
4385
  msgstr ""
4386
 
4387
+ #: wpf-includes/wpf-hooks.php:1424 wpf-includes/wpf-phrases.php:183
4388
  msgid "Move"
4389
  msgstr ""
4390
 
4391
+ #: wpf-includes/wpf-hooks.php:1431
4392
  msgid "Please choose one reasons before sending a feedback!"
4393
  msgstr ""
4394
 
4395
+ #: wpf-includes/wpf-hooks.php:1433
4396
  msgid ""
4397
  "With the email address, please check the \"I agree to receive email\" checkbox "
4398
  "to proceed."
4399
  msgstr ""
4400
 
4401
+ #: wpf-includes/wpf-hooks.php:1434
4402
  msgid "Please fill your email address for feedback"
4403
  msgstr ""
4404
 
4405
+ #: wpf-includes/wpf-hooks.php:1435
4406
  msgid "Your email address is not valid"
4407
  msgstr ""
4408
 
4409
+ #: wpf-includes/wpf-hooks.php:1493
4410
  msgid ""
4411
  "IMPORTANT: wpForo can't work with default permalink, please change permalink "
4412
  "structure"
4413
  msgstr ""
4414
 
4415
+ #: wpf-includes/wpf-hooks.php:1529
4416
  msgid "Forum Profile Fields - wpForo"
4417
  msgstr ""
4418
 
4419
+ #: wpf-includes/wpf-hooks.php:1537
4420
  msgid "Forum - Usergroup"
4421
  msgstr ""
4422
 
4423
+ #: wpf-includes/wpf-hooks.php:1542
4424
  #, php-format
4425
  msgid ""
4426
  "Forum Usergroups are synched with User Roles based on the %s. When you change "
4427
  "this user Role the Usergroup is automatically changed according to that table."
4428
  msgstr ""
4429
 
4430
+ #: wpf-includes/wpf-hooks.php:1549
4431
  msgid "Synced with user role"
4432
  msgstr ""
4433
 
4434
+ #: wpf-includes/wpf-hooks.php:1553
4435
  msgid "Role-Usergroup Synchronization is Turned ON!"
4436
  msgstr ""
4437
 
4438
+ #: wpf-includes/wpf-hooks.php:1554
4439
  msgid ""
4440
  "This user Usergroup is automatically changed according to current Role. If you "
4441
  "want to disable Role-Usergroup synchronization and manage Usergroups and User "
4443
  "admin page and disable \"Role-Usergroup Synchronization\" option."
4444
  msgstr ""
4445
 
4446
+ #: wpf-includes/wpf-hooks.php:1565
4447
  msgid "Forum - Secondary Usergroups"
4448
  msgstr ""
4449
 
4450
+ #: wpf-includes/wpf-hooks.php:1587
4451
  msgid "Forum - User Timezone"
4452
  msgstr ""
4453
 
4454
+ #: wpf-includes/wpf-hooks.php:1598
4455
  msgid "User Reputation"
4456
  msgstr ""
4457
 
4458
+ #: wpf-includes/wpf-hooks.php:1599
4459
  msgid ""
4460
  "By default all members get rating badges and titles based on number of posts. "
4461
  "However, using this option you can grant lower or higher rating to certain "
4463
  "be managed in Forums > Settings > Members Tab."
4464
  msgstr ""
4465
 
4466
+ #: wpf-includes/wpf-hooks.php:1603
4467
  msgid "Default Rating"
4468
  msgstr ""
4469
 
4470
+ #: wpf-includes/wpf-hooks.php:1604
4471
  msgid "Custom Rating"
4472
  msgstr ""
4473
 
4474
+ #: wpf-includes/wpf-hooks.php:1611 wpf-includes/wpf-phrases.php:865
4475
  msgid "Rating Title"
4476
  msgstr ""
4477
 
4478
+ #: wpf-includes/wpf-hooks.php:1612 wpf-includes/wpf-phrases.php:430
4479
  msgid "Rating Badge"
4480
  msgstr ""
4481
 
4482
+ #: wpf-includes/wpf-hooks.php:2035 wpf-includes/wpf-hooks.php:2135
4483
  msgid "Please Moderate: "
4484
  msgstr ""
4485
 
4486
+ #: wpf-includes/wpf-hooks.php:2036
4487
  msgid ""
4488
  "This topic is currently unapproved. You can approve topics in Dashboard "
4489
  "&raquo; Forums &raquo; Moderation admin page."
4490
  msgstr ""
4491
 
4492
+ #: wpf-includes/wpf-hooks.php:2136
4493
  msgid ""
4494
  "This post is currently unapproved. You can approve posts in Dashboard &raquo; "
4495
  "Forums &raquo; Moderation admin page."
4496
  msgstr ""
4497
 
4498
+ #: wpf-includes/wpf-hooks.php:2674 wpf-includes/wpf-hooks.php:2696
4499
  msgid "New Forum"
4500
  msgstr ""
4501
 
4502
+ #: wpf-includes/wpf-hooks.php:2676
4503
  msgid "New User Group"
4504
  msgstr ""
4505
 
4506
+ #: wpf-includes/wpf-hooks.php:2678 wpf-includes/wpf-hooks.php:2724
4507
  msgid "New Phrase"
4508
  msgstr ""
4509
 
4510
+ #: wpf-includes/wpf-hooks.php:2690
4511
  msgid "Forum Dashboard"
4512
  msgstr ""
4513
 
4514
+ #: wpf-includes/wpf-hooks.php:2718
4515
  msgid "New Usergroup"
4516
  msgstr ""
4517
 
4518
+ #: wpf-includes/wpf-hooks.php:2816 wpf-includes/wpf-phrases.php:1086
4519
  #, php-format
4520
  msgid ""
4521
  "IMPORTANT! The forum registration form is probably under risk of spam attacks. "
4525
  "dismiss this message."
4526
  msgstr ""
4527
 
4528
+ #: wpf-includes/wpf-hooks.php:2847
4529
  msgid "wpForo Polls addon is disabled!"
4530
  msgstr ""
4531
 
4532
+ #: wpf-includes/wpf-hooks.php:2847
4533
  msgid ""
4534
  " Your addon version is not compatible with the current version of wpForo. "
4535
  "Please update the addon or downgrade wpForo to 1.7.7"
4536
  msgstr ""
4537
 
4538
+ #: wpf-includes/wpf-hooks.php:2848
4539
  msgid "dismiss"
4540
  msgstr ""
4541
 
5610
 
5611
  #: wpf-includes/wpf-phrases.php:368
5612
  msgid ""
5613
+ "You have been banned. Please contact the forum administrator for more "
5614
  "information."
5615
  msgstr ""
5616
 
7826
  "of that topic. You can manage this option by forum layouts."
7827
  msgstr ""
7828
 
7829
+ #: wpforo.php:440
7830
  msgid "Discussion Board"
7831
  msgstr ""
7832
 
7833
+ #: wpforo.php:1162
7834
  msgid ""
7835
  "Allows you to create topic prefixes and prefix groups to categorize topics. "
7836
  "Also, it allows you to add, edit, delete topic tags and convert them to "
7837
  "prefixes."
7838
  msgstr ""
7839
 
7840
+ #: wpforo.php:1163
7841
  msgid ""
7842
+ "Adds Tenor [GIF] button and opens popup where you can search for gifs and "
7843
+ "insert them in topic, post and private message content."
7844
  msgstr ""
7845
 
7846
+ #: wpforo.php:1164
7847
  msgid ""
7848
+ "Adds GIPHY [GIF] button and opens popup where you can search for gifs and "
7849
+ "insert them in topic, post and private message content."
7850
  msgstr ""
7851
 
7852
+ #: wpforo.php:1165
7853
  msgid ""
7854
+ "Adds an advanced file attachment system to forum topics and posts. AJAX "
7855
+ "powered media uploading and displaying system with user specific library."
7856
  msgstr ""
7857
 
7858
+ #: wpforo.php:1166
7859
  msgid ""
7860
+ "Allows to embed hundreds of video, social network, audio and photo content "
7861
+ "providers in forum topics and posts."
7862
  msgstr ""
7863
 
7864
+ #: wpforo.php:1167
7865
  msgid ""
7866
+ "Advanced user profile builder system. Allows to add new fields and manage "
7867
+ "profile page. Creates custom Registration, Account, Member Search forms."
7868
  msgstr ""
7869
 
7870
+ #: wpforo.php:1168
7871
  msgid ""
7872
+ "Provides a safe way to communicate directly with other members. Messages are "
7873
+ "private and can only be viewed by conversation participants."
7874
  msgstr ""
7875
 
7876
+ #: wpforo.php:1169
7877
  msgid ""
7878
+ "Allows to create topic custom fields and manage topic form layout with a form "
7879
+ "builder. Adds topic search options by custom fields"
7880
  msgstr ""
7881
 
7882
+ #: wpforo.php:1170
7883
  msgid ""
7884
+ "Syntax highlighting for forum posts, automatic language detection and multi-"
7885
+ "language code highlighting."
7886
  msgstr ""
7887
 
7888
+ #: wpforo.php:1171
7889
+ msgid ""
7890
+ "Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. "
7891
+ "Converts wpForo topic and posts, likes to myCRED points."
7892
+ msgstr ""
7893
+
7894
+ #: wpforo.php:1172
7895
  msgid ""
7896
  "Blog to Forum and Forum to Blog content synchronization. Blog posts with Forum "
7897
  "topics and Blog comments with Forum replies."
7898
  msgstr ""
7899
 
7900
+ #: wpforo.php:1173
7901
  msgid ""
7902
  "Ads Manager is a powerful yet simple advertisement management system, that "
7903
  "allows you to add adverting banners between forums, topics and posts."
7904
  msgstr ""
7905
 
7906
+ #: wpforo.php:1174
7907
+ msgid ""
7908
+ "wpForo Polls is a complete addon to help forum members create, vote and manage "
7909
+ "polls effectively. Comes with poll specific permissions and settings."
7910
+ msgstr ""
7911
+
7912
+ #: wpforo.php:1175
7913
  msgid ""
7914
  "Adds awesome Sticker and Emoticons packs to editor. Allows to create new "
7915
  "custom emoticons packs."
wpf-themes/classic/colors.css CHANGED
@@ -729,7 +729,48 @@ body.wpf-dark #wpf-msg-box a:hover, body.wpf-dark #wpf-msg-box a:active{color:#6
729
  #wpforo #wpforo-wrap {
730
  font-size: 13px; width: 100%; padding:10px 0; margin:0px;
731
  }
732
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
733
  #wpforo #wpfa_dialog_wrap #wpfa_dialog{background-color: #ffffff; border-color: #e6e6e6;}
734
  .wpf-dark #wpforo #wpfa_dialog_wrap #wpfa_dialog{background-color: #2f2c2c;}
735
  #wpforo #wpfa_dialog #wpfa_dialog_items .wpfa-error .fa,
729
  #wpforo #wpforo-wrap {
730
  font-size: 13px; width: 100%; padding:10px 0; margin:0px;
731
  }
732
+ #wpforo #wpforo-wrap #wpfe-wrap .wpfe-pack-tab.wpfe-active{border-color: #43a6df; color: #43a6df;}
733
+ #wpforo #wpforo-wrap #wpf-pm-load-more{color: #0099cc;}
734
+ #wpforo #wpforo-wrap .wpforo-messages-content .whr{ border-top: 1px solid #e6e6e6 !important; color: #cccccc; }
735
+ #wpforo #wpforo-wrap .wpforo-messages-content .whr abbr{ background-color: #ffffff; }
736
+ #wpforo #wpforo-wrap .wpfpm-msg-inner{border-color: #e6e6e6; background-color: #e6e6e6; color:#555555}
737
+ #wpforo #wpforo-wrap .wpfpm-msg-before:before{border-top-color: #e6e6e6;}
738
+ #wpforo #wpforo-wrap .wpfpm-me .wpfpm-msg-inner{ background-color: #f5f5f5; border-color: #f5f5f5; color: #555555; }
739
+ #wpforo #wpforo-wrap .wpfpm-me .wpfpm-msg-before:before{border-top-color: #f5f5f5;}
740
+ #wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-left{border-color: #e6e6e6 }
741
+ #wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main{background-color: #ffffff;}
742
+ #wpforo #wpforo-wrap .wpforo-messages-content .wpfpm-main .wpfpm-form-wrapper{ border-top: #43a6df 1px dotted;}
743
+ #wpforo #wpforo-wrap .wpfpm-uli{ background-color: #f5f5f5; border-top-color: #e6e6e6; border-bottom-color: #ffffff;}
744
+ #wpforo #wpforo-wrap .wpfpm-uli-active, #wpforo #wpforo-wrap .wpfpm-uli:hover{background-color: #43a6df;}
745
+ #wpforo #wpforo-wrap .wpfpm-uli-active a, .wpfpm-uli:hover a, .wpfpm-uli a:hover{color: #ffffff !important;}
746
+ #wpforo #wpforo-wrap .wpfpm-content{ background-color: #ffffff !important; }
747
+ #wpforo #wpforo-wrap .wpforo-messages-content *::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); }
748
+ #wpforo #wpforo-wrap .wpforo-messages-content *::-webkit-scrollbar-thumb { background: #555555; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); }
749
+ #wpforo #wpforo-wrap .wpforo-messages-content *::-webkit-scrollbar-thumb:window-inactive { background: #555555; }
750
+ #wpforo #wpforo-wrap .wpforo-profile-wrap .wpfpm-toolbar{ background-color: #f5f5f5; color: #555555; }
751
+ #wpforo #wpforo-wrap .wpforo-profile-wrap .wpfpm-toolbar #wpfpm-tools li a{ color: #555555; }
752
+ #wpforo #wpforo-wrap .wpforo-profile-wrap #wpfpm-ul-users-tooltip-wrap:hover,
753
+ #wpforo #wpforo-wrap .wpforo-profile-wrap #wpfpm_left_toggle_button:hover,
754
+ #wpforo #wpforo-wrap .wpforo-profile-wrap .wpfpm-toolbar #wpfpm-tools li:hover a,
755
+ #wpforo #wpforo-wrap .wpforo-profile-wrap .wpfpm-toolbar #wpfpm-tools li:hover,
756
+ #wpforo #wpforo-wrap .wpfpm-add-user:hover, #wpforo #wpforo-wrap .wpfpm-add-user .wpfpm-add-user-go{ color: #43a6df; }
757
+ #wpforo #wpforo-wrap .wpfpm-uli-cog-tooltip li:hover{ background-color: #0099cc; color: white; }
758
+ #wpforo #wpforo-wrap #wpfpm-uli-users-wrap .wpfpm-ul-users-tooltip li:hover{ background-color: #0099cc; color: white; }
759
+ #wpforo #wpforo-wrap #wpfpm-users-datalist > li.wpfpm-datalist-user:hover, #wpforo #wpforo-wrap #wpfpm-users-datalist > li.wpfpm-datalist-user:focus{ background-color: #0099cc; color: white; }
760
+ #wpforo #wpforo-wrap .wpfpm-uli-avatar .wpfpm-add{ border-color: #43a6df; background: #ffffff; color: #43a6df; }
761
+ #wpforo #wpforo-wrap .wpfpm-uli-has-message{border-bottom: 2px solid #ff812d !important;}
762
+ #wpforo #wpforo-wrap .wpfpm-uli-unread-count{background-color: #ff812d; color: #ffffff;}
763
+ #wpforo #wpforo-wrap .wpfpm_avatar_ban{color:#ff812d;}
764
+ #wpforo #wpforo-wrap .wpfpm-form-blocked{border-bottom: 1px solid #ff812d;color: #ff812d;}
765
+ #wpforo #wpforo-wrap .wpforo-messages-content{border:#e6e6e6 1px solid;}
766
+ #wpforo #wpforo-wrap.wpf-dark .wpforo-profile-wrap .wpfpm-toolbar, #wpforo #wpforo-wrap.wpf-dark #wpfpm_left_toggle_button{color:#dadada;}
767
+ #wpforo #wpforo-wrap.wpf-dark .wpfpm-msg-inner, #wpforo #wpforo-wrap.wpf-dark .wpfpm-msg-inner p{color:#dadada;}
768
+ #wpforo #wpforo-wrap.wpf-dark .wpf-post-create{border:none;}
769
+ #wpforo #wpforo-wrap.wpf-dark .wpfpm-uli-avatar .wpfpm-add{background:#dadada;}
770
+ #wpforo #wpforo-wrap.wpf-dark .wpfpm-uli-details{color:#dadada;}
771
+ #wpforo #wpforo-wrap.wpf-dark .wpforo-messages-content *::-webkit-scrollbar-thumb,
772
+ #wpforo #wpforo-wrap.wpf-dark .wpforo-messages-content *::-webkit-scrollbar-thumb:window-inactive { background: #0099cc; }
773
+
774
  #wpforo #wpfa_dialog_wrap #wpfa_dialog{background-color: #ffffff; border-color: #e6e6e6;}
775
  .wpf-dark #wpforo #wpfa_dialog_wrap #wpfa_dialog{background-color: #2f2c2c;}
776
  #wpforo #wpfa_dialog #wpfa_dialog_items .wpfa-error .fa,
wpf-themes/classic/index.php CHANGED
@@ -43,7 +43,7 @@ if( WPF()->use_home_url ) get_header(); ?>
43
 
44
  else : ?>
45
  <p class="wpf-p-error">
46
- <?php wpforo_phrase('You have been banned. Please contact the forum administratoristrators for more information.') ?>
47
  </p>
48
  <?php endif; ?>
49
  </div>
43
 
44
  else : ?>
45
  <p class="wpf-p-error">
46
+ <?php wpforo_phrase('You have been banned. Please contact the forum administrator for more information.') ?>
47
  </p>
48
  <?php endif; ?>
49
  </div>
wpf-themes/classic/layouts/1/post.php CHANGED
@@ -22,7 +22,7 @@
22
  foreach($posts as $key => $post) : ?>
23
 
24
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
25
- <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( $member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
27
  <div class="wpforo-post wpfcl-1">
28
  <div class="wpf-left">
22
  foreach($posts as $key => $post) : ?>
23
 
24
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
25
+ <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $member['user_nicename'] : '' ) ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
27
  <div class="wpforo-post wpfcl-1">
28
  <div class="wpf-left">
wpf-themes/classic/layouts/2/post.php CHANGED
@@ -22,7 +22,7 @@
22
  <?php foreach($posts as $key => $post) : ?>
23
 
24
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
25
- <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( $member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
27
  <div class="wpforo-post wpfcl-1">
28
  <div class="wpf-left">
22
  <?php foreach($posts as $key => $post) : ?>
23
 
24
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
25
+ <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $member['user_nicename'] : '') ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
27
  <div class="wpforo-post wpfcl-1">
28
  <div class="wpf-left">
wpf-themes/classic/layouts/3/comment.php CHANGED
@@ -1,12 +1,11 @@
1
  <?php
2
  // Exit if accessed directly
3
  if( !defined( 'ABSPATH' ) ) exit;
4
- ?>
5
 
6
- <?php function wpforo_qa_comment_template($comment, $forum = array(), $topic = array()){
7
  if( !$forum ) $forum = (array) wpfval(WPF()->current_object, 'forum');
8
  $comment_member = wpforo_member($comment); ?>
9
- <div id="post-<?php echo wpforo_bigintval($comment['postid']) ?>" data-postid="<?php echo wpforo_bigintval($comment['postid']) ?>" data-userid="<?php echo wpforo_bigintval($comment_member['userid']) ?>" data-mention="<?php echo esc_attr( $comment_member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($comment_member['userid']) ) ?>" class="comment-wrap">
10
  <div class="wpforo-comment wpfcl-1">
11
  <div class="wpf-left">
12
  <div class="wpf-comment-icon wpfcl-0"><i class="fas fa-reply fa-rotate-180"></i></div>
1
  <?php
2
  // Exit if accessed directly
3
  if( !defined( 'ABSPATH' ) ) exit;
 
4
 
5
+ function wpforo_qa_comment_template($comment, $forum = array(), $topic = array()){
6
  if( !$forum ) $forum = (array) wpfval(WPF()->current_object, 'forum');
7
  $comment_member = wpforo_member($comment); ?>
8
+ <div id="post-<?php echo wpforo_bigintval($comment['postid']) ?>" data-postid="<?php echo wpforo_bigintval($comment['postid']) ?>" data-userid="<?php echo wpforo_bigintval($comment_member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $comment_member['user_nicename'] : '') ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($comment_member['userid']) ) ?>" class="comment-wrap">
9
  <div class="wpforo-comment wpfcl-1">
10
  <div class="wpf-left">
11
  <div class="wpf-comment-icon wpfcl-0"><i class="fas fa-reply fa-rotate-180"></i></div>
wpf-themes/classic/layouts/3/post.php CHANGED
@@ -25,7 +25,7 @@
25
  <div class="wpforo-qa-item-wrap">
26
  <?php if($post['parentid'] == 0): ?>
27
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
28
- <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( $member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( !$post['is_first_post'] ) echo ' wpf-answer-wrap'; else echo ' wpfp-first'; ?>" <?php echo ($key == 1) ? ' style="border-top:none;" ' : ''; ?>>
29
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
30
  <div class="wpforo-post wpfcl-1">
31
  <div class="wpf-left">
25
  <div class="wpforo-qa-item-wrap">
26
  <?php if($post['parentid'] == 0): ?>
27
  <?php $member = wpforo_member($post); $post_url = wpforo_post($post['postid'],'url'); ?>
28
+ <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $member['user_nicename'] : '') ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap wpfn-<?php echo ($key+1); ?><?php if( !$post['is_first_post'] ) echo ' wpf-answer-wrap'; else echo ' wpfp-first'; ?>" <?php echo ($key == 1) ? ' style="border-top:none;" ' : ''; ?>>
29
  <?php wpforo_share_toggle($post_url, $post['body']); ?>
30
  <div class="wpforo-post wpfcl-1">
31
  <div class="wpf-left">
wpf-themes/classic/layouts/4/post-thread.php CHANGED
@@ -6,7 +6,7 @@ if( !defined( 'ABSPATH' ) ) exit;
6
  function wpforo_thread_reply_template( $post, $topic = array(), $forum = array(), $level = 0, $parents = array() ){
7
  $member = wpforo_member($post);
8
  ?>
9
- <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( $member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="reply-wrap">
10
  <div class="wpforo-post wpf-child-post wpfcl-1">
11
  <div class="wpf-reply-head">
12
  <?php if( WPF()->perm->usergroup_can('va') && wpforo_feature('avatars') ): ?>
6
  function wpforo_thread_reply_template( $post, $topic = array(), $forum = array(), $level = 0, $parents = array() ){
7
  $member = wpforo_member($post);
8
  ?>
9
+ <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $member['user_nicename'] : '') ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="reply-wrap">
10
  <div class="wpforo-post wpf-child-post wpfcl-1">
11
  <div class="wpf-reply-head">
12
  <?php if( WPF()->perm->usergroup_can('va') && wpforo_feature('avatars') ): ?>
wpf-themes/classic/layouts/4/post.php CHANGED
@@ -22,7 +22,7 @@
22
 
23
  <?php foreach($posts as $key => $post) : ?>
24
  <?php $post = wpforo_post($post['postid']); $member = wpforo_member($post); $replies = WPF()->post->get_thread_tree($post); $reply_count = (wpfval($replies, 'count')) ? $replies['count'] : 0; ?>
25
- <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( $member['user_nicename'] ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap reply-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post['url'], $post['body']); ?>
27
  <div class="wpforo-post wpf-parent-post wpfcl-1">
28
  <div class="wpf-left">
22
 
23
  <?php foreach($posts as $key => $post) : ?>
24
  <?php $post = wpforo_post($post['postid']); $member = wpforo_member($post); $replies = WPF()->post->get_thread_tree($post); $reply_count = (wpfval($replies, 'count')) ? $replies['count'] : 0; ?>
25
+ <div id="post-<?php echo wpforo_bigintval($post['postid']) ?>" data-postid="<?php echo wpforo_bigintval($post['postid']) ?>" data-userid="<?php echo wpforo_bigintval($member['userid']) ?>" data-mention="<?php echo esc_attr( ( wpforo_feature('mention-nicknames') ? $member['user_nicename'] : '') ) ?>" data-isowner="<?php echo esc_attr( (int) (bool) wpforo_is_owner($member['userid']) ) ?>" class="post-wrap reply-wrap wpfn-<?php echo ($key+1); ?><?php if( $post['is_first_post'] ) echo ' wpfp-first' ?>">
26
  <?php wpforo_share_toggle($post['url'], $post['body']); ?>
27
  <div class="wpforo-post wpf-parent-post wpfcl-1">
28
  <div class="wpf-left">
wpf-themes/classic/style-rtl.css CHANGED
@@ -292,7 +292,7 @@ RTL Style of Classic Theme
292
  #wpforo #wpforo-wrap .wpf-post-edit-wrap .wpf-post-edited i{ padding: 0 2px 0 5px;}
293
  #wpforo #wpforo-wrap .wpf-extra-fields{line-height: 2em;}
294
  #wpforo #wpforo-wrap .wpf-extra-fields > br:first-of-type{display: none;}
295
- #wpforo #wpforo-wrap .wpf-extra-fields .wpf-default-attachment{padding-top: 5px;}
296
 
297
  #wpforo #wpforo-wrap .wpf_forum_unread, #wpforo #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
298
  #wpforo #wpforo-wrap .wpf_topic_unread, #wpforo #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
@@ -966,11 +966,11 @@ RTL Style of Classic Theme
966
  #wpforo #wpforo-wrap .mce-caret:hover { background-color:inherit;}
967
  #wpforo #wpforo-wrap .mce-disabled .mce-caret {border-top-color: #aaa;}
968
  #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group { width: 100%; }
969
- #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: left; }
970
  #wpforo #wpforo-wrap #wpf-profile-account-form .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: none; }
971
 
972
  #wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
973
- #wpforo #wpforo-wrap .wpf-post-create{padding:10px 0; margin:10px 0;}
974
  #wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
975
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 5px 0 10px; margin-bottom:10px;}
976
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
@@ -1003,7 +1003,7 @@ RTL Style of Classic Theme
1003
 
1004
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap{display: none;background-color: #F5F5F5;}
1005
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpforo-post-form {padding: 5px 15px 15px 15px;}
1006
- #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf_post_form_textarea_wrap{padding: 5px 0;}
1007
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap textarea.wpf_post_body{resize: vertical;width: 100%;min-height: 80px;padding: 10px;}
1008
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button, #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button-secondary{float: left;}
1009
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-topic-sbs{float: right;}
@@ -1286,6 +1286,16 @@ body.wpforo-dialog-visible #wpforo-dialog-extra-wrap{display: block;}
1286
  #wpforo-dialog #wpforo-report-content{width: 100%;resize: vertical;min-height: 150px;max-height: 80%;padding: 10px;margin-bottom: 10px;}
1287
  #wpforo-dialog input[type="submit"], #wpforo-dialog input[type="reset"], #wpforo-dialog input[type="button"], #wpforo-dialog button{border-radius: 0;font-weight: normal;padding: 5px 15px!important;font-size: 13px;cursor: pointer;line-height: 16px;box-shadow: 0 1px 1px #999999;outline: 0;float: left;}
1288
  #wpforo-report{display: none;}
 
 
 
 
 
 
 
 
 
 
1289
 
1290
  /****************************************************/
1291
  /**************** wpForo Waring Message *************/
@@ -1991,4 +2001,14 @@ body.wpforo-dialog-visible #wpforo-dialog-extra-wrap{display: block;}
1991
  .wpforo-widget-wrap .wpf-button{padding:5px 15px!important; font-size:13px; font-weight:normal; cursor:pointer; line-height: 16px; border-radius: 0; white-space:nowrap; box-shadow: 0 1px 1px #999999; outline: 0;}
1992
  .wpforo-widget-wrap .wpf-button i{margin-right: 3px;}
1993
  .wpforo-widget-wrap .wpf-button-secondary{border-radius: 0; padding: 5px 15px; margin: 0 10px; background-color: #F5F5F5; opacity: 0.8; color: #555555; border: 1px solid #cccccc; line-height: 16px; font-size: 13px;}
1994
- .wpforo-widget-wrap .wpf-button-secondary:hover{opacity: 1;}
 
 
 
 
 
 
 
 
 
 
292
  #wpforo #wpforo-wrap .wpf-post-edit-wrap .wpf-post-edited i{ padding: 0 2px 0 5px;}
293
  #wpforo #wpforo-wrap .wpf-extra-fields{line-height: 2em;}
294
  #wpforo #wpforo-wrap .wpf-extra-fields > br:first-of-type{display: none;}
295
+ #wpforo #wpforo-wrap .wpf-extra-fields .wpf-default-attachment{padding-top: 5px; text-align: right;}
296
 
297
  #wpforo #wpforo-wrap .wpf_forum_unread, #wpforo #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
298
  #wpforo #wpforo-wrap .wpf_topic_unread, #wpforo #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
966
  #wpforo #wpforo-wrap .mce-caret:hover { background-color:inherit;}
967
  #wpforo #wpforo-wrap .mce-disabled .mce-caret {border-top-color: #aaa;}
968
  #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group { width: 100%; }
969
+ /*#wpforo #wpforo-wrap .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: left; }*/
970
  #wpforo #wpforo-wrap #wpf-profile-account-form .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: none; }
971
 
972
  #wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
973
+ #wpforo #wpforo-wrap .wpf-post-create{padding:10px 0; /*margin:10px 0;*/}
974
  #wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
975
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 5px 0 10px; margin-bottom:10px;}
976
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
1003
 
1004
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap{display: none;background-color: #F5F5F5;}
1005
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpforo-post-form {padding: 5px 15px 15px 15px;}
1006
+ #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf_post_form_textarea_wrap{padding: 5px 0 0;}
1007
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap textarea.wpf_post_body{resize: vertical;width: 100%;min-height: 80px;padding: 10px;}
1008
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button, #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button-secondary{float: left;}
1009
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-topic-sbs{float: right;}
1286
  #wpforo-dialog #wpforo-report-content{width: 100%;resize: vertical;min-height: 150px;max-height: 80%;padding: 10px;margin-bottom: 10px;}
1287
  #wpforo-dialog input[type="submit"], #wpforo-dialog input[type="reset"], #wpforo-dialog input[type="button"], #wpforo-dialog button{border-radius: 0;font-weight: normal;padding: 5px 15px!important;font-size: 13px;cursor: pointer;line-height: 16px;box-shadow: 0 1px 1px #999999;outline: 0;float: left;}
1288
  #wpforo-report{display: none;}
1289
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar {width: 7px;}
1290
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track {-webkit-border-radius: 10px;border-radius: 10px;}
1291
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb {-webkit-border-radius: 10px;border-radius: 10px;}
1292
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); }
1293
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb { background: #444; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); }
1294
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb:window-inactive { background: #444; }
1295
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb,
1296
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb:window-inactive { background: #efefef; }
1297
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track{ -webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0.5); }
1298
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog{background-color: #000; color: #efefef;}
1299
 
1300
  /****************************************************/
1301
  /**************** wpForo Waring Message *************/
2001
  .wpforo-widget-wrap .wpf-button{padding:5px 15px!important; font-size:13px; font-weight:normal; cursor:pointer; line-height: 16px; border-radius: 0; white-space:nowrap; box-shadow: 0 1px 1px #999999; outline: 0;}
2002
  .wpforo-widget-wrap .wpf-button i{margin-right: 3px;}
2003
  .wpforo-widget-wrap .wpf-button-secondary{border-radius: 0; padding: 5px 15px; margin: 0 10px; background-color: #F5F5F5; opacity: 0.8; color: #555555; border: 1px solid #cccccc; line-height: 16px; font-size: 13px;}
2004
+ .wpforo-widget-wrap .wpf-button-secondary:hover{opacity: 1;}
2005
+
2006
+ #wpforo #wpforo-wrap .wpforo-loading-portable{position: absolute;z-index: 11;left: 0;top: 0;bottom: 0;right: 0;background: #0b0b0b;opacity: 0.2;display: flex;justify-content: center;align-items: center;font-size: 60px;font-weight: bold;}
2007
+ #wpforo #wpforo-wrap .wpforo-loading-portable .fa-spin{color: #ebebeb;}
2008
+
2009
+ /* For old versions of Emoticons Addon */
2010
+ #wpforo #wpforo-wrap .wpfe-button { margin-left: 0 !important; position: initial !important; display: inline-block !important;}
2011
+ #wpforo #wpforo-wrap .wpf-smile-button {left: 0 !important; top: -1px !important; position: relative !important;}
2012
+ #wpforo #wpforo-wrap .wpf-smile-button i{font-size: 26px !important; vertical-align: text-bottom !important; margin-right: 3px !important;}
2013
+ #wpforo #wpforo-wrap .wpf-field-wrap > .wpf-extra-fields{text-align: left;}
2014
+ #wpforo #wpforo-wrap .wpf-field-wrap > .wpf-extra-fields .wpf-main-fields {text-align: right;}
wpf-themes/classic/style.css CHANGED
@@ -297,7 +297,7 @@ Author: gVectors Team
297
  #wpforo #wpforo-wrap .wpf-post-edit-wrap .wpf-post-edited i{ padding: 0 5px 0 2px;}
298
  #wpforo #wpforo-wrap .wpf-extra-fields{line-height: 2em;}
299
  #wpforo #wpforo-wrap .wpf-extra-fields > br:first-of-type{display: none;}
300
- #wpforo #wpforo-wrap .wpf-extra-fields .wpf-default-attachment{padding-top: 5px;}
301
 
302
  #wpforo #wpforo-wrap .wpf_forum_unread, #wpforo #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
303
  #wpforo #wpforo-wrap .wpf_topic_unread, #wpforo #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
@@ -971,13 +971,13 @@ Author: gVectors Team
971
  #wpforo #wpforo-wrap .mce-caret:hover { background-color:inherit;}
972
  #wpforo #wpforo-wrap .mce-disabled .mce-caret {border-top-color: #aaa;}
973
  #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group { width: 100%; }
974
- #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: right; }
975
  #wpforo #wpforo-wrap #wpf-profile-account-form .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: none; }
976
  #mce-modal-block{ z-index: 100011 !important; }
977
  .mce-window, .mce-floatpanel, .mce-popover{ z-index: 100012 !important; }
978
 
979
  #wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
980
- #wpforo #wpforo-wrap .wpf-post-create{padding:10px 0; margin:10px 0;}
981
  #wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
982
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 10px 0 5px; margin-bottom:10px;}
983
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
@@ -1012,7 +1012,7 @@ Author: gVectors Team
1012
 
1013
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap{display: none;background-color: #F5F5F5;}
1014
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpforo-post-form {padding: 5px 15px 15px 15px;}
1015
- #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf_post_form_textarea_wrap{padding: 5px 0;}
1016
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap textarea.wpf_post_body{resize: vertical;width: 100%;min-height: 80px;padding: 10px;}
1017
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button, #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button-secondary{float: right;}
1018
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-topic-sbs{float: left;}
@@ -1296,6 +1296,16 @@ body.wpforo-dialog-visible #wpforo-dialog-extra-wrap{display: block;}
1296
  #wpforo-dialog #wpforo-report-content{width: 100%;resize: vertical;min-height: 150px;max-height: 80%;padding: 10px;margin-bottom: 10px;}
1297
  #wpforo-dialog input[type="submit"], #wpforo-dialog input[type="reset"], #wpforo-dialog input[type="button"], #wpforo-dialog button{border-radius: 0;font-weight: normal;padding: 5px 15px!important;font-size: 13px;cursor: pointer;line-height: 16px;box-shadow: 0 1px 1px #999999;outline: 0;float: right;}
1298
  #wpforo-report{display: none;}
 
 
 
 
 
 
 
 
 
 
1299
 
1300
  /****************************************************/
1301
  /**************** wpForo Waring Message *************/
@@ -2003,22 +2013,12 @@ body.wpforo-dialog-visible #wpforo-dialog-extra-wrap{display: block;}
2003
  .wpforo-widget-wrap .wpf-button-secondary{border-radius: 0; padding: 5px 15px; margin: 0 10px; background-color: #F5F5F5; opacity: 0.8; color: #555555; border: 1px solid #cccccc; line-height: 16px; font-size: 13px;}
2004
  .wpforo-widget-wrap .wpf-button-secondary:hover{opacity: 1;}
2005
 
2006
- #wpforo #wpforo-wrap .wpforo-loading-portable{
2007
- position: absolute;
2008
- z-index: 11;
2009
- left: 0;
2010
- top: 0;
2011
- bottom: 0;
2012
- right: 0;
2013
- background: #0b0b0b;
2014
- opacity: 0.2;
2015
- display: flex;
2016
- justify-content: center;
2017
- align-items: center;
2018
- font-size: 60px;
2019
- font-weight: bold;
2020
- }
2021
 
2022
- #wpforo #wpforo-wrap .wpforo-loading-portable .fa-spin{
2023
- color: #ebebeb;
2024
- }
 
 
 
297
  #wpforo #wpforo-wrap .wpf-post-edit-wrap .wpf-post-edited i{ padding: 0 5px 0 2px;}
298
  #wpforo #wpforo-wrap .wpf-extra-fields{line-height: 2em;}
299
  #wpforo #wpforo-wrap .wpf-extra-fields > br:first-of-type{display: none;}
300
+ #wpforo #wpforo-wrap .wpf-extra-fields .wpf-default-attachment{padding-top: 5px; text-align: left;}
301
 
302
  #wpforo #wpforo-wrap .wpf_forum_unread, #wpforo #wpforo-wrap .wpf_forum_unread a{ font-weight:bold; }
303
  #wpforo #wpforo-wrap .wpf_topic_unread, #wpforo #wpforo-wrap .wpf_topic_unread a{ font-weight:bold; font-size:98%; }
971
  #wpforo #wpforo-wrap .mce-caret:hover { background-color:inherit;}
972
  #wpforo #wpforo-wrap .mce-disabled .mce-caret {border-top-color: #aaa;}
973
  #wpforo #wpforo-wrap .mce-toolbar .mce-btn-group { width: 100%; }
974
+ /*#wpforo #wpforo-wrap .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: right; }*/
975
  #wpforo #wpforo-wrap #wpf-profile-account-form .mce-toolbar .mce-btn-group .mce-btn.mce-last { float: none; }
976
  #mce-modal-block{ z-index: 100011 !important; }
977
  .mce-window, .mce-floatpanel, .mce-popover{ z-index: 100012 !important; }
978
 
979
  #wpforo #wpforo-wrap .wpf-form-wrapper{padding-top:10px;}
980
+ #wpforo #wpforo-wrap .wpf-post-create{padding:10px 0; /*margin:10px 0;*/}
981
  #wpforo #wpforo-wrap .wpf-reply-form-title{ margin:25px 0 15px 0; font-size:22px; font-weight:normal; line-height:26px; display:block;}
982
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tools{padding:5px 10px 0 5px; margin-bottom:10px;}
983
  #wpforo #wpforo-wrap .wpf-post-create .wp-editor-tabs a.switch-tmce{padding:5px 10px; border-bottom:none;}
1012
 
1013
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap{display: none;background-color: #F5F5F5;}
1014
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpforo-post-form {padding: 5px 15px 15px 15px;}
1015
+ #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf_post_form_textarea_wrap{padding: 5px 0 0;}
1016
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap textarea.wpf_post_body{resize: vertical;width: 100%;min-height: 80px;padding: 10px;}
1017
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button, #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-button-secondary{float: right;}
1018
  #wpforo #wpforo-wrap .wpforo-portable-form-wrap .wpf-topic-sbs{float: left;}
1296
  #wpforo-dialog #wpforo-report-content{width: 100%;resize: vertical;min-height: 150px;max-height: 80%;padding: 10px;margin-bottom: 10px;}
1297
  #wpforo-dialog input[type="submit"], #wpforo-dialog input[type="reset"], #wpforo-dialog input[type="button"], #wpforo-dialog button{border-radius: 0;font-weight: normal;padding: 5px 15px!important;font-size: 13px;cursor: pointer;line-height: 16px;box-shadow: 0 1px 1px #999999;outline: 0;float: right;}
1298
  #wpforo-report{display: none;}
1299
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar {width: 7px;}
1300
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track {-webkit-border-radius: 10px;border-radius: 10px;}
1301
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb {-webkit-border-radius: 10px;border-radius: 10px;}
1302
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); }
1303
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb { background: #444; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); }
1304
+ #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb:window-inactive { background: #444; }
1305
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb,
1306
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-thumb:window-inactive { background: #efefef; }
1307
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog *::-webkit-scrollbar-track{ -webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0.5); }
1308
+ body.wpf-dark #wpforo-dialog-extra-wrap #wpforo-dialog{background-color: #000; color: #efefef;}
1309
 
1310
  /****************************************************/
1311
  /**************** wpForo Waring Message *************/
2013
  .wpforo-widget-wrap .wpf-button-secondary{border-radius: 0; padding: 5px 15px; margin: 0 10px; background-color: #F5F5F5; opacity: 0.8; color: #555555; border: 1px solid #cccccc; line-height: 16px; font-size: 13px;}
2014
  .wpforo-widget-wrap .wpf-button-secondary:hover{opacity: 1;}
2015
 
2016
+ #wpforo #wpforo-wrap .wpforo-loading-portable{position: absolute;z-index: 11;left: 0;top: 0;bottom: 0;right: 0;background: #0b0b0b;opacity: 0.2;display: flex;justify-content: center;align-items: center;font-size: 60px;font-weight: bold;}
2017
+ #wpforo #wpforo-wrap .wpforo-loading-portable .fa-spin{color: #ebebeb;}
 
 
 
 
 
 
 
 
 
 
 
 
 
2018
 
2019
+ /* For old versions of Emoticons Addon */
2020
+ #wpforo #wpforo-wrap .wpfe-button { margin-right: 0 !important; position: initial !important; display: inline-block !important;}
2021
+ #wpforo #wpforo-wrap .wpf-smile-button {right: 0 !important; top: -1px !important; position: relative !important;}
2022
+ #wpforo #wpforo-wrap .wpf-smile-button i{font-size: 26px !important; vertical-align: text-bottom !important; margin-left: 3px !important;}
2023
+ #wpforo #wpforo-wrap .wpf-field-wrap > .wpf-extra-fields{text-align: right;}
2024
+ #wpforo #wpforo-wrap .wpf-field-wrap > .wpf-extra-fields .wpf-main-fields {text-align: left;}
wpforo.php CHANGED
@@ -5,14 +5,14 @@
5
  * Description: WordPress Forum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
6
  * Author: gVectors Team
7
  * Author URI: https://gvectors.com/
8
- * Version: 1.9.7
9
  * Text Domain: wpforo
10
  * Domain Path: /wpf-languages
11
  */
12
 
13
  //Exit if accessed directly
14
  if( !defined( 'ABSPATH' ) ) exit;
15
- if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.9.7');
16
 
17
  function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
18
  add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );
@@ -42,6 +42,7 @@ if( !class_exists( 'wpForo' ) ) {
42
  public $upload_dir_folders = array();
43
 
44
  public $db;
 
45
  public $addons = array();
46
  public $current_url;
47
  public $GET;
@@ -112,12 +113,21 @@ if( !class_exists( 'wpForo' ) ) {
112
  return self::$_instance;
113
  }
114
 
 
 
 
 
 
 
 
 
115
  private function __construct(){
116
  global $wpdb;
117
  $this->db = $wpdb;
 
118
  $this->file = __FILE__;
119
  $this->error = NULL;
120
- $this->locale = get_locale();
121
  $this->basename = plugin_basename($this->file);
122
 
123
  $this->init_db_tables();
@@ -295,6 +305,8 @@ if( !class_exists( 'wpForo' ) ) {
295
  }
296
 
297
  public function init(){
 
 
298
  do_action( 'wpforo_before_init' );
299
 
300
  $this->phrase->init();
@@ -330,7 +342,7 @@ if( !class_exists( 'wpForo' ) ) {
330
  if( $args['item'] === 'profile' && !$args['id'] ) $args['id'] = $this->current_userid;
331
 
332
  if( $args['item'] === 'add-topic' ){
333
- $forum = $this->forum->get_forum( ( $args['slug'] ? $args['slug'] : $args['id'] ) );
334
  $forumid = (int) wpfval($forum, 'is_cat') ? 0 : (int) wpfval($forum, 'forumid');
335
  $url = wpforo_home_url( wpforo_get_template_slug('add-topic') . '/' . (int) $forumid );
336
  }elseif( $args['item'] === 'recent' ){
@@ -565,10 +577,10 @@ if( !class_exists( 'wpForo' ) ) {
565
  private function reset_current_object(){
566
  $this->current_object = $this->default->current_object;
567
  }
568
-
569
  private function init_options(){
570
  $permalink_structure = get_option('permalink_structure');
571
-
572
  $this->use_trailing_slashes = ( '/' == substr($permalink_structure, -1, 1) );
573
 
574
  //OPTIONS
@@ -598,17 +610,13 @@ if( !class_exists( 'wpForo' ) ) {
598
  $this->tools_legal = get_wpf_option('wpforo_tools_legal', $this->default->tools_legal);
599
 
600
  $this->dissmissed = get_wpf_option('wpforo_dissmissed', $this->default->dissmissed);
601
-
602
- //CONSTANTS
603
- define('WPFORO_BASE_PERMASTRUCT', $this->base_permastruct );
604
- define('WPFORO_BASE_URL', $this->url );
605
  }
606
 
607
  private function setup(){
608
  register_activation_hook($this->basename, 'do_wpforo_activation');
609
  register_deactivation_hook($this->basename, 'do_wpforo_deactivation');
610
  }
611
-
612
  public function user_trailingslashit($url) {
613
  $rtrimed_url = '';
614
  $url_append_vars = '';
@@ -636,7 +644,7 @@ if( !class_exists( 'wpForo' ) ) {
636
  $url = $this->user_trailingslashit($url);
637
  return $url;
638
  }
639
-
640
  public function statistic( $mode = 'get', $template = 'all' ){
641
  $key = 'wpforo_stat_' . $this->current_user_groupid;
642
  if( $mode === 'get' ){
@@ -719,8 +727,9 @@ if( !class_exists( 'wpForo' ) ) {
719
  public function init_current_template(){
720
 
721
  }
722
-
723
  public function init_current_object(){
 
724
  $this->current_object['items_per_page'] = $this->post->get_option_items_per_page();
725
  $url = $this->current_url;
726
  $get = $this->GET;
@@ -728,33 +737,33 @@ if( !class_exists( 'wpForo' ) ) {
728
  if( !is_wpforo_page($url) ) return;
729
 
730
  $current_url = wpforo_get_url_query_vars_str($url);
731
-
732
  if( $this->use_home_url ) $this->permastruct = '';
733
 
734
  $current_object = array();
735
- if( wpfkey($get, 'wpfs') || wpfval($get, 'foro') === 'search' ) $current_object['template'] = 'search';
736
  if( wpfval($get, 'wpforo') || wpfval($get, 'foro') ){
737
  $request = ( wpfval($get, 'wpforo') ) ? wpfval($get, 'wpforo') : wpfval($get, 'foro');
738
  switch( $request ){
739
  case 'signup':
740
  if(!is_user_logged_in()) {
741
- $this->data['template'] = $current_object['template'] = 'register';
742
  $this->data['value']['user_login'] = sanitize_user((string) wpfval($_POST, 'wpfreg', 'user_login'));
743
  $this->data['value']['user_email'] = sanitize_email((string) wpfval($_POST, 'wpfreg', 'user_email'));
744
  $this->data['varname'] = 'wpfreg';
745
  }
746
  break;
747
  case 'signin':
748
- if(!is_user_logged_in()) $current_object['template'] = 'login';
749
  break;
750
  case 'lostpassword':
751
- if(!is_user_logged_in()) $current_object['template'] = 'lostpassword';
752
  break;
753
  case 'resetpassword':
754
- $current_object['template'] = 'resetpassword';
755
  break;
756
  case 'page':
757
- $current_object['template'] = 'page';
758
  break;
759
  case 'logout':
760
  wp_logout();
@@ -763,7 +772,7 @@ if( !class_exists( 'wpForo' ) ) {
763
  break;
764
  }
765
  }
766
-
767
  $wpf_url = preg_replace( '#^/?'.preg_quote($this->permastruct).'#isu', '' , $current_url, 1 );
768
  $wpf_url = preg_replace('#/?\?.*$#isu', '', $wpf_url);
769
  $wpf_url_parse = array_filter( explode('/', trim($wpf_url, '/')) );
@@ -776,7 +785,7 @@ if( !class_exists( 'wpForo' ) ) {
776
  break;
777
  }
778
  if(is_numeric($value)) $paged = intval($value);
779
-
780
  unset($wpf_url_parse[$key]);
781
  }
782
  }
@@ -786,16 +795,17 @@ if( !class_exists( 'wpForo' ) ) {
786
 
787
  $wpf_url_parse = array_values($wpf_url_parse);
788
 
789
- if( !wpfval($current_object, 'template') ){
790
  $current_object = apply_filters('wpforo_before_init_current_object', $current_object, $wpf_url_parse);
 
791
  }
792
 
793
- if( !wpfval($current_object, 'template') ){
794
  if( $templates = $this->tpl->get_templates_list() ){
795
  $__slug = end($wpf_url_parse);
796
  foreach ( $templates as $template ){
797
  if( $__slug === wpforo_get_template_slug($template) ){
798
- $current_object['template'] = $template;
799
  $current_object['qvars'] = $wpf_url_parse;
800
  array_pop($current_object['qvars']);
801
  $current_object['qvars'] = array_reverse($current_object['qvars']);
@@ -805,27 +815,28 @@ if( !class_exists( 'wpForo' ) ) {
805
  }
806
  }
807
 
808
- if( !wpfval($current_object, 'template') ){
809
- $current_object['template'] = 'forum';
810
  $this->data['varname'] = 'topic';
811
  if( isset($wpf_url_parse[0]) ){
812
  if( isset($wpf_url_parse[1]) ){
813
  $current_object['topic_slug'] = $wpf_url_parse[0];
814
  $current_object['forum_slug'] = $wpf_url_parse[1];
815
- $current_object['template'] = 'post';
816
  $this->data['varname'] = 'post';
817
  }else{
818
  $current_object['forum_slug'] = $wpf_url_parse[0];
819
- $current_object['template'] = 'topic';
820
  $this->data['varname'] = 'topic';
821
  }
822
  }
823
  }
824
 
825
  $current_object = apply_filters('wpforo_after_init_current_template', $current_object, $wpf_url_parse, $get);
 
826
 
827
- if( wpfval($current_object, 'template') ){
828
- if( !wpfval($current_object, 'userid') && !wpfval($current_object, 'user_nicename') && wpforo_is_member_template($current_object['template']) ){
829
  if( $qvar0 = wpfval($current_object['qvars'], 0) ){
830
  if( $this->member->options['url_structure'] === 'id' ) {
831
  $current_object['userid'] = $qvar0;
@@ -840,7 +851,7 @@ if( !class_exists( 'wpForo' ) ) {
840
  exit();
841
  }
842
  }
843
- }elseif($current_object['template'] === 'search'){
844
  $args = array(
845
  'needle' => sanitize_text_field( wpfval($get, 'wpfs') ),
846
  'type' => sanitize_text_field( wpfval($get, 'wpfin') ),
@@ -868,16 +879,16 @@ if( !class_exists( 'wpForo' ) ) {
868
  }else{
869
  $current_object['posts'] = WPF()->post->search($args, $current_object['items_count']);
870
  }
871
- }elseif($current_object['template'] === 'recent'){
872
  $current_object['items_per_page'] = $this->post->options['topics_per_page'];
873
- }elseif($current_object['template'] === 'tags'){
874
  $current_object['items_per_page'] = $this->post->options['tags_per_page'];
875
  $args = array(
876
  'offset' => ($current_object['paged'] - 1) * $current_object['items_per_page'],
877
  'row_count' => $current_object['items_per_page']
878
  );
879
  $current_object['tags'] = $this->topic->get_tags($args, $current_object['items_count']);
880
- }elseif($current_object['template'] === 'members'){
881
  $current_object['items_per_page'] = $this->member->options['members_per_page'];
882
 
883
  $this->data['template'] = 'members';
@@ -919,7 +930,7 @@ if( !class_exists( 'wpForo' ) ) {
919
  if(!empty($users_include)) $args['include'] = $users_include;
920
  $current_object['members'] = $this->member->get_members($args, $current_object['items_count']);
921
  if(isset($users_include) && empty($users_include)){ $current_object['members'] = array(); $current_object['items_count'] = 0; }
922
- }elseif($current_object['template'] === 'add-topic'){
923
  if( $qvar0 = (int) wpfval($current_object['qvars'], 0) ){
924
  $forum = (array) $this->forum->get_forum($qvar0);
925
  if( !$forum || (int) wpfval($forum, 'is_cat') ){
@@ -942,8 +953,8 @@ if( !class_exists( 'wpForo' ) ) {
942
  $current_object['user_nicename'] = $selected_user['user_nicename'];
943
  $current_object['user_is_same_current_user'] = !empty($this->current_userid) && $selected_user['ID'] == $this->current_userid;
944
 
945
- if( $this->tpl->can_view_template($current_object['template'], $current_object['user']) ){
946
- switch($current_object['template']){
947
  case 'activity':
948
  $args = array(
949
  'offset' => ($current_object['paged'] - 1) * $this->current_object['items_per_page'],
@@ -987,7 +998,7 @@ if( !class_exists( 'wpForo' ) ) {
987
  $current_object['is_404'] = true;
988
  }
989
  }
990
-
991
  if( wpfval($current_object, 'topic_slug') ){
992
  $topic = $this->topic->get_topic(array('slug' => $current_object['topic_slug']), false);
993
  if(!empty($topic)){
@@ -1024,7 +1035,7 @@ if( !class_exists( 'wpForo' ) ) {
1024
  wp_safe_redirect( $this->topic->get_topic_url($topic, $forum), 301 );
1025
  exit();
1026
  }
1027
- if( $forum['is_cat'] ) $current_object['template'] = 'forum';
1028
  $current_object['forum'] = $forum;
1029
  $current_object['forumid'] = $forum['forumid'];
1030
  $current_object['forum_desc'] = $forum['description'];
@@ -1033,7 +1044,7 @@ if( !class_exists( 'wpForo' ) ) {
1033
  $current_object['og_text'] = $forum['title'];
1034
  $current_object['layout'] = $this->forum->get_layout( $forum );
1035
 
1036
- if( $current_object['template'] === 'topic' ){
1037
  $current_object['items_per_page'] = $this->post->options['topics_per_page'];
1038
  $args = array(
1039
  'offset' => ($current_object['paged'] - 1) * $current_object['items_per_page'],
@@ -1050,7 +1061,7 @@ if( !class_exists( 'wpForo' ) ) {
1050
  }
1051
  }
1052
 
1053
- if( in_array($current_object['template'], array('forum', 'topic')) ){
1054
  if( !empty($forum) ){
1055
  $current_object['categories'] = array( $forum );
1056
  }else{
@@ -1058,7 +1069,7 @@ if( !class_exists( 'wpForo' ) ) {
1058
  }
1059
  }
1060
 
1061
- if ( $current_object['template'] === 'post' && ! empty( $forum ) && ! empty( $topic ) ) {
1062
  $current_object['items_per_page'] = $this->post->get_option_items_per_page($current_object['layout']);
1063
 
1064
  $args = array(
@@ -1087,9 +1098,9 @@ if( !class_exists( 'wpForo' ) ) {
1087
  $args = apply_filters('wpforo_post_list_args', $args);
1088
  $current_object['posts'] = $this->post->get_posts( $args, $current_object['items_count']);
1089
  }
1090
-
1091
  $this->current_object = wpforo_parse_args($current_object, $this->current_object);
1092
-
1093
  $this->current_object = apply_filters('wpforo_after_init_current_object', $this->current_object, $wpf_url_parse);
1094
 
1095
  if( $this->current_object['template'] ){
@@ -1150,18 +1161,20 @@ if( !class_exists( 'wpForo' ) ) {
1150
  //ADDONS/////////////////////////////////////////////////////
1151
  WPF()->addons = array(
1152
  'prefix' => array('version' => '1.0.0', 'requires' => '1.9.4', 'class' => 'wpForoTopicPrefix', 'title' => 'Topic Prefix & Tag Manager', 'thumb' => WPFORO_URL . '/wpf-assets/addons/prefix/header.png', 'desc' => __('Allows you to create topic prefixes and prefix groups to categorize topics. Also, it allows you to add, edit, delete topic tags and convert them to prefixes.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-topic-prefix/'),
1153
- 'syntax' => array('version' => '1.0.0', 'requires' => '1.9.0', 'class' => 'wpForoSyntaxHighlighter', 'title' => 'Syntax Highlighter', 'thumb' => WPFORO_URL . '/wpf-assets/addons/syntax/header.png', 'desc' => __('Syntax highlighting for forum posts, automatic language detection and multi-language code highlighting.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-syntax-highlighter/'),
 
 
1154
  'embeds' => array('version' => '2.0.7', 'requires' => '1.8.0', 'class' => 'wpForoEmbeds', 'title' => 'Embeds', 'thumb' => WPFORO_URL . '/wpf-assets/addons/embeds/header.png', 'desc' => __('Allows to embed hundreds of video, social network, audio and photo content providers in forum topics and posts.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-embeds/'),
1155
- 'polls' => array('version' => '1.0.6', 'requires' => '1.8.0', 'class' => 'wpForoPoll', 'title' => 'Polls', 'thumb' => WPFORO_URL . '/wpf-assets/addons/polls/header.png', 'desc' => __('wpForo Polls is a complete addon to help forum members create, vote and manage polls effectively. Comes with poll specific permissions and settings.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-polls/'),
1156
- 'tcf' => array('version' => '1.0.0', 'requires' => '1.8.0', 'class' => 'wpForoTcf', 'title' => 'Topic Custom Fields', 'thumb' => WPFORO_URL . '/wpf-assets/addons/tcf/header.png', 'desc' => __('Allows to create topic custom fields and manage topic form layout with a form builder. Adds topic search options by custom fields', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-topic-custom-fields/'),
1157
- 'mycred' => array('version' => '1.1.2', 'requires' => '1.8.0', 'class' => 'myCRED_Hook_wpForo', 'title' => 'MyCRED Integration', 'thumb' => WPFORO_URL . '/wpf-assets/addons/mycred/header.png', 'desc' => __('Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. Converts wpForo topic and posts, likes to myCRED points.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-mycred/'),
1158
  'ucf' => array('version' => '2.0.2', 'requires' => '1.8.0', 'class' => 'WpforoUcf', 'title' => 'User Custom Fields', 'thumb' => WPFORO_URL . '/wpf-assets/addons/ucf/header.png', 'desc' => __('Advanced user profile builder system. Allows to add new fields and manage profile page. Creates custom Registration, Account, Member Search forms.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-user-custom-fields/'),
1159
- 'attachments' => array('version' => '2.0.4', 'requires' => '1.8.0', 'class' => 'wpForoAttachments', 'title' => 'Advanced Attachments', 'thumb' => WPFORO_URL . '/wpf-assets/addons/attachments/header.png', 'desc' => __('Adds an advanced file attachment system to forum topics and posts. AJAX powered media uploading and displaying system with user specific library.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-advanced-attachments/'),
1160
  'pm' => array('version' => '1.3.3', 'requires' => '1.8.0', 'class' => 'wpForoPMs', 'title' => 'Private Messages', 'thumb' => WPFORO_URL . '/wpf-assets/addons/pm/header.png', 'desc' => __('Provides a safe way to communicate directly with other members. Messages are private and can only be viewed by conversation participants.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-private-messages/'),
 
 
 
1161
  'cross' => array('version' => '2.1.5', 'requires' => '1.8.0', 'class' => 'wpForoCrossPosting', 'title' => '"Forum - Blog" Cross Posting', 'thumb' => WPFORO_URL . '/wpf-assets/addons/cross/header.png', 'desc' => __('Blog to Forum and Forum to Blog content synchronization. Blog posts with Forum topics and Blog comments with Forum replies.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-cross-posting/'),
1162
  'ad-manager' => array('version' => '1.1.3', 'requires' => '1.8.0', 'class' => 'wpForoAD', 'title' => 'Ads Manager', 'thumb' => WPFORO_URL . '/wpf-assets/addons/ad-manager/header.png', 'desc' => __('Ads Manager is a powerful yet simple advertisement management system, that allows you to add adverting banners between forums, topics and posts.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-ad-manager/'),
 
1163
  'emoticons' => array('version' => '1.0.5', 'requires' => '1.8.0', 'class' => 'wpForoSmiles', 'title' => 'wpForo Emoticons', 'thumb' => WPFORO_URL . '/wpf-assets/addons/wpforo-emoticons/header.png', 'desc' => __('Adds awesome Sticker and Emoticons packs to editor. Allows to create new custom emoticons packs.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-emoticons/'),
1164
  );
1165
  $wp_version = get_bloginfo('version'); if (version_compare($wp_version, '4.2.0', '>=')) { add_action('wp_ajax_dismiss_wpforo_addon_note', array(WPF()->notice, 'dismissAddonNote')); add_action('admin_notices', array(WPF()->notice, 'addonNote'));}
1166
  /////////////////////////////////////////////////////////////
1167
- }
5
  * Description: WordPress Forum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
6
  * Author: gVectors Team
7
  * Author URI: https://gvectors.com/
8
+ * Version: 1.9.8
9
  * Text Domain: wpforo
10
  * Domain Path: /wpf-languages
11
  */
12
 
13
  //Exit if accessed directly
14
  if( !defined( 'ABSPATH' ) ) exit;
15
+ if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.9.8');
16
 
17
  function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
18
  add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );
42
  public $upload_dir_folders = array();
43
 
44
  public $db;
45
+ public $use_mysql8;
46
  public $addons = array();
47
  public $current_url;
48
  public $GET;
113
  return self::$_instance;
114
  }
115
 
116
+ private function use_mysql8() {
117
+ global $wpdb;
118
+ if( preg_match( '#([\d.]+)-MariaDB#iu', $wpdb->get_var( "SELECT VERSION()" ), $match ) ){
119
+ return version_compare( $match[1], '10.2.6', '>=' );
120
+ }
121
+ return version_compare( $wpdb->db_version(), '8.0.0', '>=' );
122
+ }
123
+
124
  private function __construct(){
125
  global $wpdb;
126
  $this->db = $wpdb;
127
+ $this->use_mysql8 = $this->use_mysql8();
128
  $this->file = __FILE__;
129
  $this->error = NULL;
130
+ $this->locale = 'en_US';
131
  $this->basename = plugin_basename($this->file);
132
 
133
  $this->init_db_tables();
305
  }
306
 
307
  public function init(){
308
+ $this->locale = get_locale();
309
+
310
  do_action( 'wpforo_before_init' );
311
 
312
  $this->phrase->init();
342
  if( $args['item'] === 'profile' && !$args['id'] ) $args['id'] = $this->current_userid;
343
 
344
  if( $args['item'] === 'add-topic' ){
345
+ $forum = $this->forum->get_forum( ( $args['slug'] ?: $args['id'] ) );
346
  $forumid = (int) wpfval($forum, 'is_cat') ? 0 : (int) wpfval($forum, 'forumid');
347
  $url = wpforo_home_url( wpforo_get_template_slug('add-topic') . '/' . (int) $forumid );
348
  }elseif( $args['item'] === 'recent' ){
577
  private function reset_current_object(){
578
  $this->current_object = $this->default->current_object;
579
  }
580
+
581
  private function init_options(){
582
  $permalink_structure = get_option('permalink_structure');
583
+
584
  $this->use_trailing_slashes = ( '/' == substr($permalink_structure, -1, 1) );
585
 
586
  //OPTIONS
610
  $this->tools_legal = get_wpf_option('wpforo_tools_legal', $this->default->tools_legal);
611
 
612
  $this->dissmissed = get_wpf_option('wpforo_dissmissed', $this->default->dissmissed);
 
 
 
 
613
  }
614
 
615
  private function setup(){
616
  register_activation_hook($this->basename, 'do_wpforo_activation');
617
  register_deactivation_hook($this->basename, 'do_wpforo_deactivation');
618
  }
619
+
620
  public function user_trailingslashit($url) {
621
  $rtrimed_url = '';
622
  $url_append_vars = '';
644
  $url = $this->user_trailingslashit($url);
645
  return $url;
646
  }
647
+
648
  public function statistic( $mode = 'get', $template = 'all' ){
649
  $key = 'wpforo_stat_' . $this->current_user_groupid;
650
  if( $mode === 'get' ){
727
  public function init_current_template(){
728
 
729
  }
730
+
731
  public function init_current_object(){
732
+ $this->reset_current_object();
733
  $this->current_object['items_per_page'] = $this->post->get_option_items_per_page();
734
  $url = $this->current_url;
735
  $get = $this->GET;
737
  if( !is_wpforo_page($url) ) return;
738
 
739
  $current_url = wpforo_get_url_query_vars_str($url);
740
+
741
  if( $this->use_home_url ) $this->permastruct = '';
742
 
743
  $current_object = array();
744
+ if( wpfkey($get, 'wpfs') || wpfval($get, 'foro') === 'search' ) $this->current_object['template'] = 'search';
745
  if( wpfval($get, 'wpforo') || wpfval($get, 'foro') ){
746
  $request = ( wpfval($get, 'wpforo') ) ? wpfval($get, 'wpforo') : wpfval($get, 'foro');
747
  switch( $request ){
748
  case 'signup':
749
  if(!is_user_logged_in()) {
750
+ $this->data['template'] = $this->current_object['template'] = 'register';
751
  $this->data['value']['user_login'] = sanitize_user((string) wpfval($_POST, 'wpfreg', 'user_login'));
752
  $this->data['value']['user_email'] = sanitize_email((string) wpfval($_POST, 'wpfreg', 'user_email'));
753
  $this->data['varname'] = 'wpfreg';
754
  }
755
  break;
756
  case 'signin':
757
+ if(!is_user_logged_in()) $this->current_object['template'] = 'login';
758
  break;
759
  case 'lostpassword':
760
+ if(!is_user_logged_in()) $this->current_object['template'] = 'lostpassword';
761
  break;
762
  case 'resetpassword':
763
+ $this->current_object['template'] = 'resetpassword';
764
  break;
765
  case 'page':
766
+ $this->current_object['template'] = 'page';
767
  break;
768
  case 'logout':
769
  wp_logout();
772
  break;
773
  }
774
  }
775
+
776
  $wpf_url = preg_replace( '#^/?'.preg_quote($this->permastruct).'#isu', '' , $current_url, 1 );
777
  $wpf_url = preg_replace('#/?\?.*$#isu', '', $wpf_url);
778
  $wpf_url_parse = array_filter( explode('/', trim($wpf_url, '/')) );
785
  break;
786
  }
787
  if(is_numeric($value)) $paged = intval($value);
788
+
789
  unset($wpf_url_parse[$key]);
790
  }
791
  }
795
 
796
  $wpf_url_parse = array_values($wpf_url_parse);
797
 
798
+ if( !$this->current_object['template'] ){
799
  $current_object = apply_filters('wpforo_before_init_current_object', $current_object, $wpf_url_parse);
800
+ if( wpfkey($current_object, 'template') ) $this->current_object['template'] = (string) wpfval( $current_object, 'template' );
801
  }
802
 
803
+ if( !$this->current_object['template'] ){
804
  if( $templates = $this->tpl->get_templates_list() ){
805
  $__slug = end($wpf_url_parse);
806
  foreach ( $templates as $template ){
807
  if( $__slug === wpforo_get_template_slug($template) ){
808
+ $this->current_object['template'] = $template;
809
  $current_object['qvars'] = $wpf_url_parse;
810
  array_pop($current_object['qvars']);
811
  $current_object['qvars'] = array_reverse($current_object['qvars']);
815
  }
816
  }
817
 
818
+ if( !$this->current_object['template'] ){
819
+ $this->current_object['template'] = 'forum';
820
  $this->data['varname'] = 'topic';
821
  if( isset($wpf_url_parse[0]) ){
822
  if( isset($wpf_url_parse[1]) ){
823
  $current_object['topic_slug'] = $wpf_url_parse[0];
824
  $current_object['forum_slug'] = $wpf_url_parse[1];
825
+ $this->current_object['template'] = 'post';
826
  $this->data['varname'] = 'post';
827
  }else{
828
  $current_object['forum_slug'] = $wpf_url_parse[0];
829
+ $this->current_object['template'] = 'topic';
830
  $this->data['varname'] = 'topic';
831
  }
832
  }
833
  }
834
 
835
  $current_object = apply_filters('wpforo_after_init_current_template', $current_object, $wpf_url_parse, $get);
836
+ if( wpfkey($current_object, 'template') ) $this->current_object['template'] = (string) wpfval( $current_object, 'template' );
837
 
838
+ if( $this->current_object['template'] ){
839
+ if( !wpfval($current_object, 'userid') && !wpfval($current_object, 'user_nicename') && wpforo_is_member_template($this->current_object['template']) ){
840
  if( $qvar0 = wpfval($current_object['qvars'], 0) ){
841
  if( $this->member->options['url_structure'] === 'id' ) {
842
  $current_object['userid'] = $qvar0;
851
  exit();
852
  }
853
  }
854
+ }elseif($this->current_object['template'] === 'search'){
855
  $args = array(
856
  'needle' => sanitize_text_field( wpfval($get, 'wpfs') ),
857
  'type' => sanitize_text_field( wpfval($get, 'wpfin') ),
879
  }else{
880
  $current_object['posts'] = WPF()->post->search($args, $current_object['items_count']);
881
  }
882
+ }elseif($this->current_object['template'] === 'recent'){
883
  $current_object['items_per_page'] = $this->post->options['topics_per_page'];
884
+ }elseif($this->current_object['template'] === 'tags'){
885
  $current_object['items_per_page'] = $this->post->options['tags_per_page'];
886
  $args = array(
887
  'offset' => ($current_object['paged'] - 1) * $current_object['items_per_page'],
888
  'row_count' => $current_object['items_per_page']
889
  );
890
  $current_object['tags'] = $this->topic->get_tags($args, $current_object['items_count']);
891
+ }elseif($this->current_object['template'] === 'members'){
892
  $current_object['items_per_page'] = $this->member->options['members_per_page'];
893
 
894
  $this->data['template'] = 'members';
930
  if(!empty($users_include)) $args['include'] = $users_include;
931
  $current_object['members'] = $this->member->get_members($args, $current_object['items_count']);
932
  if(isset($users_include) && empty($users_include)){ $current_object['members'] = array(); $current_object['items_count'] = 0; }
933
+ }elseif($this->current_object['template'] === 'add-topic'){
934
  if( $qvar0 = (int) wpfval($current_object['qvars'], 0) ){
935
  $forum = (array) $this->forum->get_forum($qvar0);
936
  if( !$forum || (int) wpfval($forum, 'is_cat') ){
953
  $current_object['user_nicename'] = $selected_user['user_nicename'];
954
  $current_object['user_is_same_current_user'] = !empty($this->current_userid) && $selected_user['ID'] == $this->current_userid;
955
 
956
+ if( $this->tpl->can_view_template($this->current_object['template'], $current_object['user']) ){
957
+ switch($this->current_object['template']){
958
  case 'activity':
959
  $args = array(
960
  'offset' => ($current_object['paged'] - 1) * $this->current_object['items_per_page'],
998
  $current_object['is_404'] = true;
999
  }
1000
  }
1001
+
1002
  if( wpfval($current_object, 'topic_slug') ){
1003
  $topic = $this->topic->get_topic(array('slug' => $current_object['topic_slug']), false);
1004
  if(!empty($topic)){
1035
  wp_safe_redirect( $this->topic->get_topic_url($topic, $forum), 301 );
1036
  exit();
1037
  }
1038
+ if( $forum['is_cat'] ) $this->current_object['template'] = 'forum';
1039
  $current_object['forum'] = $forum;
1040
  $current_object['forumid'] = $forum['forumid'];
1041
  $current_object['forum_desc'] = $forum['description'];
1044
  $current_object['og_text'] = $forum['title'];
1045
  $current_object['layout'] = $this->forum->get_layout( $forum );
1046
 
1047
+ if( $this->current_object['template'] === 'topic' ){
1048
  $current_object['items_per_page'] = $this->post->options['topics_per_page'];
1049
  $args = array(
1050
  'offset' => ($current_object['paged'] - 1) * $current_object['items_per_page'],
1061
  }
1062
  }
1063
 
1064
+ if( in_array($this->current_object['template'], array('forum', 'topic')) ){
1065
  if( !empty($forum) ){
1066
  $current_object['categories'] = array( $forum );
1067
  }else{
1069
  }
1070
  }
1071
 
1072
+ if ( $this->current_object['template'] === 'post' && ! empty( $forum ) && ! empty( $topic ) ) {
1073
  $current_object['items_per_page'] = $this->post->get_option_items_per_page($current_object['layout']);
1074
 
1075
  $args = array(
1098
  $args = apply_filters('wpforo_post_list_args', $args);
1099
  $current_object['posts'] = $this->post->get_posts( $args, $current_object['items_count']);
1100
  }
1101
+
1102
  $this->current_object = wpforo_parse_args($current_object, $this->current_object);
1103
+
1104
  $this->current_object = apply_filters('wpforo_after_init_current_object', $this->current_object, $wpf_url_parse);
1105
 
1106
  if( $this->current_object['template'] ){
1161
  //ADDONS/////////////////////////////////////////////////////
1162
  WPF()->addons = array(
1163
  'prefix' => array('version' => '1.0.0', 'requires' => '1.9.4', 'class' => 'wpForoTopicPrefix', 'title' => 'Topic Prefix & Tag Manager', 'thumb' => WPFORO_URL . '/wpf-assets/addons/prefix/header.png', 'desc' => __('Allows you to create topic prefixes and prefix groups to categorize topics. Also, it allows you to add, edit, delete topic tags and convert them to prefixes.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-topic-prefix/'),
1164
+ 'tenor' => array('version' => '1.0.0', 'requires' => '1.9.8', 'class' => 'wpForoTenor', 'title' => 'Tenor GIFs Integration', 'thumb' => WPFORO_URL . '/wpf-assets/addons/tenor/header.png', 'desc' => __('Adds Tenor [GIF] button and opens popup where you can search for gifs and insert them in topic, post and private message content.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-tenor/'),
1165
+ 'giphy' => array('version' => '1.0.0', 'requires' => '1.9.8', 'class' => 'wpForoGiphy', 'title' => 'GIPHY Integration', 'thumb' => WPFORO_URL . '/wpf-assets/addons/giphy/header.png', 'desc' => __('Adds GIPHY [GIF] button and opens popup where you can search for gifs and insert them in topic, post and private message content.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-giphy/'),
1166
+ 'attachments' => array('version' => '2.0.4', 'requires' => '1.8.0', 'class' => 'wpForoAttachments', 'title' => 'Advanced Attachments', 'thumb' => WPFORO_URL . '/wpf-assets/addons/attachments/header.png', 'desc' => __('Adds an advanced file attachment system to forum topics and posts. AJAX powered media uploading and displaying system with user specific library.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-advanced-attachments/'),
1167
  'embeds' => array('version' => '2.0.7', 'requires' => '1.8.0', 'class' => 'wpForoEmbeds', 'title' => 'Embeds', 'thumb' => WPFORO_URL . '/wpf-assets/addons/embeds/header.png', 'desc' => __('Allows to embed hundreds of video, social network, audio and photo content providers in forum topics and posts.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-embeds/'),
 
 
 
1168
  'ucf' => array('version' => '2.0.2', 'requires' => '1.8.0', 'class' => 'WpforoUcf', 'title' => 'User Custom Fields', 'thumb' => WPFORO_URL . '/wpf-assets/addons/ucf/header.png', 'desc' => __('Advanced user profile builder system. Allows to add new fields and manage profile page. Creates custom Registration, Account, Member Search forms.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-user-custom-fields/'),
 
1169
  'pm' => array('version' => '1.3.3', 'requires' => '1.8.0', 'class' => 'wpForoPMs', 'title' => 'Private Messages', 'thumb' => WPFORO_URL . '/wpf-assets/addons/pm/header.png', 'desc' => __('Provides a safe way to communicate directly with other members. Messages are private and can only be viewed by conversation participants.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-private-messages/'),
1170
+ 'tcf' => array('version' => '1.0.0', 'requires' => '1.8.0', 'class' => 'wpForoTcf', 'title' => 'Topic Custom Fields', 'thumb' => WPFORO_URL . '/wpf-assets/addons/tcf/header.png', 'desc' => __('Allows to create topic custom fields and manage topic form layout with a form builder. Adds topic search options by custom fields', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-topic-custom-fields/'),
1171
+ 'syntax' => array('version' => '1.0.0', 'requires' => '1.9.0', 'class' => 'wpForoSyntaxHighlighter', 'title' => 'Syntax Highlighter', 'thumb' => WPFORO_URL . '/wpf-assets/addons/syntax/header.png', 'desc' => __('Syntax highlighting for forum posts, automatic language detection and multi-language code highlighting.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-syntax-highlighter/'),
1172
+ 'mycred' => array('version' => '1.1.2', 'requires' => '1.8.0', 'class' => 'myCRED_Hook_wpForo', 'title' => 'MyCRED Integration', 'thumb' => WPFORO_URL . '/wpf-assets/addons/mycred/header.png', 'desc' => __('Awards myCRED points for forum activity. Integrates myCRED Badges and Ranks. Converts wpForo topic and posts, likes to myCRED points.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-mycred/'),
1173
  'cross' => array('version' => '2.1.5', 'requires' => '1.8.0', 'class' => 'wpForoCrossPosting', 'title' => '"Forum - Blog" Cross Posting', 'thumb' => WPFORO_URL . '/wpf-assets/addons/cross/header.png', 'desc' => __('Blog to Forum and Forum to Blog content synchronization. Blog posts with Forum topics and Blog comments with Forum replies.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-cross-posting/'),
1174
  'ad-manager' => array('version' => '1.1.3', 'requires' => '1.8.0', 'class' => 'wpForoAD', 'title' => 'Ads Manager', 'thumb' => WPFORO_URL . '/wpf-assets/addons/ad-manager/header.png', 'desc' => __('Ads Manager is a powerful yet simple advertisement management system, that allows you to add adverting banners between forums, topics and posts.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-ad-manager/'),
1175
+ 'polls' => array('version' => '1.0.6', 'requires' => '1.8.0', 'class' => 'wpForoPoll', 'title' => 'Polls', 'thumb' => WPFORO_URL . '/wpf-assets/addons/polls/header.png', 'desc' => __('wpForo Polls is a complete addon to help forum members create, vote and manage polls effectively. Comes with poll specific permissions and settings.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-polls/'),
1176
  'emoticons' => array('version' => '1.0.5', 'requires' => '1.8.0', 'class' => 'wpForoSmiles', 'title' => 'wpForo Emoticons', 'thumb' => WPFORO_URL . '/wpf-assets/addons/wpforo-emoticons/header.png', 'desc' => __('Adds awesome Sticker and Emoticons packs to editor. Allows to create new custom emoticons packs.', 'wpforo'), 'url' => 'https://gvectors.com/product/wpforo-emoticons/'),
1177
  );
1178
  $wp_version = get_bloginfo('version'); if (version_compare($wp_version, '4.2.0', '>=')) { add_action('wp_ajax_dismiss_wpforo_addon_note', array(WPF()->notice, 'dismissAddonNote')); add_action('admin_notices', array(WPF()->notice, 'addonNote'));}
1179
  /////////////////////////////////////////////////////////////
1180
+ }