wpForo Forum - Version 2.0.8

Version Description

Download this release

Release Info

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

Code changes from version 2.0.7 to 2.0.8

admin/pages/dashboard.php CHANGED
@@ -81,7 +81,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
81
  </div><!-- widget / postbox -->
82
 
83
  <?php if( wpforo_current_user_is( 'admin' ) ) : ?>
84
- <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_0">
85
  <h2 class="wpf-box-header">
86
  <span><?php _e( 'Forum Maintenance', 'wpforo' ); ?></span>
87
  </h2>
@@ -97,6 +97,8 @@ if( ! defined( 'ABSPATH' ) ) exit;
97
  $reset_phrase_cache = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=reset_phrase_cache' ), 'wpforo_reset_phrase_cache' );
98
  $recrawl_phrases = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=recrawl_phrases' ), 'wpforo_recrawl_phrases' );
99
  $rebuild_threads = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=rebuild_threads' ), 'wpforo_rebuild_threads' );
 
 
100
  ?>
101
  <a href="<?php echo esc_url( $reset_cache ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Delete All Caches', 'wpforo' ); ?></a>&nbsp;
102
  <a href="<?php echo esc_url( $clean_up ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Clean Up', 'wpforo' ); ?></a>&nbsp;
@@ -105,6 +107,10 @@ if( ! defined( 'ABSPATH' ) ) exit;
105
  <a href="<?php echo esc_url( $recrawl_phrases ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Rebuild Phrases', 'wpforo' ); ?></a>&nbsp;
106
  <a href="<?php echo esc_url( $reset_phrase_cache ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Delete Phrase Cache', 'wpforo' ); ?></a>&nbsp;
107
  <a href="<?php echo esc_url( $rebuild_threads ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Rebuild Threads', 'wpforo' ); ?></a>
 
 
 
 
108
  </div>
109
  </div>
110
  </div>
81
  </div><!-- widget / postbox -->
82
 
83
  <?php if( wpforo_current_user_is( 'admin' ) ) : ?>
84
+ <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_0" style="width: 50%;">
85
  <h2 class="wpf-box-header">
86
  <span><?php _e( 'Forum Maintenance', 'wpforo' ); ?></span>
87
  </h2>
97
  $reset_phrase_cache = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=reset_phrase_cache' ), 'wpforo_reset_phrase_cache' );
98
  $recrawl_phrases = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=recrawl_phrases' ), 'wpforo_recrawl_phrases' );
99
  $rebuild_threads = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=rebuild_threads' ), 'wpforo_rebuild_threads' );
100
+ $flush_perma_soft = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=flush_permalinks&flush_type=soft' ), 'wpforo_flush_permalinks' );
101
+ $flush_perma_hard = wp_nonce_url( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) . '&wpfaction=flush_permalinks&flush_type=hard' ), 'wpforo_flush_permalinks' );
102
  ?>
103
  <a href="<?php echo esc_url( $reset_cache ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Delete All Caches', 'wpforo' ); ?></a>&nbsp;
104
  <a href="<?php echo esc_url( $clean_up ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Clean Up', 'wpforo' ); ?></a>&nbsp;
107
  <a href="<?php echo esc_url( $recrawl_phrases ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Rebuild Phrases', 'wpforo' ); ?></a>&nbsp;
108
  <a href="<?php echo esc_url( $reset_phrase_cache ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Delete Phrase Cache', 'wpforo' ); ?></a>&nbsp;
109
  <a href="<?php echo esc_url( $rebuild_threads ); ?>" style="min-width:160px; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Rebuild Threads', 'wpforo' ); ?></a>
110
+ <hr style="margin-bottom: 12px;">
111
+ <a href="<?php echo esc_url( $flush_perma_soft ); ?>" style="min-width:48%; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Soft Flush Permalinks', 'wpforo' ); ?></a>&nbsp;
112
+ <a href="<?php echo esc_url( $flush_perma_hard ); ?>" style="min-width:48%; margin-bottom:10px; text-align:center;" class="button button-secondary"><?php _e( 'Hard Flush Permalinks', 'wpforo' ); ?></a>
113
+ <p style="margin: 0;"><?php _e('Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). The hard option creates "rewrite_rules_bk_{sec}" record in "wp_options" table and .htaccess-bk-{sec} backup file in the root directory.', 'wpforo') ?></p>
114
  </div>
115
  </div>
116
  </div>
admin/pages/overview.php CHANGED
@@ -103,7 +103,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
103
  </div><!-- widget / postbox -->
104
 
105
  <?php if( wpforo_current_user_is( 'admin' ) ) : ?>
106
- <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_0">
107
  <h2 class="wpf-box-header"><span><?php _e( 'General Maintenance', 'wpforo' ); ?></span></h2>
108
  <p class="wpf-info" style="padding:10px;"><?php _e( "This process may take a few seconds or dozens of minutes, please be patient and don't close this page. If you got 500 Server Error please don't worry, the data updating process is still working in MySQL server.", 'wpforo' ); ?></p>
109
  <div class="inside">
@@ -125,7 +125,7 @@ if( ! defined( 'ABSPATH' ) ) exit;
125
  </div><!-- widget / postbox -->
126
  <?php endif ?>
127
 
128
- <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_1">
129
  <h2 class="wpf-box-header"><span><?php _e( 'General Information', 'wpforo' ); ?></span></h2>
130
  <div class="inside">
131
  <div class="main">
103
  </div><!-- widget / postbox -->
104
 
105
  <?php if( wpforo_current_user_is( 'admin' ) ) : ?>
106
+ <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_0" style="min-width: 250px; width: 290px">
107
  <h2 class="wpf-box-header"><span><?php _e( 'General Maintenance', 'wpforo' ); ?></span></h2>
108
  <p class="wpf-info" style="padding:10px;"><?php _e( "This process may take a few seconds or dozens of minutes, please be patient and don't close this page. If you got 500 Server Error please don't worry, the data updating process is still working in MySQL server.", 'wpforo' ); ?></p>
109
  <div class="inside">
125
  </div><!-- widget / postbox -->
126
  <?php endif ?>
127
 
128
+ <div class="postbox wpf-dash-box" id="wpforo_dashboard_widget_1" style="min-width: 250px;">
129
  <h2 class="wpf-box-header"><span><?php _e( 'General Information', 'wpforo' ); ?></span></h2>
130
  <div class="inside">
131
  <div class="main">
admin/settings/styles.php CHANGED
@@ -6,7 +6,7 @@
6
  WPF()->settings->header( 'styles' );
7
  WPF()->settings->form_field( 'styles', 'font_sizes' );
8
  WPF()->settings->form_field( 'styles', 'custom_css' );
9
- $colorids = apply_filters( 'wpforo_manageable_colorids', [ 1, 3, 11, 12, 14 ] );
10
  ?>
11
 
12
  <h3 style="margin:20px 0 0; padding:10px 0; border-bottom:3px solid #F5F5F5; font-size: 15px;" data-wpf-opt="style"><?php _e( 'Forum Styles', 'wpforo' ); ?> &nbsp;<a href="https://wpforo.com/docs/wpforo-v2/wpforo-settings/style-settings/" title="<?php _e( 'Read the documentation', 'wpforo' ) ?>" target="_blank" style="font-size: 14px;"><i class="far fa-question-circle"></i></a> &nbsp;|&nbsp; <a href="https://wpforo.com/docs/wpforo-v2/forum-themes/theme-styles/" target="_blank"
@@ -69,6 +69,11 @@ $colorids = apply_filters( 'wpforo_manageable_colorids', [ 1, 3, 11, 12, 14 ] );
69
  <li><?php _e( 'Footer bottom "powered by" bar background color', 'wpforo' ) ?></li>
70
  </ul>
71
  </li>
 
 
 
 
 
72
  <li><span style="color: #3366ff; text-transform: uppercase;"><strong><?php _e( 'Color', 'wpforo' ) ?> #11</strong></span>
73
  <ul>
74
  <li><?php _e( "Links' hover/active font color", 'wpforo' ) ?></li>
@@ -90,6 +95,17 @@ $colorids = apply_filters( 'wpforo_manageable_colorids', [ 1, 3, 11, 12, 14 ] );
90
  <li><?php _e( 'Button border color and button hover background color', 'wpforo' ) ?></li>
91
  </ul>
92
  </li>
 
 
 
 
 
 
 
 
 
 
 
93
  </ul>
94
  </div>
95
  </td>
6
  WPF()->settings->header( 'styles' );
7
  WPF()->settings->form_field( 'styles', 'font_sizes' );
8
  WPF()->settings->form_field( 'styles', 'custom_css' );
9
+ $colorids = apply_filters( 'wpforo_manageable_colorids', [ 1, 3, 9, 11, 12, 14, 15, 18 ] );
10
  ?>
11
 
12
  <h3 style="margin:20px 0 0; padding:10px 0; border-bottom:3px solid #F5F5F5; font-size: 15px;" data-wpf-opt="style"><?php _e( 'Forum Styles', 'wpforo' ); ?> &nbsp;<a href="https://wpforo.com/docs/wpforo-v2/wpforo-settings/style-settings/" title="<?php _e( 'Read the documentation', 'wpforo' ) ?>" target="_blank" style="font-size: 14px;"><i class="far fa-question-circle"></i></a> &nbsp;|&nbsp; <a href="https://wpforo.com/docs/wpforo-v2/forum-themes/theme-styles/" target="_blank"
69
  <li><?php _e( 'Footer bottom "powered by" bar background color', 'wpforo' ) ?></li>
70
  </ul>
71
  </li>
72
+ <li><strong style="text-transform: uppercase;"><?php _e( 'Color', 'wpforo' ) ?> #9</strong>
73
+ <ul>
74
+ <li><?php _e( 'The light gray background of almost all sections and boxes (header, menu, topic overview, footer, etc...)', 'wpforo' ) ?></li>
75
+ </ul>
76
+ </li>
77
  <li><span style="color: #3366ff; text-transform: uppercase;"><strong><?php _e( 'Color', 'wpforo' ) ?> #11</strong></span>
78
  <ul>
79
  <li><?php _e( "Links' hover/active font color", 'wpforo' ) ?></li>
95
  <li><?php _e( 'Button border color and button hover background color', 'wpforo' ) ?></li>
96
  </ul>
97
  </li>
98
+ <li><span style="color: #3366ff; text-transform: uppercase;"><strong><?php _e( 'Color', 'wpforo' ) ?> #15</strong></span>
99
+ <ul>
100
+ <li><?php _e( 'The color of almost all links', 'wpforo' ) ?></li>
101
+ <li><?php _e( 'Topic and post moderation buttons\' color (reply, quote, like, sticky, closed, move, delete, etc...)', 'wpforo' ) ?></li>
102
+ </ul>
103
+ </li>
104
+ <li><strong style="text-transform: uppercase;"><?php _e( 'Color', 'wpforo' ) ?> #18</strong>
105
+ <ul>
106
+ <li><?php _e( 'The lightest gray background of sections and boxes (forum list, members boxes, reply background, etc...)', 'wpforo' ) ?></li>
107
+ </ul>
108
+ </li>
109
  </ul>
110
  </div>
111
  </td>
admin/tools-tabs/debug.php CHANGED
@@ -299,6 +299,45 @@ function wpforo_issues() {
299
  $issues['theme']['custom_theme']['solution'] = "Please make sure the <code style='color:red;'>/wpforo/</code> folder in the current WordPress active theme directory contains wpForo v2.0 template files. If the template files have been moved to this folder from the old v1.x version you should delete them to avoid lots of errors and problems on the forum front-end. You can use an FTP client or the File Manager of your Hosting cPanel to rename or remove the <code style='color:red;'>/wpforo/</code> folder from <code style='color:blue;'>/wp-content/themes/" . basename(get_stylesheet_directory()) . "</code> directory";
300
  }
301
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  #########################################################
303
  //Other Issues //////////////////////////////////////////
304
  $phrases = WPF()->db->get_var( "SELECT COUNT(*) FROM `" . WPF()->tables->phrases . "`" );
299
  $issues['theme']['custom_theme']['solution'] = "Please make sure the <code style='color:red;'>/wpforo/</code> folder in the current WordPress active theme directory contains wpForo v2.0 template files. If the template files have been moved to this folder from the old v1.x version you should delete them to avoid lots of errors and problems on the forum front-end. You can use an FTP client or the File Manager of your Hosting cPanel to rename or remove the <code style='color:red;'>/wpforo/</code> folder from <code style='color:blue;'>/wp-content/themes/" . basename(get_stylesheet_directory()) . "</code> directory";
300
  }
301
 
302
+ #########################################################
303
+ //Check Rewrite Rules ////////////////////////
304
+ if( $pageid = WPF()->board->get_current( 'pageid' ) ){
305
+ $rr_issue = [];
306
+ if( $rewrite_rules = get_option('rewrite_rules') ){
307
+ $rules = [ ')?' . wpforo_settings_get_slug('member') . '(?',
308
+ ')?sign-out(?',
309
+ ')?' . wpforo_settings_get_slug('lostpassword') . '(?',
310
+ ')?' . wpforo_settings_get_slug('login') . '(?',
311
+ ')?' . wpforo_settings_get_slug('register') . '(?',
312
+ ')?' . wpforo_settings_get_slug('members') . '(?',
313
+ ')?' . WPF()->board->get_current( 'slug' ) . '(?'
314
+ ];
315
+ foreach( $rewrite_rules as $r_key => $r_value ){
316
+ $r_key = stripslashes($r_key);
317
+ foreach( $rules as $rule ){
318
+ if( strpos( $r_key, $rule ) !== FALSE ){
319
+ if( strpos( $r_value, '&page_id=' ) !== FALSE
320
+ && strpos( $r_value, '&page_id=' . $pageid ) === FALSE
321
+ ) {
322
+ $rr_issue[] = '<li style="list-style: disc; margin: 0 20px;">' . $r_key . ' &nbsp;|&nbsp; ' . $r_value . '<li>';
323
+ }
324
+ }
325
+ }
326
+
327
+ if($rr_issue){
328
+ $admin_page = ( is_wpforo_multiboard() ) ? 'wpForo > Dashbaord admin page' : 'wpForo > Overview admin page, scroll down';
329
+ $issues['pages']['rewrite_rules']['level'] = 3;
330
+ $issues['pages']['rewrite_rules']['message'] = "Action Required!<br>Some forum pages may be not accessible";
331
+ $issues['pages']['rewrite_rules']['solution'] = "wpForo detected wrong rewrite rules, please navigate to $admin_page, click the [Soft Flush Permalinks] button, if the issue is not fixed, please click the [Hard Flush Permalinks] button. <br /><br /> Wrong revrite rules (current pageid is " . $pageid . "): <ul style='margin: 0;'>" . implode('', $rr_issue) . "</ul>";
332
+ }
333
+ }
334
+ }
335
+ } else {
336
+ $issues['board']['page']['level'] = 3;
337
+ $issues['board']['page']['message'] = "wpForo Base Page is Not Found";
338
+ $issues['board']['page']['solution'] = "Please check pageid column in the list of boards in wpForo > Boards admin page and make sure this board is connected to a page with [wpforo] shortcode. The documentation: " . "<a href='https://wpforo.com/docs/wpforo-v2/categories-and-forums/forum-boards/' target='_blank'>boards and forum page</a>";
339
+ }
340
+
341
  #########################################################
342
  //Other Issues //////////////////////////////////////////
343
  $phrases = WPF()->db->get_var( "SELECT COUNT(*) FROM `" . WPF()->tables->phrases . "`" );
classes/API.php CHANGED
@@ -8,7 +8,7 @@ use WP_Error;
8
  if( ! defined( 'ABSPATH' ) ) exit;
9
 
10
  class API {
11
- const FB_SDK_VERSION = 'v2.10';
12
  public $locale = 'en_US';
13
  public $locale_iso = 'en';
14
  public $fb_local = [
@@ -162,7 +162,7 @@ class API {
162
  }
163
 
164
  if( is_wpforo_page() ) {
165
- if( apply_filters( 'wpforo_api_fb_load_sdk', true ) ) {
166
  add_action( 'wpforo_bottom_hook', [ $this, 'fb_sdk' ], 10 );
167
  }
168
  if( apply_filters( 'wpforo_api_tw_load_wjs', true ) && wpforo_setting( 'social', 'sb', 'tw' ) ) {
@@ -401,40 +401,49 @@ class API {
401
  }
402
 
403
  public function fb_sdk() {
404
- ?>
405
- <div id="fb-root"></div>
406
- <script type='text/javascript'>(function (d, s, id) {
407
- var js, fjs = d.getElementsByTagName(s)[0]
408
- if (d.getElementById(id)) return
409
- js = d.createElement(s)
410
- js.id = id
411
- js.src = "//connect.facebook.net/<?php echo $this->local(
412
- 'fb'
413
- ) ?>/sdk.js#xfbml=1&version=<?php echo self::FB_SDK_VERSION ?>&appId=<?php echo wpforo_setting( 'authorization', 'fb_api_id' ) ?>&autoLogAppEvents=1"
414
- fjs.parentNode.insertBefore(js, fjs)
415
- }(document, 'script', 'facebook-jssdk'))</script>
416
- <?php
 
 
 
 
417
  }
418
 
419
  public function fb_login_sdk() {
420
  ?>
421
- <script type='text/javascript'>function statusChangeCallback (response) { if (response.status === 'connected') {} else if (response.status === 'not_authorized') {} else {}}
422
-
 
 
 
 
 
 
423
  function checkLoginState () { FB.getLoginStatus(function (response) { statusChangeCallback(response) })}
424
-
425
- window.fbAsyncInit = function () {
426
  FB.init({
427
- appId: '<?php echo trim(
428
- wpforo_setting( 'authorization', 'fb_api_id' )
429
- ) ?>',
430
- cookie: <?php echo wpforo_setting( 'legal', 'cookies' ) ? 'true' : 'false'; ?>,
431
- xfbml: true,
432
- status: false,
433
  version: '<?php echo self::FB_SDK_VERSION ?>'
434
- })
435
- FB.getLoginStatus(function (response) {statusChangeCallback(response)})
436
- }</script>
437
- <?php
 
 
 
438
  }
439
 
440
  public function fb_login_button() {
@@ -447,8 +456,7 @@ class API {
447
  <?php if( $checkbox ): ?>
448
  <div class="wpforo-fb-info">
449
  <span class="wpforo-fb-info-title">
450
- <i class="fas fa-info-circle wpfcl-5" aria-hidden="true"
451
- style="font-size:16px;"></i> &nbsp;<?php wpforo_phrase( 'Facebook Login Information' ); ?>
452
  </span>
453
  <span class="wpforo-fb-info-text">
454
  <?php echo apply_filters(
@@ -472,13 +480,21 @@ class API {
472
  data-fb_nonce="<?php echo wp_create_nonce(
473
  'wpforo-fb-nonce'
474
  ) ?>" <?php if( $checkbox ) echo 'style="pointer-events: none; opacity:0.6;"'; ?>>
475
- <div class="fb-login-button" data-max-rows="1" onlogin="wpforo_fb_check_auth" data-size="medium"
476
- data-button-type="login_with" data-show-faces="false" data-auth-type="rerequest"
477
- data-auto-logout-link="false" data-use-continue-as="true" data-scope="email,public_profile"></div>
478
- <img data-no-lazy="1" src="<?php echo WPFORO_URL . '/assets/images/loading.gif'; ?>"
479
- class="wpforo_fb-spinner" style="display:none" alt="loading...">
 
 
 
 
 
 
 
 
480
  </div>
481
- <?php
482
  }
483
 
484
  public function fb_share_button( $url = '', $type = 'custom' ) {
8
  if( ! defined( 'ABSPATH' ) ) exit;
9
 
10
  class API {
11
+ const FB_SDK_VERSION = 'v14.0';
12
  public $locale = 'en_US';
13
  public $locale_iso = 'en';
14
  public $fb_local = [
162
  }
163
 
164
  if( is_wpforo_page() ) {
165
+ if( apply_filters( 'wpforo_api_fb_load_sdk', true ) && wpforo_setting( 'social', 'sb', 'fb' ) ) {
166
  add_action( 'wpforo_bottom_hook', [ $this, 'fb_sdk' ], 10 );
167
  }
168
  if( apply_filters( 'wpforo_api_tw_load_wjs', true ) && wpforo_setting( 'social', 'sb', 'tw' ) ) {
401
  }
402
 
403
  public function fb_sdk() {
404
+ if( wpforo_setting( 'authorization', 'fb_api_id' ) ){
405
+ ?>
406
+ <script>
407
+ window.fbAsyncInit = function() {
408
+ FB.init({
409
+ appId : '<?php echo wpforo_setting( 'authorization', 'fb_api_id' ) ?>',
410
+ autoLogAppEvents : true,
411
+ xfbml : true,
412
+ version : '<?php echo self::FB_SDK_VERSION ?>'
413
+ });
414
+ };
415
+ </script>
416
+ <?php
417
+ if( !wpforo_setting( 'authorization', 'fb_login' ) ){
418
+ ?><div id="fb-root"></div><script async defer crossorigin="anonymous" src="https://connect.facebook.net/<?php echo $this->local('fb') ?>/sdk.js"></script><?php
419
+ }
420
+ }
421
  }
422
 
423
  public function fb_login_sdk() {
424
  ?>
425
+ <script type='text/javascript'>
426
+ function statusChangeCallback(response) {
427
+ if (response.status === 'connected') {
428
+ //testAPI();
429
+ } else {
430
+ //document.getElementById('status').innerHTML = 'Please log ' + 'into this webpage.';
431
+ }
432
+ }
433
  function checkLoginState () { FB.getLoginStatus(function (response) { statusChangeCallback(response) })}
434
+ window.fbAsyncInit = function() {
 
435
  FB.init({
436
+ appId : '<?php echo trim( wpforo_setting( 'authorization', 'fb_api_id' ) ) ?>',
437
+ cookie : <?php echo wpforo_setting( 'legal', 'cookies' ) ? 'true' : 'false'; ?>, // Enable cookies to allow the server to access the session.
438
+ xfbml : true,
 
 
 
439
  version: '<?php echo self::FB_SDK_VERSION ?>'
440
+ });
441
+ FB.getLoginStatus(function(response) { statusChangeCallback(response) });
442
+ };
443
+ </script>
444
+ <div id="fb-root"></div>
445
+ <script async defer crossorigin="anonymous" src="https://connect.facebook.net/<?php echo $this->local('fb') ?>/sdk.js#xfbml=1&version=<?php echo self::FB_SDK_VERSION ?>"></script>
446
+ <?php
447
  }
448
 
449
  public function fb_login_button() {
456
  <?php if( $checkbox ): ?>
457
  <div class="wpforo-fb-info">
458
  <span class="wpforo-fb-info-title">
459
+ <i class="fas fa-info-circle wpfcl-5" aria-hidden="true" style="font-size:16px;"></i> &nbsp;<?php wpforo_phrase( 'Facebook Login Information' ); ?>
 
460
  </span>
461
  <span class="wpforo-fb-info-text">
462
  <?php echo apply_filters(
480
  data-fb_nonce="<?php echo wp_create_nonce(
481
  'wpforo-fb-nonce'
482
  ) ?>" <?php if( $checkbox ) echo 'style="pointer-events: none; opacity:0.6;"'; ?>>
483
+ <div class="fb-login-button"
484
+ data-max-rows="1"
485
+ onlogin="wpforo_fb_check_auth"
486
+ data-width=""
487
+ data-size="medium"
488
+ data-button-type="login_with"
489
+ data-layout="rounded"
490
+ data-show-faces="false"
491
+ data-auth-type="rerequest"
492
+ data-auto-logout-link="false"
493
+ data-use-continue-as="true"
494
+ data-scope="email,public_profile"></div>
495
+ <img data-no-lazy="1" src="<?php echo WPFORO_URL . '/assets/images/loading.gif'; ?>" class="wpforo_fb-spinner" style="display:none" alt="loading...">
496
  </div>
497
+ <?php
498
  }
499
 
500
  public function fb_share_button( $url = '', $type = 'custom' ) {
classes/Actions.php CHANGED
@@ -85,6 +85,7 @@ class Actions {
85
  add_action( 'wpforo_action_reset_phrase_cache', [ $this, 'reset_phrase_cache' ] );
86
  add_action( 'wpforo_action_recrawl_phrases', [ $this, 'recrawl_phrases' ] );
87
  add_action( 'wpforo_action_clean_up', [ $this, 'clean_up' ] );
 
88
 
89
  add_action( 'wpforo_action_base_slugs_settings_save', [ $this, 'base_slugs_settings_save' ] );
90
  add_action( 'wpforo_action_general_settings_save', [ $this, 'general_settings_save' ] );
@@ -1150,6 +1151,40 @@ class Actions {
1150
  exit();
1151
  }
1152
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1153
  /**
1154
  * dashboard_options_save form submit action
1155
  */
85
  add_action( 'wpforo_action_reset_phrase_cache', [ $this, 'reset_phrase_cache' ] );
86
  add_action( 'wpforo_action_recrawl_phrases', [ $this, 'recrawl_phrases' ] );
87
  add_action( 'wpforo_action_clean_up', [ $this, 'clean_up' ] );
88
+ add_action( 'wpforo_action_flush_permalinks', [ $this, 'flush_permalinks' ] );
89
 
90
  add_action( 'wpforo_action_base_slugs_settings_save', [ $this, 'base_slugs_settings_save' ] );
91
  add_action( 'wpforo_action_general_settings_save', [ $this, 'general_settings_save' ] );
1151
  exit();
1152
  }
1153
 
1154
+ /**
1155
+ * Flush Permalinks
1156
+ */
1157
+ public function flush_permalinks() {
1158
+ check_admin_referer( 'wpforo_flush_permalinks' );
1159
+
1160
+ if( ! current_user_can( 'administrator' ) ) {
1161
+ WPF()->notice->add( 'Permission denied', 'error' );
1162
+ wp_safe_redirect( admin_url() );
1163
+ exit();
1164
+ }
1165
+
1166
+ wpforo_set_max_execution_time();
1167
+ wp_raise_memory_limit();
1168
+
1169
+ if( 'hard' === wpfval( WPF()->GET, 'flush_type' ) ) {
1170
+ $bk_time = time();
1171
+ $current = get_option('rewrite_rules');
1172
+ update_option( 'rewrite_rules_bk_' . $bk_time, $current );
1173
+ copy( ABSPATH . '/.htaccess', ABSPATH . '/.htaccess-bk-' . $bk_time );
1174
+ flush_rewrite_rules( true );
1175
+ delete_option('rewrite_rules');
1176
+ } else {
1177
+ flush_rewrite_rules( false );
1178
+ }
1179
+
1180
+ WPF()->phrase->clear_cache();
1181
+ WPF()->notice->clear();
1182
+ WPF()->notice->add( 'Flushed Successfully!', 'success' );
1183
+
1184
+ wp_safe_redirect( admin_url( 'admin.php?page=' . wpforo_prefix_slug( 'dashboard' ) ) );
1185
+ exit();
1186
+ }
1187
+
1188
  /**
1189
  * dashboard_options_save form submit action
1190
  */
classes/Members.php CHANGED
@@ -1747,7 +1747,7 @@ class Members {
1747
  WPF()->current_usermeta = $user_meta;
1748
  WPF()->current_user_groupid = WPF()->current_user['groupid'];
1749
  WPF()->current_user_secondary_groupids = WPF()->current_user['secondary_groupids'];
1750
- WPF()->current_user_groupids = array_unique( array_filter( array_merge( (array) WPF()->current_user_groupid, WPF()->current_user_secondary_groupids ) ) );
1751
  WPF()->current_user_status = (string) wpfval($user, 'status');
1752
  $this->update_online_time();
1753
  } elseif( $guest = $this->get_guest_cookies() ) {
@@ -1968,10 +1968,10 @@ class Members {
1968
  * start init tinymce settings
1969
  */
1970
  $wp_editor_settings = WPF()->tpl->editor_buttons();
1971
- $wp_editor_settings['tinymce']['toolbar1'] = 'bold,italic,link,unlink,undo,redo';
1972
  $wp_editor_settings['plugins'] = '';
1973
  unset(
1974
- $wp_editor_settings['external_plugins']['wpforo_pre_button'], $wp_editor_settings['external_plugins']['wpforo_spoiler_button'], $wp_editor_settings['external_plugins']['wpforo_source_code_button'], $wp_editor_settings['external_plugins']['emoticons']
1975
  );
1976
  $wp_editor_settings = apply_filters( 'wpforo_members_init_fields_tinymce_settings', $wp_editor_settings );
1977
 
1747
  WPF()->current_usermeta = $user_meta;
1748
  WPF()->current_user_groupid = WPF()->current_user['groupid'];
1749
  WPF()->current_user_secondary_groupids = WPF()->current_user['secondary_groupids'];
1750
+ WPF()->current_user_groupids = array_unique( array_filter( array_merge( (array) WPF()->current_user_groupid, (array) WPF()->current_user_secondary_groupids ) ) );
1751
  WPF()->current_user_status = (string) wpfval($user, 'status');
1752
  $this->update_online_time();
1753
  } elseif( $guest = $this->get_guest_cookies() ) {
1968
  * start init tinymce settings
1969
  */
1970
  $wp_editor_settings = WPF()->tpl->editor_buttons();
1971
+ $wp_editor_settings['tinymce']['toolbar1'] = 'bold,italic,link,unlink,undo,redo,source_code,emoticons';
1972
  $wp_editor_settings['plugins'] = '';
1973
  unset(
1974
+ $wp_editor_settings['external_plugins']['wpforo_pre_button'], $wp_editor_settings['external_plugins']['wpforo_spoiler_button']
1975
  );
1976
  $wp_editor_settings = apply_filters( 'wpforo_members_init_fields_tinymce_settings', $wp_editor_settings );
1977
 
classes/Settings.php CHANGED
@@ -684,8 +684,8 @@ class Settings {
684
  ],
685
  "topic_head" => [
686
  "type" => "radio",
687
- "label" => esc_html__( "Display Topic Staistics and Overview Panel", "wpforo" ),
688
- "label_original" => "Display Topic Staistics and Overview Panel",
689
  "description" => esc_html__( "", "wpforo" ),
690
  "description_original" => "",
691
  "docurl" => "",
@@ -3234,7 +3234,7 @@ class Settings {
3234
  <p class="wpf-desc">%4$s</p>
3235
  </div>
3236
  <div class="wpf-opt-input">
3237
- <input type="file" accept="image/png,image/x-png,image/gif,image/jpeg" id="%2$s" name="%5$s">
3238
  %6$s
3239
  </div>
3240
  %7$s
@@ -3614,6 +3614,7 @@ class Settings {
3614
  15 => '#3f7796',
3615
  16 => '#4a8eb3',
3616
  17 => '#dff4ff',
 
3617
  20 => '#ff812d',
3618
  30 => '#4dca5c',
3619
  31 => '#00a636',
@@ -3642,6 +3643,7 @@ class Settings {
3642
  15 => '#99262B',
3643
  16 => '#D61319',
3644
  17 => '#FFF7F7',
 
3645
  20 => '#30B2A7',
3646
  30 => '#4dca5c',
3647
  31 => '#00a636',
@@ -3670,6 +3672,7 @@ class Settings {
3670
  15 => '#5A7F10',
3671
  16 => '#6EA500',
3672
  17 => '#F8FCEF',
 
3673
  20 => '#ff812d',
3674
  30 => '#4dca5c',
3675
  31 => '#00a636',
@@ -3698,6 +3701,7 @@ class Settings {
3698
  15 => '#AA4F12',
3699
  16 => '#F26000',
3700
  17 => '#FFF4ED',
 
3701
  20 => '#ff812d',
3702
  30 => '#4dca5c',
3703
  31 => '#00a636',
@@ -3726,6 +3730,7 @@ class Settings {
3726
  15 => '#333333',
3727
  16 => '#555555',
3728
  17 => '#DFF4FF',
 
3729
  20 => '#FF812D',
3730
  30 => '#4dca5c',
3731
  31 => '#00a636',
@@ -3754,6 +3759,7 @@ class Settings {
3754
  15 => '#E0E0E0',
3755
  16 => '#CECECE',
3756
  17 => '#33779b',
 
3757
  20 => '#FF812D',
3758
  30 => '#4dca5c',
3759
  31 => '#00a636',
684
  ],
685
  "topic_head" => [
686
  "type" => "radio",
687
+ "label" => esc_html__( "Display Topic Statistics and Overview Panel", "wpforo" ),
688
+ "label_original" => "Display Topic Statistics and Overview Panel",
689
  "description" => esc_html__( "", "wpforo" ),
690
  "description_original" => "",
691
  "docurl" => "",
3234
  <p class="wpf-desc">%4$s</p>
3235
  </div>
3236
  <div class="wpf-opt-input">
3237
+ <input type="file" accept="image/png,image/x-png,image/gif,image/jpeg,image/webp" id="%2$s" name="%5$s">
3238
  %6$s
3239
  </div>
3240
  %7$s
3614
  15 => '#3f7796',
3615
  16 => '#4a8eb3',
3616
  17 => '#dff4ff',
3617
+ 18 => '#fafafa',
3618
  20 => '#ff812d',
3619
  30 => '#4dca5c',
3620
  31 => '#00a636',
3643
  15 => '#99262B',
3644
  16 => '#D61319',
3645
  17 => '#FFF7F7',
3646
+ 18 => '#fafafa',
3647
  20 => '#30B2A7',
3648
  30 => '#4dca5c',
3649
  31 => '#00a636',
3672
  15 => '#5A7F10',
3673
  16 => '#6EA500',
3674
  17 => '#F8FCEF',
3675
+ 18 => '#fafafa',
3676
  20 => '#ff812d',
3677
  30 => '#4dca5c',
3678
  31 => '#00a636',
3701
  15 => '#AA4F12',
3702
  16 => '#F26000',
3703
  17 => '#FFF4ED',
3704
+ 18 => '#fafafa',
3705
  20 => '#ff812d',
3706
  30 => '#4dca5c',
3707
  31 => '#00a636',
3730
  15 => '#333333',
3731
  16 => '#555555',
3732
  17 => '#DFF4FF',
3733
+ 18 => '#fafafa',
3734
  20 => '#FF812D',
3735
  30 => '#4dca5c',
3736
  31 => '#00a636',
3759
  15 => '#E0E0E0',
3760
  16 => '#CECECE',
3761
  17 => '#33779b',
3762
+ 18 => '#666666',
3763
  20 => '#FF812D',
3764
  30 => '#4dca5c',
3765
  31 => '#00a636',
includes/functions-template.php CHANGED
@@ -1543,6 +1543,9 @@ function wpforo_thread( $topicid ){
1543
  $thread['icons_html'] = '';
1544
  $thread['users_html'] = '';
1545
  $thread['status_html'] = '';
 
 
 
1546
  $thread['forum'] = wpforo_forum( $thread['forumid'] );
1547
  $thread['user'] = wpforo_member($thread);
1548
  $thread['last_post'] = (wpfval($thread, 'last_post')) ? wpforo_post($thread['last_post']) : [];
@@ -1649,7 +1652,7 @@ function wpforo_thread_breadcrumb( $post = [], $parents = [] ) {
1649
  $parent = wpforo_post( $post['parentid'] );
1650
  $member = wpforo_member( $parent );
1651
  $parent_url = ( wpfval( $parent, 'url' ) ) ? $parent['url'] : '#post-' . $parent['parentid'];
1652
- $avatar = WPF()->member->avatar( $member, 'alt="' . esc_attr( $member['display_name'] ) . '"', 18 );
1653
  $member_name = ( wpfval( $member, 'display_name' ) ) ? $member['display_name'] : wpforo_phrase(
1654
  'Guest',
1655
  false
@@ -1679,11 +1682,7 @@ function wpforo_thread_breadcrumb( $post = [], $parents = [] ) {
1679
  wpforo_phrase( 'Reply by', false ) . ' ' . $name
1680
  ) . '" wpf-tooltip-size="medium"';
1681
  $parent_url = ( wpfval( $parent, 'url' ) ) ? $parent['url'] : '#post-' . $parent['parentid'];
1682
- $avatar = WPF()->member->avatar(
1683
- $member,
1684
- 'alt="' . esc_attr( $member['display_name'] ) . '"',
1685
- 18
1686
- );
1687
  if( ! $gab ) $html .= '<i class="fas fa-angle-right wpf-tree-sep"></i>';
1688
  $html .= '<div class="wpf-tree-item' . $class . '" ' . $tooltip . '><a href="' . esc_url(
1689
  $parent_url
1543
  $thread['icons_html'] = '';
1544
  $thread['users_html'] = '';
1545
  $thread['status_html'] = '';
1546
+ $thread['reply_html'] = '';
1547
+ $thread['user_avatar'] = '';
1548
+ $thread['last_user_avatar'] = '';
1549
  $thread['forum'] = wpforo_forum( $thread['forumid'] );
1550
  $thread['user'] = wpforo_member($thread);
1551
  $thread['last_post'] = (wpfval($thread, 'last_post')) ? wpforo_post($thread['last_post']) : [];
1652
  $parent = wpforo_post( $post['parentid'] );
1653
  $member = wpforo_member( $parent );
1654
  $parent_url = ( wpfval( $parent, 'url' ) ) ? $parent['url'] : '#post-' . $parent['parentid'];
1655
+ $avatar = ( wpforo_setting('profiles', 'avatars') ) ? WPF()->member->avatar( $member, 'alt="' . esc_attr( $member['display_name'] ) . '"', 18 ) : '&nbsp;';
1656
  $member_name = ( wpfval( $member, 'display_name' ) ) ? $member['display_name'] : wpforo_phrase(
1657
  'Guest',
1658
  false
1682
  wpforo_phrase( 'Reply by', false ) . ' ' . $name
1683
  ) . '" wpf-tooltip-size="medium"';
1684
  $parent_url = ( wpfval( $parent, 'url' ) ) ? $parent['url'] : '#post-' . $parent['parentid'];
1685
+ $avatar = ( wpforo_setting('profiles', 'avatars') ) ? WPF()->member->avatar( $member, 'alt="' . esc_attr( $member['display_name'] ) . '"', 18 ) : '&nbsp;&nbsp;&nbsp;' . $name;
 
 
 
 
1686
  if( ! $gab ) $html .= '<i class="fas fa-angle-right wpf-tree-sep"></i>';
1687
  $html .= '<div class="wpf-tree-item' . $class . '" ' . $tooltip . '><a href="' . esc_url(
1688
  $parent_url
includes/functions.php CHANGED
@@ -485,7 +485,7 @@ function _is_wpforo_exclude_url( $url = '' ) {
485
  $url = urldecode( $url );
486
  $url = preg_replace( '#/page/\d*/?$#isu', '', $url );
487
  if( $current_url = wpforo_get_url_query_vars_str( $url ) ) {
488
- if( preg_match( '#^/?(?:([^\s/\?\&=<>:\'\"\*\:\\\|]*/)(?1)*)?[^\s/\?\&=<>:\'\"\*\:\\\|]+\.(?:php|js|css|jpe?g|png|gif)/?(?:\?[^/]*)?$#iu', $current_url ) ) {
489
  $result = true;
490
  } elseif( WPF()->board->get_current( 'is_standalone' ) && ( $excld_urls = WPF()->board->get_current( 'excld_urls' ) ) ) {
491
  foreach( $excld_urls as $excld_url ) {
@@ -900,7 +900,7 @@ function wpforo_content_filter( $content ) {
900
  $content = preg_replace( '#((?:href|src)=[\'\"])(?:https?://)?(?:\.+/)+wp-content/#i', "$1" . $home_url . "wp-content/", $content );
901
  }
902
  $content = apply_filters( 'wpforo_body_text_filter', $content );
903
- if( apply_filters( 'wpforo_auto_embed_image', true ) ) $content = preg_replace( '#([^\'\"]|^)(https?://[^\s\'\"<>]+\.(?:jpg|jpeg|png|gif|ico|svg|bmp|tiff))([^\'\"]|$)#isu', '$1 <a class="wpforo-auto-embeded-link" href="$2" target="_blank"><img class="wpforo-auto-embeded-image" src="$2"/></a> $3', $content );
904
  if( apply_filters( 'wpforo_auto_embed_link', true ) ) $content = preg_replace( '#([^\'\"]|^)(https?://[^\s\'\"<>\[\]]+)([^\'\"]|$)#isu', '$1 <a class="wpforo-auto-embeded-link" href="$2" target="_blank">$2</a> $3', $content );
905
  if( preg_match_all( '#<pre([^<>]*)>(.*?class=[\'"]wpforo-auto-embeded[^\'"]*[\'"].*?)</pre>#isu', $content, $matches, PREG_SET_ORDER ) ) {
906
  foreach( $matches as $match ) {
@@ -1588,7 +1588,7 @@ function wpforo_deep_merge( $default, $current = [] ) {
1588
  }
1589
 
1590
  function wpforo_is_image( $e ) {
1591
- return (bool) preg_match( '#^(jpe?g|png|gif|bmp|tiff?)$#i', $e );
1592
  }
1593
 
1594
  function wpforo_is_video( $e ) {
@@ -1979,7 +1979,7 @@ function wpforo_find_image_urls( $content, $first = true, $type = 'general' ) {
1979
  $content = trim( (string) $content );
1980
 
1981
  if( $content ) {
1982
- if( preg_match_all( '#<img[^<>]*?src=[\'\"]([^\'\"]+\.(?:jpe?g|png|gif))[\'\"][^<>]*?>#isu', $content, $matches, PREG_SET_ORDER ) ) {
1983
  foreach( $matches as $match ) {
1984
  if( preg_match( '#class=[\'\"]wpfem[^\'\"]*[\'\"][^<>]*?data-code=#isu', $match[0] ) ) continue;
1985
  if( strpos( $match[1], 'http' ) === 0 ) {
@@ -1988,11 +1988,11 @@ function wpforo_find_image_urls( $content, $first = true, $type = 'general' ) {
1988
  $images[] = 'http' . ( is_ssl() ? 's' : '' ) . ':' . $match[1];
1989
  }
1990
  }
1991
- } elseif( preg_match_all( '#https?://[^\r\n\t\s\'\"<>]+?\.(?:jpe?g|png|gif)#isu', $content, $matches, PREG_SET_ORDER ) ) {
1992
  foreach( $matches as $match ) {
1993
  $images[] = $match[0];
1994
  }
1995
- } elseif( preg_match_all( '#//[^\r\n\t\s\'\"<>]+?\.(?:jpe?g|png|gif)#isu', $content, $matches, PREG_SET_ORDER ) ) {
1996
  foreach( $matches as $match ) {
1997
  $images[] = 'http' . ( is_ssl() ? 's' : '' ) . ':' . $match[0];
1998
  }
485
  $url = urldecode( $url );
486
  $url = preg_replace( '#/page/\d*/?$#isu', '', $url );
487
  if( $current_url = wpforo_get_url_query_vars_str( $url ) ) {
488
+ if( preg_match( '#^/?(?:([^\s/\?\&=<>:\'\"\*\:\\\|]*/)(?1)*)?[^\s/\?\&=<>:\'\"\*\:\\\|]+\.(?:php|js|css|jpe?g|png|gif|webp|svg|bmp|tiff)/?(?:\?[^/]*)?$#iu', $current_url ) ) {
489
  $result = true;
490
  } elseif( WPF()->board->get_current( 'is_standalone' ) && ( $excld_urls = WPF()->board->get_current( 'excld_urls' ) ) ) {
491
  foreach( $excld_urls as $excld_url ) {
900
  $content = preg_replace( '#((?:href|src)=[\'\"])(?:https?://)?(?:\.+/)+wp-content/#i', "$1" . $home_url . "wp-content/", $content );
901
  }
902
  $content = apply_filters( 'wpforo_body_text_filter', $content );
903
+ if( apply_filters( 'wpforo_auto_embed_image', true ) ) $content = preg_replace( '#([^\'\"]|^)(https?://[^\s\'\"<>]+\.(?:jpg|jpeg|png|webp|gif|svg|bmp|tiff))([^\'\"]|$)#isu', '$1 <a class="wpforo-auto-embeded-link" href="$2" target="_blank"><img class="wpforo-auto-embeded-image" src="$2"/></a> $3', $content );
904
  if( apply_filters( 'wpforo_auto_embed_link', true ) ) $content = preg_replace( '#([^\'\"]|^)(https?://[^\s\'\"<>\[\]]+)([^\'\"]|$)#isu', '$1 <a class="wpforo-auto-embeded-link" href="$2" target="_blank">$2</a> $3', $content );
905
  if( preg_match_all( '#<pre([^<>]*)>(.*?class=[\'"]wpforo-auto-embeded[^\'"]*[\'"].*?)</pre>#isu', $content, $matches, PREG_SET_ORDER ) ) {
906
  foreach( $matches as $match ) {
1588
  }
1589
 
1590
  function wpforo_is_image( $e ) {
1591
+ return (bool) preg_match( '#^(jpe?g|png|gif|bmp|webp|svg|tiff?)$#i', $e );
1592
  }
1593
 
1594
  function wpforo_is_video( $e ) {
1979
  $content = trim( (string) $content );
1980
 
1981
  if( $content ) {
1982
+ if( preg_match_all( '#<img[^<>]*?src=[\'\"]([^\'\"]+\.(?:jpe?g|png|gif|bmp|webp|svg|tiff))[\'\"][^<>]*?>#isu', $content, $matches, PREG_SET_ORDER ) ) {
1983
  foreach( $matches as $match ) {
1984
  if( preg_match( '#class=[\'\"]wpfem[^\'\"]*[\'\"][^<>]*?data-code=#isu', $match[0] ) ) continue;
1985
  if( strpos( $match[1], 'http' ) === 0 ) {
1988
  $images[] = 'http' . ( is_ssl() ? 's' : '' ) . ':' . $match[1];
1989
  }
1990
  }
1991
+ } elseif( preg_match_all( '#https?://[^\r\n\t\s\'\"<>]+?\.(?:jpe?g|png|gif|bmp|webp|svg|tiff)#isu', $content, $matches, PREG_SET_ORDER ) ) {
1992
  foreach( $matches as $match ) {
1993
  $images[] = $match[0];
1994
  }
1995
+ } elseif( preg_match_all( '#//[^\r\n\t\s\'\"<>]+?\.(?:jpe?g|png|gif|bmp|webp|svg|tiff)#isu', $content, $matches, PREG_SET_ORDER ) ) {
1996
  foreach( $matches as $match ) {
1997
  $images[] = 'http' . ( is_ssl() ? 's' : '' ) . ':' . $match[0];
1998
  }
includes/hooks.php CHANGED
@@ -439,7 +439,11 @@ function wpforo_add_meta_tags() {
439
  $description = '';
440
  $udata = [];
441
  if( preg_match( '#\?.*$#is', WPF()->current_url, $requests ) ) {
442
- $canonical = wpforo_home_url( $requests[0] );
 
 
 
 
443
  } else {
444
  $canonical = WPF()->current_url;
445
  }
439
  $description = '';
440
  $udata = [];
441
  if( preg_match( '#\?.*$#is', WPF()->current_url, $requests ) ) {
442
+ if( strpos( $requests[0], 'orderby') !== FALSE ){
443
+ $canonical = preg_replace( '#\?.*$#is', '', WPF()->current_url );
444
+ } else {
445
+ $canonical = wpforo_home_url( $requests[0] );
446
+ }
447
  } else {
448
  $canonical = WPF()->current_url;
449
  }
languages/wpforo.pot CHANGED
@@ -4,7 +4,7 @@
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Forum - wpForo\n"
7
- "POT-Creation-Date: 2022-09-05 18:25+0400\n"
8
  "PO-Revision-Date: 2016-06-28 21:09+0400\n"
9
  "Last-Translator: \n"
10
  "Language-Team: \n"
@@ -123,7 +123,7 @@ msgstr ""
123
  msgid "Other"
124
  msgstr ""
125
 
126
- #: admin/includes/deactivation-dialog.php:142 includes/hooks.php:1286
127
  msgid "Please provide more information"
128
  msgstr ""
129
 
@@ -148,7 +148,7 @@ msgid "Overview"
148
  msgstr ""
149
 
150
  #: admin/index.php:54 admin/index.php:201 admin/pages/dashboard.php:25
151
- #: admin/tools-tabs/misc.php:67 includes/hooks.php:2194 includes/hooks.php:2398
152
  #: includes/phrases.php:309 integrations/BuddyPress.php:12
153
  #: integrations/BuddyPress.php:44 integrations/BuddyPress.php:117
154
  #: widgets/Forums.php:20
@@ -156,55 +156,55 @@ msgid "Forums"
156
  msgstr ""
157
 
158
  #: admin/index.php:59 admin/index.php:151 admin/index.php:206
159
- #: admin/pages/settings.php:163 includes/hooks.php:2210 includes/hooks.php:2414
160
- #: includes/hooks.php:2519
161
  msgid "Settings"
162
  msgstr ""
163
 
164
- #: admin/index.php:64 admin/index.php:211 includes/hooks.php:2228
165
- #: includes/hooks.php:2432
166
  msgid "Moderation"
167
  msgstr ""
168
 
169
- #: admin/index.php:69 admin/index.php:216 includes/hooks.php:2278
170
- #: includes/hooks.php:2441 includes/phrases.php:791
171
  msgid "Phrases"
172
  msgstr ""
173
 
174
- #: admin/index.php:74 admin/index.php:221 includes/hooks.php:2219
175
- #: includes/hooks.php:2423 includes/phrases.php:916
176
  msgid "Tools"
177
  msgstr ""
178
 
179
  #: admin/index.php:82 admin/index.php:136 admin/pages/board.php:16
180
- #: includes/hooks.php:10 includes/hooks.php:2462
181
  msgid "Boards"
182
  msgstr ""
183
 
184
- #: admin/index.php:86 admin/index.php:140 includes/hooks.php:2237
185
- #: includes/hooks.php:2478
186
  msgid "Accesses"
187
  msgstr ""
188
 
189
  #: admin/index.php:90 admin/index.php:144 admin/pages/usergroup.php:12
190
- #: admin/pages/usergroup.php:160 includes/hooks.php:2262 includes/hooks.php:2494
191
  msgid "Usergroups"
192
  msgstr ""
193
 
194
  #: admin/index.php:93 admin/index.php:147 admin/pages/dashboard.php:37
195
  #: admin/pages/member.php:10 admin/pages/usergroup.php:37
196
- #: admin/tools-tabs/misc.php:87 includes/hooks.php:2253 includes/hooks.php:2510
197
  #: includes/phrases.php:364
198
  msgid "Members"
199
  msgstr ""
200
 
201
- #: admin/index.php:97 admin/index.php:156 includes/hooks.php:2294
202
- #: includes/hooks.php:2528 includes/phrases.php:792
203
  msgid "Themes"
204
  msgstr ""
205
 
206
  #: admin/index.php:102 admin/index.php:161 admin/pages/board.php:116
207
- #: admin/pages/settings.php:22 includes/hooks.php:2303 includes/hooks.php:2537
208
  #: includes/phrases.php:211
209
  msgid "Addons"
210
  msgstr ""
@@ -261,7 +261,7 @@ msgstr ""
261
  #: admin/listtables/Moderations.php:208 admin/pages/forum.php:272
262
  #: admin/pages/themes.php:68 admin/pages/usergroup.php:76
263
  #: admin/pages/usergroup.php:295 admin/settings/antispam.php:64
264
- #: includes/hooks.php:1268 includes/phrases.php:252
265
  msgid "Delete"
266
  msgstr ""
267
 
@@ -498,7 +498,7 @@ msgstr ""
498
  msgid "Read the documentation"
499
  msgstr ""
500
 
501
- #: admin/pages/accesses.php:29 includes/hooks.php:2244 includes/hooks.php:2485
502
  #: includes/phrases.php:207
503
  msgid "Add New Forum Access"
504
  msgstr ""
@@ -697,7 +697,7 @@ msgstr ""
697
  msgid "one URL per line"
698
  msgstr ""
699
 
700
- #: admin/pages/dashboard.php:7 includes/hooks.php:2186
701
  msgid "Forum Dashboard"
702
  msgstr ""
703
 
@@ -752,34 +752,49 @@ msgid ""
752
  "data updating process is still working in MySQL server."
753
  msgstr ""
754
 
755
- #: admin/pages/dashboard.php:101
756
  msgid "Delete All Caches"
757
  msgstr ""
758
 
759
- #: admin/pages/dashboard.php:102
760
  msgid "Clean Up"
761
  msgstr ""
762
 
763
- #: admin/pages/dashboard.php:103 includes/phrases.php:804
764
  msgid "Update Forums Statistic"
765
  msgstr ""
766
 
767
- #: admin/pages/dashboard.php:104
768
  msgid "Update Topics Statistic"
769
  msgstr ""
770
 
771
- #: admin/pages/dashboard.php:105
772
  msgid "Rebuild Phrases"
773
  msgstr ""
774
 
775
- #: admin/pages/dashboard.php:106 includes/phrases.php:806
776
  msgid "Delete Phrase Cache"
777
  msgstr ""
778
 
779
- #: admin/pages/dashboard.php:107
780
  msgid "Rebuild Threads"
781
  msgstr ""
782
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
783
  #: admin/pages/forum.php:15 includes/functions.php:783 includes/phrases.php:487
784
  msgid "Show on screen"
785
  msgstr ""
@@ -1277,7 +1292,7 @@ msgstr ""
1277
  msgid "Usergroup"
1278
  msgstr ""
1279
 
1280
- #: admin/pages/usergroup.php:38 classes/Settings.php:1125 includes/hooks.php:1260
1281
  msgid "Default"
1282
  msgstr ""
1283
 
@@ -1287,8 +1302,10 @@ msgstr ""
1287
 
1288
  #: admin/pages/usergroup.php:40 admin/settings/styles.php:59
1289
  #: admin/settings/styles.php:64 admin/settings/styles.php:72
1290
- #: admin/settings/styles.php:78 admin/settings/styles.php:88
1291
- #: classes/Settings.php:3322 includes/phrases.php:242
 
 
1292
  msgid "Color"
1293
  msgstr ""
1294
 
@@ -1722,55 +1739,77 @@ msgid "Footer bottom \"powered by\" bar background color"
1722
  msgstr ""
1723
 
1724
  #: admin/settings/styles.php:74
 
 
 
 
 
 
1725
  msgid "Links' hover/active font color"
1726
  msgstr ""
1727
 
1728
- #: admin/settings/styles.php:75
1729
  msgid ""
1730
  "Topic/post action link hover color (reply, quote, like, sticky, closed, move, "
1731
  "delete)"
1732
  msgstr ""
1733
 
1734
- #: admin/settings/styles.php:80
1735
  msgid "Buttons background color"
1736
  msgstr ""
1737
 
1738
- #: admin/settings/styles.php:81
1739
  msgid "Active menu background color"
1740
  msgstr ""
1741
 
1742
- #: admin/settings/styles.php:82
1743
  msgid "Category panel background color"
1744
  msgstr ""
1745
 
1746
- #: admin/settings/styles.php:83
1747
  msgid "Topic list head panel background color"
1748
  msgstr ""
1749
 
1750
- #: admin/settings/styles.php:84
1751
  msgid "Post list head panel background color"
1752
  msgstr ""
1753
 
1754
- #: admin/settings/styles.php:85
1755
  msgid "Top right pop-up message background color"
1756
  msgstr ""
1757
 
1758
- #: admin/settings/styles.php:90
1759
  msgid "Button border color and button hover background color"
1760
  msgstr ""
1761
 
1762
- #: admin/settings/styles.php:117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1763
  msgid "Problems with colors?"
1764
  msgstr ""
1765
 
1766
- #: admin/settings/styles.php:118
1767
  #, php-format
1768
  msgid ""
1769
  "After changing and saving colors, go to the forum front-end and press %s "
1770
  "twice. If you don't see any change, please follow to the instruction below."
1771
  msgstr ""
1772
 
1773
- #: admin/settings/styles.php:120
1774
  msgid ""
1775
  "In most cases, this problem comes from your server file writing permissions. "
1776
  "Files are not permitted to change, thus the forum color provider colors.css "
@@ -1778,19 +1817,19 @@ msgid ""
1778
  "server, then the following easy steps can solve your problem:"
1779
  msgstr ""
1780
 
1781
- #: admin/settings/styles.php:122
1782
  #, php-format
1783
  msgid ""
1784
  "Create colors.css file or simply download %s file with the CSS code provided "
1785
  "in the textarea below,"
1786
  msgstr ""
1787
 
1788
- #: admin/settings/styles.php:123
1789
  #, php-format
1790
  msgid "Upload and replace %s file in %s directory,"
1791
  msgstr ""
1792
 
1793
- #: admin/settings/styles.php:124
1794
  #, php-format
1795
  msgid ""
1796
  "Delete website cache, reset CSS file optimizer and minifier plugins caches, "
@@ -1798,11 +1837,11 @@ msgid ""
1798
  "twice."
1799
  msgstr ""
1800
 
1801
- #: admin/settings/styles.php:130 includes/phrases.php:1141
1802
  msgid "Copied"
1803
  msgstr ""
1804
 
1805
- #: admin/settings/styles.php:132
1806
  msgid "Download"
1807
  msgstr ""
1808
 
@@ -2037,25 +2076,25 @@ msgstr ""
2037
  msgid "How to Fix WordPress Not Sending Email Issue"
2038
  msgstr ""
2039
 
2040
- #: admin/tools-tabs/debug.php:307
2041
  msgid "wpForo phrases are missing!"
2042
  msgstr ""
2043
 
2044
- #: admin/tools-tabs/debug.php:308
2045
  msgid ""
2046
  "Please navigate to wpForo > Overview admin page and click the [Rebuild "
2047
  "Phrases] button"
2048
  msgstr ""
2049
 
2050
- #: admin/tools-tabs/debug.php:325
2051
  msgid "No issues found"
2052
  msgstr ""
2053
 
2054
- #: admin/tools-tabs/debug.php:341
2055
  msgid "Error Log File"
2056
  msgstr ""
2057
 
2058
- #: admin/tools-tabs/debug.php:348
2059
  msgid "No errors found"
2060
  msgstr ""
2061
 
@@ -2186,19 +2225,19 @@ msgstr ""
2186
  msgid "User registration is disabled"
2187
  msgstr ""
2188
 
2189
- #: classes/Actions.php:2072 classes/Template.php:2360 includes/phrases.php:513
2190
  msgid "Theme file not readable"
2191
  msgstr ""
2192
 
2193
- #: classes/Actions.php:2078
2194
  msgid "Theme Successfully Activated"
2195
  msgstr ""
2196
 
2197
- #: classes/Actions.php:2099
2198
  msgid "Theme delete error"
2199
  msgstr ""
2200
 
2201
- #: classes/Actions.php:2106
2202
  msgid "Theme delete success"
2203
  msgstr ""
2204
 
@@ -2908,7 +2947,7 @@ msgid "Recent Posts Display Type"
2908
  msgstr ""
2909
 
2910
  #: classes/Settings.php:687
2911
- msgid "Display Topic Staistics and Overview Panel"
2912
  msgstr ""
2913
 
2914
  #: classes/Settings.php:695
@@ -4179,7 +4218,7 @@ msgstr ""
4179
  msgid "Exclude file extensions"
4180
  msgstr ""
4181
 
4182
- #: classes/Settings.php:2297 includes/hooks.php:2643
4183
  msgid "Google reCAPTCHA"
4184
  msgstr ""
4185
 
@@ -4677,7 +4716,7 @@ msgstr ""
4677
  msgid "Minute"
4678
  msgstr ""
4679
 
4680
- #: classes/Settings.php:3285 includes/hooks.php:1534 includes/phrases.php:433
4681
  msgid "Rating Level"
4682
  msgstr ""
4683
 
@@ -4709,7 +4748,7 @@ msgstr ""
4709
  msgid "More"
4710
  msgstr ""
4711
 
4712
- #: classes/Settings.php:3298 includes/hooks.php:1547 includes/phrases.php:344
4713
  msgid "Level"
4714
  msgstr ""
4715
 
@@ -4725,17 +4764,17 @@ msgstr ""
4725
  msgid "Badge Icon"
4726
  msgstr ""
4727
 
4728
- #: classes/Settings.php:3776 includes/installation.php:542
4729
  #: includes/installation.php:1472 includes/options-migration.php:19
4730
  #: includes/options-migration.php:98 includes/phrases.php:287
4731
  msgid "Forum"
4732
  msgstr ""
4733
 
4734
- #: classes/Settings.php:3782 includes/options-migration.php:111
4735
  msgid "Forum Post Report"
4736
  msgstr ""
4737
 
4738
- #: classes/Settings.php:3783 includes/options-migration.php:112
4739
  msgid ""
4740
  "<strong>Report details:</strong>\n"
4741
  " Reporter: [reporter], <br>\n"
@@ -4744,11 +4783,11 @@ msgid ""
4744
  " [post_url]"
4745
  msgstr ""
4746
 
4747
- #: classes/Settings.php:3785 includes/options-migration.php:114
4748
  msgid "[blogname] New User Registration"
4749
  msgstr ""
4750
 
4751
- #: classes/Settings.php:3786 includes/options-migration.php:115
4752
  msgid ""
4753
  "New user registration on your site [blogname]:\n"
4754
  "\n"
@@ -4757,11 +4796,11 @@ msgid ""
4757
  "Email: [user_email]\n"
4758
  msgstr ""
4759
 
4760
- #: classes/Settings.php:3788 includes/options-migration.php:117
4761
  msgid "[blogname] Your username and password info"
4762
  msgstr ""
4763
 
4764
- #: classes/Settings.php:3789 includes/options-migration.php:118
4765
  msgid ""
4766
  "Username: [user_login]\n"
4767
  "\n"
@@ -4771,7 +4810,7 @@ msgid ""
4771
  "\n"
4772
  msgstr ""
4773
 
4774
- #: classes/Settings.php:3791 includes/options-migration.php:120
4775
  msgid ""
4776
  "Hello! \n"
4777
  "\n"
@@ -4788,11 +4827,11 @@ msgid ""
4788
  " Thanks!"
4789
  msgstr ""
4790
 
4791
- #: classes/Settings.php:3799 includes/options-migration.php:103
4792
  msgid "Please confirm subscription to [entry_title]"
4793
  msgstr ""
4794
 
4795
- #: classes/Settings.php:3800
4796
  msgid ""
4797
  "Hello [user_display_name]!<br>\n"
4798
  " Thank you for subscribing.<br>\n"
@@ -4803,11 +4842,11 @@ msgid ""
4803
  " [confirm_link]"
4804
  msgstr ""
4805
 
4806
- #: classes/Settings.php:3801 includes/options-migration.php:105
4807
  msgid "New Topic"
4808
  msgstr ""
4809
 
4810
- #: classes/Settings.php:3802
4811
  msgid ""
4812
  "Hello [user_display_name]!<br>\n"
4813
  " New topic has been created on your subscribed forum - [forum_link].\n"
@@ -4821,12 +4860,12 @@ msgid ""
4821
  " [unsubscribe_link]"
4822
  msgstr ""
4823
 
4824
- #: classes/Settings.php:3803 includes/options-migration.php:107
4825
  #: includes/phrases.php:1071
4826
  msgid "New Reply"
4827
  msgstr ""
4828
 
4829
- #: classes/Settings.php:3804
4830
  msgid ""
4831
  "Hello [user_display_name]!<br>\n"
4832
  " New reply has been posted on your subscribed topic - [topic_link].\n"
@@ -4840,11 +4879,11 @@ msgid ""
4840
  " [unsubscribe_link]"
4841
  msgstr ""
4842
 
4843
- #: classes/Settings.php:3805 includes/options-migration.php:122
4844
  msgid "You have been mentioned in forum post"
4845
  msgstr ""
4846
 
4847
- #: classes/Settings.php:3806
4848
  msgid ""
4849
  "Hi [user_display_name]! <br>\n"
4850
  "\n"
@@ -4854,11 +4893,11 @@ msgid ""
4854
  " [post_link]"
4855
  msgstr ""
4856
 
4857
- #: classes/Settings.php:3807
4858
  msgid "New Post from [owner_display_name]"
4859
  msgstr ""
4860
 
4861
- #: classes/Settings.php:3808
4862
  msgid ""
4863
  "Hello [user_display_name]!<br>\n"
4864
  " New content has been posted by [owner_display_name] you are following.\n"
@@ -4992,7 +5031,7 @@ msgstr ""
4992
  msgid "wpForo Menu"
4993
  msgstr ""
4994
 
4995
- #: includes/functions-template.php:2233
4996
  msgid "No Title"
4997
  msgstr ""
4998
 
@@ -5162,66 +5201,66 @@ msgstr ""
5162
  msgid "Uninstall"
5163
  msgstr ""
5164
 
5165
- #: includes/hooks.php:1259
5166
  msgid "Clear"
5167
  msgstr ""
5168
 
5169
- #: includes/hooks.php:1261
5170
  msgid "Select Color"
5171
  msgstr ""
5172
 
5173
- #: includes/hooks.php:1267 includes/phrases.php:183
5174
  msgid "Move"
5175
  msgstr ""
5176
 
5177
- #: includes/hooks.php:1285
5178
  msgid "Please choose one reasons before sending a feedback!"
5179
  msgstr ""
5180
 
5181
- #: includes/hooks.php:1287
5182
  msgid ""
5183
  "With the email address, please check the \"I agree to receive email\" checkbox "
5184
  "to proceed."
5185
  msgstr ""
5186
 
5187
- #: includes/hooks.php:1288
5188
  msgid "Please fill your email address for feedback"
5189
  msgstr ""
5190
 
5191
- #: includes/hooks.php:1289
5192
  msgid "Your email address is not valid"
5193
  msgstr ""
5194
 
5195
- #: includes/hooks.php:1354
5196
  msgid ""
5197
  "IMPORTANT: wpForo can't work with default permalink, please change permalink "
5198
  "structure"
5199
  msgstr ""
5200
 
5201
- #: includes/hooks.php:1439
5202
  msgid "Forum Profile Fields - wpForo"
5203
  msgstr ""
5204
 
5205
- #: includes/hooks.php:1448
5206
  msgid "Forum - Usergroup"
5207
  msgstr ""
5208
 
5209
- #: includes/hooks.php:1453
5210
  #, php-format
5211
  msgid ""
5212
  "Forum Usergroups are synched with User Roles based on the %s. When you change "
5213
  "this user Role the Usergroup is automatically changed according to that table."
5214
  msgstr ""
5215
 
5216
- #: includes/hooks.php:1460
5217
  msgid "Synced with user role"
5218
  msgstr ""
5219
 
5220
- #: includes/hooks.php:1465
5221
  msgid "Role-Usergroup Synchronization is Turned ON!"
5222
  msgstr ""
5223
 
5224
- #: includes/hooks.php:1468
5225
  msgid ""
5226
  "This user Usergroup is automatically changed according to current Role. If you "
5227
  "want to disable Role-Usergroup synchronization and manage Usergroups and User "
@@ -5229,19 +5268,19 @@ msgid ""
5229
  "admin page and disable \"Role-Usergroup Synchronization\" option."
5230
  msgstr ""
5231
 
5232
- #: includes/hooks.php:1482
5233
  msgid "Forum - Secondary Usergroups"
5234
  msgstr ""
5235
 
5236
- #: includes/hooks.php:1506
5237
  msgid "Forum - User Timezone"
5238
  msgstr ""
5239
 
5240
- #: includes/hooks.php:1517
5241
  msgid "User Reputation"
5242
  msgstr ""
5243
 
5244
- #: includes/hooks.php:1519
5245
  msgid ""
5246
  "By default all members get rating badges and titles based on number of posts. "
5247
  "However, using this option you can grant lower or higher rating to certain "
@@ -5249,49 +5288,49 @@ msgid ""
5249
  "be managed in Forums > Settings > Members Tab."
5250
  msgstr ""
5251
 
5252
- #: includes/hooks.php:1524
5253
  msgid "Default Rating"
5254
  msgstr ""
5255
 
5256
- #: includes/hooks.php:1527
5257
  msgid "Custom Rating"
5258
  msgstr ""
5259
 
5260
- #: includes/hooks.php:1535 includes/phrases.php:865
5261
  msgid "Rating Title"
5262
  msgstr ""
5263
 
5264
- #: includes/hooks.php:1536 includes/phrases.php:430
5265
  msgid "Rating Badge"
5266
  msgstr ""
5267
 
5268
- #: includes/hooks.php:2153 includes/hooks.php:2201 includes/hooks.php:2337
5269
- #: includes/hooks.php:2405
5270
  msgid "Add New Forum"
5271
  msgstr ""
5272
 
5273
- #: includes/hooks.php:2160 includes/hooks.php:2344
5274
  msgid "Add New User Group"
5275
  msgstr ""
5276
 
5277
- #: includes/hooks.php:2167 includes/hooks.php:2285 includes/hooks.php:2351
5278
- #: includes/hooks.php:2448
5279
  msgid "Add New Phrase"
5280
  msgstr ""
5281
 
5282
- #: includes/hooks.php:2176 includes/hooks.php:2388
5283
  msgid "Visit Forum"
5284
  msgstr ""
5285
 
5286
- #: includes/hooks.php:2269 includes/hooks.php:2501
5287
  msgid "Add New Usergroup"
5288
  msgstr ""
5289
 
5290
- #: includes/hooks.php:2469
5291
  msgid "Add New Board"
5292
  msgstr ""
5293
 
5294
- #: includes/hooks.php:2642 includes/phrases.php:1086
5295
  #, php-format
5296
  msgid ""
5297
  "IMPORTANT! The forum registration form is probably under risk of spam attacks. "
@@ -5301,17 +5340,17 @@ msgid ""
5301
  "dismiss this message."
5302
  msgstr ""
5303
 
5304
- #: includes/hooks.php:2672
5305
  msgid "wpForo Polls addon is disabled!"
5306
  msgstr ""
5307
 
5308
- #: includes/hooks.php:2672
5309
  msgid ""
5310
  " Your addon version is not compatible with the current version of wpForo. "
5311
  "Please update the addon or downgrade wpForo to 1.7.7"
5312
  msgstr ""
5313
 
5314
- #: includes/hooks.php:2673
5315
  msgid "dismiss"
5316
  msgstr ""
5317
 
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: Forum - wpForo\n"
7
+ "POT-Creation-Date: 2022-09-12 21:31+0400\n"
8
  "PO-Revision-Date: 2016-06-28 21:09+0400\n"
9
  "Last-Translator: \n"
10
  "Language-Team: \n"
123
  msgid "Other"
124
  msgstr ""
125
 
126
+ #: admin/includes/deactivation-dialog.php:142 includes/hooks.php:1290
127
  msgid "Please provide more information"
128
  msgstr ""
129
 
148
  msgstr ""
149
 
150
  #: admin/index.php:54 admin/index.php:201 admin/pages/dashboard.php:25
151
+ #: admin/tools-tabs/misc.php:67 includes/hooks.php:2198 includes/hooks.php:2402
152
  #: includes/phrases.php:309 integrations/BuddyPress.php:12
153
  #: integrations/BuddyPress.php:44 integrations/BuddyPress.php:117
154
  #: widgets/Forums.php:20
156
  msgstr ""
157
 
158
  #: admin/index.php:59 admin/index.php:151 admin/index.php:206
159
+ #: admin/pages/settings.php:163 includes/hooks.php:2214 includes/hooks.php:2418
160
+ #: includes/hooks.php:2523
161
  msgid "Settings"
162
  msgstr ""
163
 
164
+ #: admin/index.php:64 admin/index.php:211 includes/hooks.php:2232
165
+ #: includes/hooks.php:2436
166
  msgid "Moderation"
167
  msgstr ""
168
 
169
+ #: admin/index.php:69 admin/index.php:216 includes/hooks.php:2282
170
+ #: includes/hooks.php:2445 includes/phrases.php:791
171
  msgid "Phrases"
172
  msgstr ""
173
 
174
+ #: admin/index.php:74 admin/index.php:221 includes/hooks.php:2223
175
+ #: includes/hooks.php:2427 includes/phrases.php:916
176
  msgid "Tools"
177
  msgstr ""
178
 
179
  #: admin/index.php:82 admin/index.php:136 admin/pages/board.php:16
180
+ #: includes/hooks.php:10 includes/hooks.php:2466
181
  msgid "Boards"
182
  msgstr ""
183
 
184
+ #: admin/index.php:86 admin/index.php:140 includes/hooks.php:2241
185
+ #: includes/hooks.php:2482
186
  msgid "Accesses"
187
  msgstr ""
188
 
189
  #: admin/index.php:90 admin/index.php:144 admin/pages/usergroup.php:12
190
+ #: admin/pages/usergroup.php:160 includes/hooks.php:2266 includes/hooks.php:2498
191
  msgid "Usergroups"
192
  msgstr ""
193
 
194
  #: admin/index.php:93 admin/index.php:147 admin/pages/dashboard.php:37
195
  #: admin/pages/member.php:10 admin/pages/usergroup.php:37
196
+ #: admin/tools-tabs/misc.php:87 includes/hooks.php:2257 includes/hooks.php:2514
197
  #: includes/phrases.php:364
198
  msgid "Members"
199
  msgstr ""
200
 
201
+ #: admin/index.php:97 admin/index.php:156 includes/hooks.php:2298
202
+ #: includes/hooks.php:2532 includes/phrases.php:792
203
  msgid "Themes"
204
  msgstr ""
205
 
206
  #: admin/index.php:102 admin/index.php:161 admin/pages/board.php:116
207
+ #: admin/pages/settings.php:22 includes/hooks.php:2307 includes/hooks.php:2541
208
  #: includes/phrases.php:211
209
  msgid "Addons"
210
  msgstr ""
261
  #: admin/listtables/Moderations.php:208 admin/pages/forum.php:272
262
  #: admin/pages/themes.php:68 admin/pages/usergroup.php:76
263
  #: admin/pages/usergroup.php:295 admin/settings/antispam.php:64
264
+ #: includes/hooks.php:1272 includes/phrases.php:252
265
  msgid "Delete"
266
  msgstr ""
267
 
498
  msgid "Read the documentation"
499
  msgstr ""
500
 
501
+ #: admin/pages/accesses.php:29 includes/hooks.php:2248 includes/hooks.php:2489
502
  #: includes/phrases.php:207
503
  msgid "Add New Forum Access"
504
  msgstr ""
697
  msgid "one URL per line"
698
  msgstr ""
699
 
700
+ #: admin/pages/dashboard.php:7 includes/hooks.php:2190
701
  msgid "Forum Dashboard"
702
  msgstr ""
703
 
752
  "data updating process is still working in MySQL server."
753
  msgstr ""
754
 
755
+ #: admin/pages/dashboard.php:103
756
  msgid "Delete All Caches"
757
  msgstr ""
758
 
759
+ #: admin/pages/dashboard.php:104
760
  msgid "Clean Up"
761
  msgstr ""
762
 
763
+ #: admin/pages/dashboard.php:105 includes/phrases.php:804
764
  msgid "Update Forums Statistic"
765
  msgstr ""
766
 
767
+ #: admin/pages/dashboard.php:106
768
  msgid "Update Topics Statistic"
769
  msgstr ""
770
 
771
+ #: admin/pages/dashboard.php:107
772
  msgid "Rebuild Phrases"
773
  msgstr ""
774
 
775
+ #: admin/pages/dashboard.php:108 includes/phrases.php:806
776
  msgid "Delete Phrase Cache"
777
  msgstr ""
778
 
779
+ #: admin/pages/dashboard.php:109
780
  msgid "Rebuild Threads"
781
  msgstr ""
782
 
783
+ #: admin/pages/dashboard.php:111
784
+ msgid "Soft Flush Permalinks"
785
+ msgstr ""
786
+
787
+ #: admin/pages/dashboard.php:112
788
+ msgid "Hard Flush Permalinks"
789
+ msgstr ""
790
+
791
+ #: admin/pages/dashboard.php:113
792
+ msgid ""
793
+ "Whether to update .htaccess (hard flush) or just update rewrite_rules option "
794
+ "(soft flush). The hard option creates \"rewrite_rules_bk_{sec}\" record in "
795
+ "\"wp_options\" table and .htaccess-bk-{sec} backup file in the root directory."
796
+ msgstr ""
797
+
798
  #: admin/pages/forum.php:15 includes/functions.php:783 includes/phrases.php:487
799
  msgid "Show on screen"
800
  msgstr ""
1292
  msgid "Usergroup"
1293
  msgstr ""
1294
 
1295
+ #: admin/pages/usergroup.php:38 classes/Settings.php:1125 includes/hooks.php:1264
1296
  msgid "Default"
1297
  msgstr ""
1298
 
1302
 
1303
  #: admin/pages/usergroup.php:40 admin/settings/styles.php:59
1304
  #: admin/settings/styles.php:64 admin/settings/styles.php:72
1305
+ #: admin/settings/styles.php:77 admin/settings/styles.php:83
1306
+ #: admin/settings/styles.php:93 admin/settings/styles.php:98
1307
+ #: admin/settings/styles.php:104 classes/Settings.php:3322
1308
+ #: includes/phrases.php:242
1309
  msgid "Color"
1310
  msgstr ""
1311
 
1739
  msgstr ""
1740
 
1741
  #: admin/settings/styles.php:74
1742
+ msgid ""
1743
+ "The light gray background of almost all sections and boxes (header, menu, "
1744
+ "topic overview, footer, etc...)"
1745
+ msgstr ""
1746
+
1747
+ #: admin/settings/styles.php:79
1748
  msgid "Links' hover/active font color"
1749
  msgstr ""
1750
 
1751
+ #: admin/settings/styles.php:80
1752
  msgid ""
1753
  "Topic/post action link hover color (reply, quote, like, sticky, closed, move, "
1754
  "delete)"
1755
  msgstr ""
1756
 
1757
+ #: admin/settings/styles.php:85
1758
  msgid "Buttons background color"
1759
  msgstr ""
1760
 
1761
+ #: admin/settings/styles.php:86
1762
  msgid "Active menu background color"
1763
  msgstr ""
1764
 
1765
+ #: admin/settings/styles.php:87
1766
  msgid "Category panel background color"
1767
  msgstr ""
1768
 
1769
+ #: admin/settings/styles.php:88
1770
  msgid "Topic list head panel background color"
1771
  msgstr ""
1772
 
1773
+ #: admin/settings/styles.php:89
1774
  msgid "Post list head panel background color"
1775
  msgstr ""
1776
 
1777
+ #: admin/settings/styles.php:90
1778
  msgid "Top right pop-up message background color"
1779
  msgstr ""
1780
 
1781
+ #: admin/settings/styles.php:95
1782
  msgid "Button border color and button hover background color"
1783
  msgstr ""
1784
 
1785
+ #: admin/settings/styles.php:100
1786
+ msgid "The color of almost all links"
1787
+ msgstr ""
1788
+
1789
+ #: admin/settings/styles.php:101
1790
+ msgid ""
1791
+ "Topic and post moderation buttons' color (reply, quote, like, sticky, closed, "
1792
+ "move, delete, etc...)"
1793
+ msgstr ""
1794
+
1795
+ #: admin/settings/styles.php:106
1796
+ msgid ""
1797
+ "The lightest gray background of sections and boxes (forum list, members boxes, "
1798
+ "reply background, etc...)"
1799
+ msgstr ""
1800
+
1801
+ #: admin/settings/styles.php:133
1802
  msgid "Problems with colors?"
1803
  msgstr ""
1804
 
1805
+ #: admin/settings/styles.php:134
1806
  #, php-format
1807
  msgid ""
1808
  "After changing and saving colors, go to the forum front-end and press %s "
1809
  "twice. If you don't see any change, please follow to the instruction below."
1810
  msgstr ""
1811
 
1812
+ #: admin/settings/styles.php:136
1813
  msgid ""
1814
  "In most cases, this problem comes from your server file writing permissions. "
1815
  "Files are not permitted to change, thus the forum color provider colors.css "
1817
  "server, then the following easy steps can solve your problem:"
1818
  msgstr ""
1819
 
1820
+ #: admin/settings/styles.php:138
1821
  #, php-format
1822
  msgid ""
1823
  "Create colors.css file or simply download %s file with the CSS code provided "
1824
  "in the textarea below,"
1825
  msgstr ""
1826
 
1827
+ #: admin/settings/styles.php:139
1828
  #, php-format
1829
  msgid "Upload and replace %s file in %s directory,"
1830
  msgstr ""
1831
 
1832
+ #: admin/settings/styles.php:140
1833
  #, php-format
1834
  msgid ""
1835
  "Delete website cache, reset CSS file optimizer and minifier plugins caches, "
1837
  "twice."
1838
  msgstr ""
1839
 
1840
+ #: admin/settings/styles.php:146 includes/phrases.php:1141
1841
  msgid "Copied"
1842
  msgstr ""
1843
 
1844
+ #: admin/settings/styles.php:148
1845
  msgid "Download"
1846
  msgstr ""
1847
 
2076
  msgid "How to Fix WordPress Not Sending Email Issue"
2077
  msgstr ""
2078
 
2079
+ #: admin/tools-tabs/debug.php:346
2080
  msgid "wpForo phrases are missing!"
2081
  msgstr ""
2082
 
2083
+ #: admin/tools-tabs/debug.php:347
2084
  msgid ""
2085
  "Please navigate to wpForo > Overview admin page and click the [Rebuild "
2086
  "Phrases] button"
2087
  msgstr ""
2088
 
2089
+ #: admin/tools-tabs/debug.php:364
2090
  msgid "No issues found"
2091
  msgstr ""
2092
 
2093
+ #: admin/tools-tabs/debug.php:380
2094
  msgid "Error Log File"
2095
  msgstr ""
2096
 
2097
+ #: admin/tools-tabs/debug.php:387
2098
  msgid "No errors found"
2099
  msgstr ""
2100
 
2225
  msgid "User registration is disabled"
2226
  msgstr ""
2227
 
2228
+ #: classes/Actions.php:2107 classes/Template.php:2360 includes/phrases.php:513
2229
  msgid "Theme file not readable"
2230
  msgstr ""
2231
 
2232
+ #: classes/Actions.php:2113
2233
  msgid "Theme Successfully Activated"
2234
  msgstr ""
2235
 
2236
+ #: classes/Actions.php:2134
2237
  msgid "Theme delete error"
2238
  msgstr ""
2239
 
2240
+ #: classes/Actions.php:2141
2241
  msgid "Theme delete success"
2242
  msgstr ""
2243
 
2947
  msgstr ""
2948
 
2949
  #: classes/Settings.php:687
2950
+ msgid "Display Topic Statistics and Overview Panel"
2951
  msgstr ""
2952
 
2953
  #: classes/Settings.php:695
4218
  msgid "Exclude file extensions"
4219
  msgstr ""
4220
 
4221
+ #: classes/Settings.php:2297 includes/hooks.php:2647
4222
  msgid "Google reCAPTCHA"
4223
  msgstr ""
4224
 
4716
  msgid "Minute"
4717
  msgstr ""
4718
 
4719
+ #: classes/Settings.php:3285 includes/hooks.php:1538 includes/phrases.php:433
4720
  msgid "Rating Level"
4721
  msgstr ""
4722
 
4748
  msgid "More"
4749
  msgstr ""
4750
 
4751
+ #: classes/Settings.php:3298 includes/hooks.php:1551 includes/phrases.php:344
4752
  msgid "Level"
4753
  msgstr ""
4754
 
4764
  msgid "Badge Icon"
4765
  msgstr ""
4766
 
4767
+ #: classes/Settings.php:3782 includes/installation.php:542
4768
  #: includes/installation.php:1472 includes/options-migration.php:19
4769
  #: includes/options-migration.php:98 includes/phrases.php:287
4770
  msgid "Forum"
4771
  msgstr ""
4772
 
4773
+ #: classes/Settings.php:3788 includes/options-migration.php:111
4774
  msgid "Forum Post Report"
4775
  msgstr ""
4776
 
4777
+ #: classes/Settings.php:3789 includes/options-migration.php:112
4778
  msgid ""
4779
  "<strong>Report details:</strong>\n"
4780
  " Reporter: [reporter], <br>\n"
4783
  " [post_url]"
4784
  msgstr ""
4785
 
4786
+ #: classes/Settings.php:3791 includes/options-migration.php:114
4787
  msgid "[blogname] New User Registration"
4788
  msgstr ""
4789
 
4790
+ #: classes/Settings.php:3792 includes/options-migration.php:115
4791
  msgid ""
4792
  "New user registration on your site [blogname]:\n"
4793
  "\n"
4796
  "Email: [user_email]\n"
4797
  msgstr ""
4798
 
4799
+ #: classes/Settings.php:3794 includes/options-migration.php:117
4800
  msgid "[blogname] Your username and password info"
4801
  msgstr ""
4802
 
4803
+ #: classes/Settings.php:3795 includes/options-migration.php:118
4804
  msgid ""
4805
  "Username: [user_login]\n"
4806
  "\n"
4810
  "\n"
4811
  msgstr ""
4812
 
4813
+ #: classes/Settings.php:3797 includes/options-migration.php:120
4814
  msgid ""
4815
  "Hello! \n"
4816
  "\n"
4827
  " Thanks!"
4828
  msgstr ""
4829
 
4830
+ #: classes/Settings.php:3805 includes/options-migration.php:103
4831
  msgid "Please confirm subscription to [entry_title]"
4832
  msgstr ""
4833
 
4834
+ #: classes/Settings.php:3806
4835
  msgid ""
4836
  "Hello [user_display_name]!<br>\n"
4837
  " Thank you for subscribing.<br>\n"
4842
  " [confirm_link]"
4843
  msgstr ""
4844
 
4845
+ #: classes/Settings.php:3807 includes/options-migration.php:105
4846
  msgid "New Topic"
4847
  msgstr ""
4848
 
4849
+ #: classes/Settings.php:3808
4850
  msgid ""
4851
  "Hello [user_display_name]!<br>\n"
4852
  " New topic has been created on your subscribed forum - [forum_link].\n"
4860
  " [unsubscribe_link]"
4861
  msgstr ""
4862
 
4863
+ #: classes/Settings.php:3809 includes/options-migration.php:107
4864
  #: includes/phrases.php:1071
4865
  msgid "New Reply"
4866
  msgstr ""
4867
 
4868
+ #: classes/Settings.php:3810
4869
  msgid ""
4870
  "Hello [user_display_name]!<br>\n"
4871
  " New reply has been posted on your subscribed topic - [topic_link].\n"
4879
  " [unsubscribe_link]"
4880
  msgstr ""
4881
 
4882
+ #: classes/Settings.php:3811 includes/options-migration.php:122
4883
  msgid "You have been mentioned in forum post"
4884
  msgstr ""
4885
 
4886
+ #: classes/Settings.php:3812
4887
  msgid ""
4888
  "Hi [user_display_name]! <br>\n"
4889
  "\n"
4893
  " [post_link]"
4894
  msgstr ""
4895
 
4896
+ #: classes/Settings.php:3813
4897
  msgid "New Post from [owner_display_name]"
4898
  msgstr ""
4899
 
4900
+ #: classes/Settings.php:3814
4901
  msgid ""
4902
  "Hello [user_display_name]!<br>\n"
4903
  " New content has been posted by [owner_display_name] you are following.\n"
5031
  msgid "wpForo Menu"
5032
  msgstr ""
5033
 
5034
+ #: includes/functions-template.php:2232
5035
  msgid "No Title"
5036
  msgstr ""
5037
 
5201
  msgid "Uninstall"
5202
  msgstr ""
5203
 
5204
+ #: includes/hooks.php:1263
5205
  msgid "Clear"
5206
  msgstr ""
5207
 
5208
+ #: includes/hooks.php:1265
5209
  msgid "Select Color"
5210
  msgstr ""
5211
 
5212
+ #: includes/hooks.php:1271 includes/phrases.php:183
5213
  msgid "Move"
5214
  msgstr ""
5215
 
5216
+ #: includes/hooks.php:1289
5217
  msgid "Please choose one reasons before sending a feedback!"
5218
  msgstr ""
5219
 
5220
+ #: includes/hooks.php:1291
5221
  msgid ""
5222
  "With the email address, please check the \"I agree to receive email\" checkbox "
5223
  "to proceed."
5224
  msgstr ""
5225
 
5226
+ #: includes/hooks.php:1292
5227
  msgid "Please fill your email address for feedback"
5228
  msgstr ""
5229
 
5230
+ #: includes/hooks.php:1293
5231
  msgid "Your email address is not valid"
5232
  msgstr ""
5233
 
5234
+ #: includes/hooks.php:1358
5235
  msgid ""
5236
  "IMPORTANT: wpForo can't work with default permalink, please change permalink "
5237
  "structure"
5238
  msgstr ""
5239
 
5240
+ #: includes/hooks.php:1443
5241
  msgid "Forum Profile Fields - wpForo"
5242
  msgstr ""
5243
 
5244
+ #: includes/hooks.php:1452
5245
  msgid "Forum - Usergroup"
5246
  msgstr ""
5247
 
5248
+ #: includes/hooks.php:1457
5249
  #, php-format
5250
  msgid ""
5251
  "Forum Usergroups are synched with User Roles based on the %s. When you change "
5252
  "this user Role the Usergroup is automatically changed according to that table."
5253
  msgstr ""
5254
 
5255
+ #: includes/hooks.php:1464
5256
  msgid "Synced with user role"
5257
  msgstr ""
5258
 
5259
+ #: includes/hooks.php:1469
5260
  msgid "Role-Usergroup Synchronization is Turned ON!"
5261
  msgstr ""
5262
 
5263
+ #: includes/hooks.php:1472
5264
  msgid ""
5265
  "This user Usergroup is automatically changed according to current Role. If you "
5266
  "want to disable Role-Usergroup synchronization and manage Usergroups and User "
5268
  "admin page and disable \"Role-Usergroup Synchronization\" option."
5269
  msgstr ""
5270
 
5271
+ #: includes/hooks.php:1486
5272
  msgid "Forum - Secondary Usergroups"
5273
  msgstr ""
5274
 
5275
+ #: includes/hooks.php:1510
5276
  msgid "Forum - User Timezone"
5277
  msgstr ""
5278
 
5279
+ #: includes/hooks.php:1521
5280
  msgid "User Reputation"
5281
  msgstr ""
5282
 
5283
+ #: includes/hooks.php:1523
5284
  msgid ""
5285
  "By default all members get rating badges and titles based on number of posts. "
5286
  "However, using this option you can grant lower or higher rating to certain "
5288
  "be managed in Forums > Settings > Members Tab."
5289
  msgstr ""
5290
 
5291
+ #: includes/hooks.php:1528
5292
  msgid "Default Rating"
5293
  msgstr ""
5294
 
5295
+ #: includes/hooks.php:1531
5296
  msgid "Custom Rating"
5297
  msgstr ""
5298
 
5299
+ #: includes/hooks.php:1539 includes/phrases.php:865
5300
  msgid "Rating Title"
5301
  msgstr ""
5302
 
5303
+ #: includes/hooks.php:1540 includes/phrases.php:430
5304
  msgid "Rating Badge"
5305
  msgstr ""
5306
 
5307
+ #: includes/hooks.php:2157 includes/hooks.php:2205 includes/hooks.php:2341
5308
+ #: includes/hooks.php:2409
5309
  msgid "Add New Forum"
5310
  msgstr ""
5311
 
5312
+ #: includes/hooks.php:2164 includes/hooks.php:2348
5313
  msgid "Add New User Group"
5314
  msgstr ""
5315
 
5316
+ #: includes/hooks.php:2171 includes/hooks.php:2289 includes/hooks.php:2355
5317
+ #: includes/hooks.php:2452
5318
  msgid "Add New Phrase"
5319
  msgstr ""
5320
 
5321
+ #: includes/hooks.php:2180 includes/hooks.php:2392
5322
  msgid "Visit Forum"
5323
  msgstr ""
5324
 
5325
+ #: includes/hooks.php:2273 includes/hooks.php:2505
5326
  msgid "Add New Usergroup"
5327
  msgstr ""
5328
 
5329
+ #: includes/hooks.php:2473
5330
  msgid "Add New Board"
5331
  msgstr ""
5332
 
5333
+ #: includes/hooks.php:2646 includes/phrases.php:1086
5334
  #, php-format
5335
  msgid ""
5336
  "IMPORTANT! The forum registration form is probably under risk of spam attacks. "
5340
  "dismiss this message."
5341
  msgstr ""
5342
 
5343
+ #: includes/hooks.php:2676
5344
  msgid "wpForo Polls addon is disabled!"
5345
  msgstr ""
5346
 
5347
+ #: includes/hooks.php:2676
5348
  msgid ""
5349
  " Your addon version is not compatible with the current version of wpForo. "
5350
  "Please update the addon or downgrade wpForo to 1.7.7"
5351
  msgstr ""
5352
 
5353
+ #: includes/hooks.php:2677
5354
  msgid "dismiss"
5355
  msgstr ""
5356
 
modules/reactions/classes/Template.php CHANGED
@@ -16,12 +16,12 @@ class Template {
16
  add_action( 'wpforo_post_content_end', function( $post ){
17
  echo $this->like_button( $post );
18
  } );
19
- add_action( 'wpforo_post_left_end', function( $post ){
20
- echo $this->like_button( $post );
21
- });
22
- add_action( 'wpforo_post_bottom_start', function( $post ){
23
- echo '<div class="reacted-users">' . $this->likers( $post['postid'] ) . '</div>';
24
- } );
25
  add_action( 'wpforo_post_bottom_end', function( $post ){
26
  echo '<div class="reacted-users">' . $this->likers( $post['postid'] ) . '</div>';
27
  } );
16
  add_action( 'wpforo_post_content_end', function( $post ){
17
  echo $this->like_button( $post );
18
  } );
19
+ add_action( 'wpforo_post_bottom_start', function( $post, $topic, $forum, $layout ){
20
+ if( $layout === 1 ) echo $this->like_button( $post ) . '&nbsp;&nbsp;&nbsp;';
21
+ }, 1, 4);
22
+ add_action( 'wpforo_post_bottom_start', function( $post, $topic, $forum, $layout ){
23
+ if( $layout === 1 ) echo '<div class="reacted-users">' . $this->likers( $post['postid'] ) . '</div>';
24
+ }, 2, 4 );
25
  add_action( 'wpforo_post_bottom_end', function( $post ){
26
  echo '<div class="reacted-users">' . $this->likers( $post['postid'] ) . '</div>';
27
  } );
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: 5.1
5
  Tested up to: 6.0
6
- Stable tag: 2.0.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
@@ -17,7 +17,7 @@ wpForo Forums is the best WordPress forum plugin. Full-fledged yet easy and ligh
17
  = 5 Minute Forum Installation! =
18
 
19
  1. Activate plugin and find forums on /community/ page, (/community-2/ if /community/ is used),
20
- 2. Manage forum page, title, etc in Dashboard > wpForo > Board > Edit Board admin page,
21
  3. Manage Forums in Dashboard > wpForo > Forums admin page,
22
  4. Manage Forum Menu in Dashboard > Appearance > Menu admin page,
23
  5. Manage Forum Widgets in Dashboard > Appearance > Widgets admin page,
@@ -163,7 +163,7 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
163
 
164
  == Changelog ==
165
 
166
- = wpForo Forum 2.0.1 - 2.0.7 | 03.08.2022 - 05.09.2022 =
167
 
168
  [wpForo Forum v2.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-2-0-1-is-released/)
169
 
@@ -179,6 +179,27 @@ IMPORTANT NOTES for UPDATE
179
 
180
  ADDED FEATURES and FIXED BUGS
181
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  * Version 2.0.7
183
  * Added: Filter hooks to set minimum number of posts for Active and Hot topics
184
  * Added: Missing phrases
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 5.1
5
  Tested up to: 6.0
6
+ Stable tag: 2.0.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
17
  = 5 Minute Forum Installation! =
18
 
19
  1. Activate plugin and find forums on /community/ page, (/community-2/ if /community/ is used),
20
+ 2. Manage Forum Page, Title, etc in Dashboard > wpForo > Board > Edit Board admin page,
21
  3. Manage Forums in Dashboard > wpForo > Forums admin page,
22
  4. Manage Forum Menu in Dashboard > Appearance > Menu admin page,
23
  5. Manage Forum Widgets in Dashboard > Appearance > Widgets admin page,
163
 
164
  == Changelog ==
165
 
166
+ = wpForo Forum 2.0.1 - 2.0.8 | 03.08.2022 - 12.09.2022 =
167
 
168
  [wpForo Forum v2.0 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-2-0-1-is-released/)
169
 
179
 
180
  ADDED FEATURES and FIXED BUGS
181
 
182
+ * Version 2.0.8
183
+ * Added: Nickname on the profile page
184
+ * Added: More types of problem detection in Debug > Error & Issues Tab
185
+ * Added: New color options for link colors in Colors & Styles admin page
186
+ * Added: Source and emoticons buttons in the signature and about editors
187
+ * Added: Allow auto-embed bmp, webp, svg and tiff files with URL
188
+ * Added: Buttons to flush permalinks in wpForo > Overview admin page
189
+ - Should be used if the forum page is changed
190
+ - Should be used if the board slug is changed
191
+ - Should be used if some pages are not accessible
192
+ - Should be used if forum and topic links don't work
193
+ - Should be used if forum paths are changed in General Settings
194
+ * Changed: Like button moved to the post bottom section in Extended Layout
195
+ * Fixed Bug: Missing colors, make sure all css files are loaded with https
196
+ * Fixed Bug: CSS issues if user avatars are disabled
197
+ * Fixed Bug: Correct canonical URL for Q&A topics with sorting queries
198
+ * Fixed Bug: Stop hiding moderation buttons when topic overview is disabled
199
+ * Fixed Bug: Fatal error: array_merge(): Argument #2 must be of type array
200
+ * Fixed Bug: PHP Warning at /2/forum.php 103 line
201
+ * Fixed Bug: Small CSS issues
202
+ * --------
203
  * Version 2.0.7
204
  * Added: Filter hooks to set minimum number of posts for Active and Hot topics
205
  * Added: Missing phrases
themes/2022/functions.php CHANGED
@@ -151,7 +151,6 @@ function wpforo_topic_overview( $topicid ){
151
  }
152
 
153
  function wpforo_topic_head( $forum, $topic ) {
154
- if( ! wpforo_setting( 'topics', 'topic_head' ) ) return;
155
  ?>
156
  <div class="wpforo-topic-head-wrap"
157
  data-forumid="<?php echo intval( $forum['forumid'] ) ?>"
@@ -159,8 +158,10 @@ function wpforo_topic_head( $forum, $topic ) {
159
  data-userid="<?php echo wpforo_bigintval( $topic['userid'] ) ?>"
160
  data-isowner="<?php echo intval( ( wpforo_bigintval( $topic['userid'] ) === WPF()->current_userid ) ) ?>"
161
  >
162
- <div class="wpf-post-head-top"><?php wpforo_topic_head_top( $forum, $topic ); ?></div>
163
- <div class="wpf-topic-more-info" <?php echo ( wpforo_setting( 'topics', 'topic_head_expanded' ) ? 'style="display: block;"' : 'style="display: none;"' ) ?>></div>
 
 
164
  <div class="wpf-post-head-bottom">
165
  <div class="wpf-left">
166
  <div class="wpf-manage-link">
151
  }
152
 
153
  function wpforo_topic_head( $forum, $topic ) {
 
154
  ?>
155
  <div class="wpforo-topic-head-wrap"
156
  data-forumid="<?php echo intval( $forum['forumid'] ) ?>"
158
  data-userid="<?php echo wpforo_bigintval( $topic['userid'] ) ?>"
159
  data-isowner="<?php echo intval( ( wpforo_bigintval( $topic['userid'] ) === WPF()->current_userid ) ) ?>"
160
  >
161
+ <?php if( wpforo_setting( 'topics', 'topic_head' ) ): ?>
162
+ <div class="wpf-post-head-top"><?php wpforo_topic_head_top( $forum, $topic ); ?></div>
163
+ <div class="wpf-topic-more-info" <?php echo ( wpforo_setting( 'topics', 'topic_head_expanded' ) ? 'style="display: block;"' : 'style="display: none;"' ) ?>></div>
164
+ <?php endif; ?>
165
  <div class="wpf-post-head-bottom">
166
  <div class="wpf-left">
167
  <div class="wpf-manage-link">
themes/2022/layouts/2/forum.php CHANGED
@@ -99,7 +99,7 @@ $cover_styles = wpforo_get_forum_cover_styles( $cat );
99
  <a href="<?php echo esc_url($member['profile_url']) ?>">
100
  <?php echo WPF()->member->get_avatar($forum['last_userid'], 'alt="'.esc_attr($member['display_name']).'" title="'.esc_attr($member['display_name']).'"', 38) ?>
101
  </a>
102
- <?php else: ?>
103
  <?php echo WPF()->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'" title="'.esc_attr($member['display_name']).'"', 38) ?>
104
  <?php endif; ?>
105
  </div>
99
  <a href="<?php echo esc_url($member['profile_url']) ?>">
100
  <?php echo WPF()->member->get_avatar($forum['last_userid'], 'alt="'.esc_attr($member['display_name']).'" title="'.esc_attr($member['display_name']).'"', 38) ?>
101
  </a>
102
+ <?php elseif( wpfval($member, 'display_name') ): ?>
103
  <?php echo WPF()->member->avatar($member, 'alt="'.esc_attr($member['display_name']).'" title="'.esc_attr($member['display_name']).'"', 38) ?>
104
  <?php endif; ?>
105
  </div>
themes/2022/layouts/3/forum.php CHANGED
@@ -53,8 +53,8 @@ $cover_styles = wpforo_get_forum_cover_styles( $cat );
53
  ?>
54
 
55
  <div id="wpf-forum-<?php echo $forum['forumid'] ?>" class="forum-wrap <?php wpforo_unread($forum['forumid'], 'forum') ?>">
56
- <div class="wpforo-forum">
57
- <div class="wpforo-forum-icon" style="<?php echo ( !is_rtl() ) ? 'border-left: 3px solid' : 'border-right: 3px solid'; ?> <?php echo esc_attr($forum['color']) ?>"><i class="<?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
58
  <div class="wpforo-forum-info">
59
  <h3 class="wpforo-forum-title"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a> <?php wpforo_viewing( $forum ); ?></h3>
60
  <p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
53
  ?>
54
 
55
  <div id="wpf-forum-<?php echo $forum['forumid'] ?>" class="forum-wrap <?php wpforo_unread($forum['forumid'], 'forum') ?>">
56
+ <div class="wpforo-forum" style="<?php echo ( !is_rtl() ) ? 'border-left: 3px solid' : 'border-right: 3px solid'; ?> <?php echo esc_attr($forum['color']) ?>">
57
+ <div class="wpforo-forum-icon"><i class="<?php echo esc_attr($forum_icon) ?> wpfcl-0"></i></div>
58
  <div class="wpforo-forum-info">
59
  <h3 class="wpforo-forum-title"><a href="<?php echo esc_url($forum_url) ?>"><?php echo esc_html($forum['title']); ?></a> <?php wpforo_viewing( $forum ); ?></h3>
60
  <p class="wpforo-forum-description"><?php echo $forum['description'] ?></p>
themes/2022/layouts/4/post.php CHANGED
@@ -98,7 +98,7 @@
98
  <script type="text/javascript">jQuery(document).ready(function($){ if($('#wpf-ttgg-<?php echo intval($post['postid']) ?>').length){ $('#wpf-replies-sep').hide(); } });</script>
99
  <div id="wpf-replies-sep" class="wpf-replies-sep">
100
  <div class="wpf-replies-title"><?php $replies_count = '<span class="wpf-replies-count">' . ($topic['posts'] - 1) . '</span>' ?>
101
- <i class="far fa-comment"></i> <?php ( $topic['posts'] > 2 ) ? printf( wpforo_phrase('%s Replies', false), $replies_count ) : printf( wpforo_phrase('%s Reply', false), $replies_count ) ; ?>
102
  </div>
103
  </div>
104
  <?php endif; ?>
@@ -107,8 +107,7 @@
107
  <div class="wpf-post-replies-bar" id="wpf-ttgg-<?php echo intval($post['postid']); ?>">
108
  <div class="wpf-post-replies-info">
109
  <i class="far fa-comments"></i>
110
- <span class="wpf-post-replies-count"><?php echo wpforo_print_number($reply_count); ?></span>
111
- <span class="wpf-post-replies-title"><?php ( $reply_count == 1 ) ? wpforo_phrase('Reply') : wpforo_phrase('Replies'); ?></span>
112
  </div>
113
  <div class="wpf-prsep"></div>
114
  <div wpf-tooltip="<?php wpforo_phrase('Hide replies') ?>" class="wpforo-ttgg"><i class="fas fa-angle-up"></i></div>
98
  <script type="text/javascript">jQuery(document).ready(function($){ if($('#wpf-ttgg-<?php echo intval($post['postid']) ?>').length){ $('#wpf-replies-sep').hide(); } });</script>
99
  <div id="wpf-replies-sep" class="wpf-replies-sep">
100
  <div class="wpf-replies-title"><?php $replies_count = '<span class="wpf-replies-count">' . ($topic['posts'] - 1) . '</span>' ?>
101
+ <i class="far fa-comment"></i> <?php ( (int) $topic['posts'] > 2 ) ? printf( wpforo_phrase('%s Replies', false), $replies_count ) : printf( wpforo_phrase('%s Reply', false), $replies_count ); ?>
102
  </div>
103
  </div>
104
  <?php endif; ?>
107
  <div class="wpf-post-replies-bar" id="wpf-ttgg-<?php echo intval($post['postid']); ?>">
108
  <div class="wpf-post-replies-info">
109
  <i class="far fa-comments"></i>
110
+ <span class="wpf-post-replies-title"><?php ( (int) $reply_count > 2 ) ? printf( wpforo_phrase('%s Replies', false), wpforo_print_number($reply_count) ) : printf( wpforo_phrase('%s Reply', false), wpforo_print_number($reply_count) ); ?></span>
 
111
  </div>
112
  <div class="wpf-prsep"></div>
113
  <div wpf-tooltip="<?php wpforo_phrase('Hide replies') ?>" class="wpforo-ttgg"><i class="fas fa-angle-up"></i></div>
themes/2022/profile.php CHANGED
@@ -3,14 +3,21 @@
3
  if( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  $user = wpforo_get_current_object_user();
6
- ?>
7
 
 
 
 
 
 
 
 
 
 
8
  <div class="wpforo-profile">
9
  <?php if( $user && ( WPF()->current_userid == $user['userid'] || WPF()->usergroup->can( 'vprf' ) ) ) :
10
  $rating_enabled = wpforo_setting( 'rating', 'rating' ) && in_array( $user['groupid'], wpforo_setting( 'rating', 'rating_badge_ug' ), true );
11
  $secondary_group_names = ( $user['secondary_groupids'] ) ? WPF()->usergroup->get_secondary_group_names( $user['secondary_groupids'] ) : [];
12
  ?>
13
-
14
  <div class="wpforo-profile-head" <?php wpforo_profile_head_attrs( $user ) ?>>
15
  <div class="wpforo-profile-head-panel">
16
  <?php if( WPF()->usergroup->can( 'va' ) && wpforo_setting( 'profiles', 'avatars' ) ): ?>
@@ -22,7 +29,10 @@ $user = wpforo_get_current_object_user();
22
  <div class="wpforo-profile-head-data">
23
  <div class="wpforo-profile-head-top">
24
  <div class="wpf-profile-details">
25
- <div class="wpfp-name"><?php wpforo_user_dname( $user, true ) ?></div>
 
 
 
26
  </div>
27
  <div class="wpf-profile-head-right">
28
  <?php do_action( 'wpforo_profile_head_right', $user ) ?>
3
  if( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  $user = wpforo_get_current_object_user();
 
6
 
7
+ if( !wpforo_setting('profiles', 'avatars') ): ?>
8
+ <style>
9
+ <?php if(!is_rtl()): ?>
10
+ #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-bottom{padding-left: 10px;} #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel{left:0}
11
+ <?php else: ?>
12
+ #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-bottom{padding-left: 10px;} #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel{left:0}
13
+ <?php endif; ?>
14
+ </style>
15
+ <?php endif; ?>
16
  <div class="wpforo-profile">
17
  <?php if( $user && ( WPF()->current_userid == $user['userid'] || WPF()->usergroup->can( 'vprf' ) ) ) :
18
  $rating_enabled = wpforo_setting( 'rating', 'rating' ) && in_array( $user['groupid'], wpforo_setting( 'rating', 'rating_badge_ug' ), true );
19
  $secondary_group_names = ( $user['secondary_groupids'] ) ? WPF()->usergroup->get_secondary_group_names( $user['secondary_groupids'] ) : [];
20
  ?>
 
21
  <div class="wpforo-profile-head" <?php wpforo_profile_head_attrs( $user ) ?>>
22
  <div class="wpforo-profile-head-panel">
23
  <?php if( WPF()->usergroup->can( 'va' ) && wpforo_setting( 'profiles', 'avatars' ) ): ?>
29
  <div class="wpforo-profile-head-data">
30
  <div class="wpforo-profile-head-top">
31
  <div class="wpf-profile-details">
32
+ <div class="wpfp-name">
33
+ <?php wpforo_user_dname( $user, true ) ?>
34
+ <?php wpforo_member_nicename($user, '@', false); ?>
35
+ </div>
36
  </div>
37
  <div class="wpf-profile-head-right">
38
  <?php do_action( 'wpforo_profile_head_right', $user ) ?>
themes/2022/search.php CHANGED
@@ -41,7 +41,7 @@ $posts = WPF()->current_object['posts'];
41
  <a href="<?php echo esc_url( WPF()->post->get_post_url( $post['postid'] ) ) ?>" title="<?php wpforo_phrase( 'View entire post' ) ?>"><?php echo esc_html( $post['title'] ) ?> &nbsp;<i class="fas fa-chevron-right" style="font-size:11px;"></i></a>
42
  </td>
43
  <?php if( ! $is_tag ): ?>
44
- <td class="wpf-spost-result wpfcl-5"><?php echo( isset( $post['matches'] ) ? ceil( $post['matches'] ) : '' ) ?><?php wpforo_phrase( 'relevance' ) ?></td>
45
  <?php endif; ?>
46
  <td class="wpf-spost-date"><?php wpforo_date( $post['created'] ); ?></td>
47
  <td class="wpf-spost-user"><?php wpforo_user_dname( wpforo_member( $post ), true ) ?></td>
41
  <a href="<?php echo esc_url( WPF()->post->get_post_url( $post['postid'] ) ) ?>" title="<?php wpforo_phrase( 'View entire post' ) ?>"><?php echo esc_html( $post['title'] ) ?> &nbsp;<i class="fas fa-chevron-right" style="font-size:11px;"></i></a>
42
  </td>
43
  <?php if( ! $is_tag ): ?>
44
+ <td class="wpf-spost-result wpfcl-5"><?php echo( isset( $post['matches'] ) ? ceil( $post['matches'] ) : '' ) ?> <?php wpforo_phrase( 'relevance' ) ?></td>
45
  <?php endif; ?>
46
  <td class="wpf-spost-date"><?php wpforo_date( $post['created'] ); ?></td>
47
  <td class="wpf-spost-user"><?php wpforo_user_dname( wpforo_member( $post ), true ) ?></td>
themes/2022/style-rtl.css CHANGED
@@ -482,7 +482,7 @@ RTL Style of Classic Theme
482
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .author-posts{font-size:12px; padding:1px; line-height:18px;}
483
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{position: absolute; left: -15px; bottom: -2px; background: #fff; padding: 12px 15px 0px 5px; border-radius: 0 28px 0 0;}
484
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
485
- #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:10px; display: flex; justify-content: space-between; align-items: center;}
486
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:right; flex-grow: 1;}
487
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{text-align:left;}
488
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-left: 10px;}
@@ -575,10 +575,10 @@ RTL Style of Classic Theme
575
  /*********** wpForo Layout 3 (Q&A Layout) *************/
576
  /******************************************************/
577
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-category{flex-wrap: wrap; display: flex; justify-content: space-between; align-content: flex-end; border-radius: 0 0 0 20px; margin-bottom: 20px;}
578
- #wpforo #wpforo-wrap .wpfl-3 .forum-wrap{margin-bottom: 5px; padding-bottom: 5px;}
579
  #wpforo #wpforo-wrap .wpfl-3 .cat-title{width:64%; text-align:right; font-size:16px; font-weight: 600;}
580
  #wpforo #wpforo-wrap .wpfl-3 .cat-title .cat-name{ padding:5px 0; line-height: 36px;}
581
- #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum{min-height: 50px; padding: 7px 0 10px 12px; width:100%; display: flex; justify-content: space-between; align-items: stretch;}
582
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{width:8%; text-align:center; padding:2px 0 5px 0; font-size:1.8em; line-height:1.5em;}
583
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{width:72%; text-align:right; padding:8px 0 0 0;}
584
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-title{font-size:17px;}
@@ -682,7 +682,7 @@ RTL Style of Classic Theme
682
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-name{padding-bottom: 4px;}
683
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-data{padding-right: 12px; margin-right: 12px;}
684
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-stat{padding-right: 12px; margin-right: 12px;}
685
- #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content{min-height:40px; padding-top:6px; padding-right:20px;}
686
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{text-align:left; padding: 0px 10px 2px 10px; margin-bottom:8px; margin-right: 20px; display:block; position:inherit;}
687
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-lb-box{font-size:11px; display:table-cell;}
688
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-action-links{font-size:12px;}
@@ -983,6 +983,7 @@ RTL Style of Classic Theme
983
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data{width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; flex-grow: 1; padding-right: 10px; padding-top: 22px;}
984
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details{ background-color: #fff; padding: 3px 20px; opacity: 0.8; max-width: 50%; border-radius: 7px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;}
985
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details .wpfp-name{ font-size: 16px; font-weight: 600; color: #333;}
 
986
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpfp-box{padding-left: 16px; margin-left: 0;}
987
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-head-right{display: flex; justify-content: flex-end; align-items: flex-end;}
988
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpf-edit-cover{font-size: 20px; padding: 0 4px; margin: 0; line-height: 18px; color: #555; cursor: pointer;}
@@ -1143,6 +1144,10 @@ RTL Style of Classic Theme
1143
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-title{font-size: 14px}
1144
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-avatar img{border: 1px solid #fff;}
1145
 
 
 
 
 
1146
  /****************************************************/
1147
  /******************* wpForo Forms *******************/
1148
  /****************************************************/
@@ -1316,15 +1321,15 @@ RTL Style of Classic Theme
1316
  /****************************************************/
1317
  #wpforo #wpforo-wrap .wpforo-members-search{padding:10px 0 10px 0;}
1318
  #wpforo #wpforo-wrap .wpforo-members-search .wpf-member-search{font-size:13px; margin:1px; line-height: 16px;}
1319
- #wpforo #wpforo-wrap .wpforo-members{display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch;}
1320
- #wpforo #wpforo-wrap .wpforo-members .wpforo-member{width: 31%; min-width: 200px; margin:0 0 3% 2%; padding: 2px; position: relative;}
1321
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar {position: relative;}
1322
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img,
1323
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img.avatar{width: 80px; height: 80px; border-radius: 50%; margin-top: 10px; border: 3px solid #fff;}
1324
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-online {position: absolute; right: 8px; bottom: 8px; font-size: 15px; border: 3px solid #fff; line-height: 15px; border-radius: 50%;}
1325
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head{width: 100%; padding: 5px 10px; display: flex; justify-content: flex-start; align-items: flex-end;}
1326
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head .wpf-member-name{font-size: 14px; line-height: 20px; padding-bottom: 7px; padding-right: 5px;}
1327
- #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-bg{width: 100%; height: 70px; position: absolute; background-size: cover; background-position: center; border-radius: 6px;}
1328
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{display:inline-block; min-width: 110px; padding: 0 0 2px 0; border: 1px dashed #f5f5f5; border-radius: 50%; }
1329
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug .wpf-member-title.wpfut{border-radius: 15px 0 0 15px;}
1330
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-members-info{padding-right: 12px;}
482
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .author-posts{font-size:12px; padding:1px; line-height:18px;}
483
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{position: absolute; left: -15px; bottom: -2px; background: #fff; padding: 12px 15px 0px 5px; border-radius: 0 28px 0 0;}
484
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
485
+ #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:12px 10px 10px; display: flex; justify-content: space-between; align-items: center;}
486
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:right; flex-grow: 1;}
487
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{text-align:left;}
488
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-left: 10px;}
575
  /*********** wpForo Layout 3 (Q&A Layout) *************/
576
  /******************************************************/
577
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-category{flex-wrap: wrap; display: flex; justify-content: space-between; align-content: flex-end; border-radius: 0 0 0 20px; margin-bottom: 20px;}
578
+ #wpforo #wpforo-wrap .wpfl-3 .forum-wrap{margin-bottom: 5px;}
579
  #wpforo #wpforo-wrap .wpfl-3 .cat-title{width:64%; text-align:right; font-size:16px; font-weight: 600;}
580
  #wpforo #wpforo-wrap .wpfl-3 .cat-title .cat-name{ padding:5px 0; line-height: 36px;}
581
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum{min-height: 50px; margin-bottom: 10px; padding: 7px 0 10px 12px; width:100%; display: flex; justify-content: space-between; align-items: stretch;}
582
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{width:8%; text-align:center; padding:2px 0 5px 0; font-size:1.8em; line-height:1.5em;}
583
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{width:72%; text-align:right; padding:8px 0 0 0;}
584
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-title{font-size:17px;}
682
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-name{padding-bottom: 4px;}
683
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-data{padding-right: 12px; margin-right: 12px;}
684
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-stat{padding-right: 12px; margin-right: 12px;}
685
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content{min-height:40px; padding-top:6px; padding-right:20px; margin-right: -6px;}
686
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{text-align:left; padding: 0px 10px 2px 10px; margin-bottom:8px; margin-right: 20px; display:block; position:inherit;}
687
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-lb-box{font-size:11px; display:table-cell;}
688
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-action-links{font-size:12px;}
983
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data{width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; flex-grow: 1; padding-right: 10px; padding-top: 22px;}
984
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details{ background-color: #fff; padding: 3px 20px; opacity: 0.8; max-width: 50%; border-radius: 7px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;}
985
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details .wpfp-name{ font-size: 16px; font-weight: 600; color: #333;}
986
+ #wpforo #wpforo-wrap .wpforo-profile .wpf-profile-details .wpfp-name .wpf-author-nicename {display: inline-block;border-right: 2px solid #bbb; font-weight: normal; padding-right: 8px; margin-right: 6px; line-height: 20px; vertical-align: text-top; color: #111; font-size: 15px;}
987
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpfp-box{padding-left: 16px; margin-left: 0;}
988
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-head-right{display: flex; justify-content: flex-end; align-items: flex-end;}
989
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpf-edit-cover{font-size: 20px; padding: 0 4px; margin: 0; line-height: 18px; color: #555; cursor: pointer;}
1144
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-title{font-size: 14px}
1145
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-avatar img{border: 1px solid #fff;}
1146
 
1147
+ /* No Avatar */
1148
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head { min-height: 110px; }
1149
+ #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel{min-height: 150px;}
1150
+
1151
  /****************************************************/
1152
  /******************* wpForo Forms *******************/
1153
  /****************************************************/
1321
  /****************************************************/
1322
  #wpforo #wpforo-wrap .wpforo-members-search{padding:10px 0 10px 0;}
1323
  #wpforo #wpforo-wrap .wpforo-members-search .wpf-member-search{font-size:13px; margin:1px; line-height: 16px;}
1324
+ #wpforo #wpforo-wrap .wpforo-members{display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch; padding-right: 4%;}
1325
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member{width: 30%; padding: 0px 0 15px 0px; border-radius: 10px 10px 2px 2px; min-width: 200px; margin:0 0 3% 3%; padding: 2px; position: relative;}
1326
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar {position: relative;}
1327
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img,
1328
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img.avatar{width: 80px; height: 80px; border-radius: 50%; margin-top: 10px; border: 3px solid #fff;}
1329
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-online {position: absolute; right: 8px; bottom: 8px; font-size: 15px; border: 3px solid #fff; line-height: 15px; border-radius: 50%;}
1330
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head{width: 100%; padding: 5px 10px; display: flex; justify-content: flex-start; align-items: flex-end;}
1331
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head .wpf-member-name{font-size: 14px; line-height: 20px; padding-bottom: 7px; padding-right: 5px;}
1332
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-bg{width: 98%; height: 70px; position: absolute; background-size: cover; background-position: center; border-radius: 6px;}
1333
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{display:inline-block; min-width: 110px; padding: 0 0 2px 0; border: 1px dashed #f5f5f5; border-radius: 50%; }
1334
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug .wpf-member-title.wpfut{border-radius: 15px 0 0 15px;}
1335
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-members-info{padding-right: 12px;}
themes/2022/style.css CHANGED
@@ -488,7 +488,7 @@ Author: gVectors Team
488
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .author-posts{font-size:12px; padding:1px; line-height:18px;}
489
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{position: absolute; right: -15px; bottom: -2px; background: #fff; padding: 12px 5px 0px 15px; border-radius: 28px 0 0 0;}
490
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
491
- #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:10px; display: flex; justify-content: space-between; align-items: center;}
492
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:left; flex-grow: 1;}
493
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{text-align:right;}
494
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-right: 10px;}
@@ -581,10 +581,10 @@ Author: gVectors Team
581
  /*********** wpForo Layout 3 (Q&A Layout) *************/
582
  /******************************************************/
583
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-category{flex-wrap: wrap; display: flex; justify-content: space-between; align-content: flex-end; border-radius: 0 0 20px 0; margin-bottom: 20px;}
584
- #wpforo #wpforo-wrap .wpfl-3 .forum-wrap{margin-bottom: 5px; padding-bottom: 5px;}
585
  #wpforo #wpforo-wrap .wpfl-3 .cat-title{width:64%; text-align:left; font-size:16px; font-weight: 600;}
586
  #wpforo #wpforo-wrap .wpfl-3 .cat-title .cat-name{ padding:5px 0; line-height: 36px;}
587
- #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum{min-height: 50px; padding: 7px 12px 10px 0; width:100%; display: flex; justify-content: space-between; align-items: stretch;}
588
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{width:8%; text-align:center; padding:2px 0 5px 0; font-size:1.8em; line-height:1.5em;}
589
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{width:72%; text-align:left; padding:8px 0 0 0;}
590
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-title{font-size:17px;}
@@ -688,7 +688,7 @@ Author: gVectors Team
688
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-name{padding-bottom: 4px;}
689
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-data{padding-left: 12px; margin-left: 12px;}
690
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-stat{padding-left: 12px; margin-left: 12px;}
691
- #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content{min-height:40px; padding-top:6px; padding-left:20px;}
692
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{text-align:right; padding: 0px 10px 2px 10px; margin-bottom:8px; margin-left: 20px; display:block; position:inherit;}
693
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-lb-box{font-size:11px; display:table-cell;}
694
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-action-links{font-size:12px;}
@@ -989,6 +989,7 @@ Author: gVectors Team
989
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data{width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; flex-grow: 1; padding-left: 10px; padding-top: 22px;}
990
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details{ background-color: #fff; padding: 3px 20px; opacity: 0.8; max-width: 50%; border-radius: 7px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;}
991
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details .wpfp-name{ font-size: 16px; font-weight: 600; color: #333;}
 
992
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpfp-box{padding-right: 16px; margin-right: 0;}
993
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-head-right{display: flex; justify-content: flex-end; align-items: flex-end;}
994
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpf-edit-cover{font-size: 20px; padding: 0 4px; margin: 0; line-height: 18px; color: #555; cursor: pointer;}
@@ -1151,6 +1152,10 @@ Author: gVectors Team
1151
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-title{font-size: 14px}
1152
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-avatar img{border: 1px solid #fff;}
1153
 
 
 
 
 
1154
  /****************************************************/
1155
  /******************* wpForo Forms *******************/
1156
  /****************************************************/
@@ -1326,15 +1331,15 @@ Author: gVectors Team
1326
  /****************************************************/
1327
  #wpforo #wpforo-wrap .wpforo-members-search{padding:10px 0 10px 0;}
1328
  #wpforo #wpforo-wrap .wpforo-members-search .wpf-member-search{font-size:13px; margin:1px; line-height: 16px;}
1329
- #wpforo #wpforo-wrap .wpforo-members{display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch;}
1330
- #wpforo #wpforo-wrap .wpforo-members .wpforo-member{width: 31%; min-width: 200px; margin:0 2% 3% 0; padding: 2px; position: relative;}
1331
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar {position: relative;}
1332
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img,
1333
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img.avatar{width: 80px; height: 80px; border-radius: 50%; margin-top: 10px; border: 3px solid #fff;}
1334
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-online {position: absolute; left: 8px; bottom: 8px; font-size: 15px; border: 3px solid #fff; line-height: 15px; border-radius: 50%;}
1335
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head{width: 100%; padding: 5px 10px; display: flex; justify-content: flex-start; align-items: flex-end;}
1336
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head .wpf-member-name{font-size: 14px; line-height: 20px; padding-bottom: 7px; padding-left: 5px;}
1337
- #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-bg{width: 100%; height: 70px; position: absolute; background-size: cover; background-position: center; border-radius: 6px;}
1338
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{display:inline-block; min-width: 110px; padding: 0 0 2px 0; border: 1px dashed #f5f5f5; border-radius: 50%; }
1339
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug .wpf-member-title.wpfut{border-radius: 0 15px 15px 0;}
1340
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-members-info{padding-left: 12px;}
488
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .author-posts{font-size:12px; padding:1px; line-height:18px;}
489
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction{position: absolute; right: -15px; bottom: -2px; background: #fff; padding: 12px 5px 0px 15px; border-radius: 28px 0 0 0;}
490
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-left .wpforo-reaction > span > i{font-size: 20px;}
491
+ #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom {font-size:12px; padding:12px 10px 10px; display: flex; justify-content: space-between; align-items: center;}
492
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .reacted-users{text-align:left; flex-grow: 1;}
493
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .bottom .bright{text-align:right;}
494
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post .wpf-right .wpf-post-starter{margin-right: 10px;}
581
  /*********** wpForo Layout 3 (Q&A Layout) *************/
582
  /******************************************************/
583
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-category{flex-wrap: wrap; display: flex; justify-content: space-between; align-content: flex-end; border-radius: 0 0 20px 0; margin-bottom: 20px;}
584
+ #wpforo #wpforo-wrap .wpfl-3 .forum-wrap{margin-bottom: 5px;}
585
  #wpforo #wpforo-wrap .wpfl-3 .cat-title{width:64%; text-align:left; font-size:16px; font-weight: 600;}
586
  #wpforo #wpforo-wrap .wpfl-3 .cat-title .cat-name{ padding:5px 0; line-height: 36px;}
587
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum{min-height: 50px; margin-bottom: 10px; padding: 7px 12px 10px 0; width:100%; display: flex; justify-content: space-between; align-items: stretch;}
588
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{width:8%; text-align:center; padding:2px 0 5px 0; font-size:1.8em; line-height:1.5em;}
589
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{width:72%; text-align:left; padding:8px 0 0 0;}
590
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-title{font-size:17px;}
688
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-name{padding-bottom: 4px;}
689
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-data{padding-left: 12px; margin-left: 12px;}
690
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-author .wpforo-post-author-details .wpforo-post-author-stat{padding-left: 12px; margin-left: 12px;}
691
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content{min-height:40px; padding-top:6px; padding-left:20px; margin-left: -6px;}
692
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{text-align:right; padding: 0px 10px 2px 10px; margin-bottom:8px; margin-left: 20px; display:block; position:inherit;}
693
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-lb-box{font-size:11px; display:table-cell;}
694
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-action-links{font-size:12px;}
989
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data{width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; flex-grow: 1; padding-left: 10px; padding-top: 22px;}
990
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details{ background-color: #fff; padding: 3px 20px; opacity: 0.8; max-width: 50%; border-radius: 7px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;}
991
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-details .wpfp-name{ font-size: 16px; font-weight: 600; color: #333;}
992
+ #wpforo #wpforo-wrap .wpforo-profile .wpf-profile-details .wpfp-name .wpf-author-nicename {display: inline-block;border-left: 2px solid #bbb; font-weight: normal; padding-left: 8px; margin-left: 6px; line-height: 20px; vertical-align: text-top; color: #111; font-size: 15px;}
993
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpfp-box{padding-right: 16px; margin-right: 0;}
994
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpforo-profile-head-data .wpf-profile-head-right{display: flex; justify-content: flex-end; align-items: flex-end;}
995
  #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel .wpf-edit-cover{font-size: 20px; padding: 0 4px; margin: 0; line-height: 18px; color: #555; cursor: pointer;}
1152
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-title{font-size: 14px}
1153
  #wpforo #wpforo-wrap .wpforo-following .wpforo-follower .follower-avatar img{border: 1px solid #fff;}
1154
 
1155
+ /* No Avatar */
1156
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head { min-height: 110px; }
1157
+ #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-panel{min-height: 150px;}
1158
+
1159
  /****************************************************/
1160
  /******************* wpForo Forms *******************/
1161
  /****************************************************/
1331
  /****************************************************/
1332
  #wpforo #wpforo-wrap .wpforo-members-search{padding:10px 0 10px 0;}
1333
  #wpforo #wpforo-wrap .wpforo-members-search .wpf-member-search{font-size:13px; margin:1px; line-height: 16px;}
1334
+ #wpforo #wpforo-wrap .wpforo-members{display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch; padding-left: 4%;}
1335
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member{width: 30%; padding: 0px 0 15px 0px; border-radius: 10px 10px 2px 2px; min-width: 200px; margin:0 3% 3% 0; padding: 2px; position: relative;}
1336
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar {position: relative;}
1337
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img,
1338
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-avatar img.avatar{width: 80px; height: 80px; border-radius: 50%; margin-top: 10px; border: 3px solid #fff;}
1339
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-member-online {position: absolute; left: 8px; bottom: 8px; font-size: 15px; border: 3px solid #fff; line-height: 15px; border-radius: 50%;}
1340
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head{width: 100%; padding: 5px 10px; display: flex; justify-content: flex-start; align-items: flex-end;}
1341
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-head .wpf-member-name{font-size: 14px; line-height: 20px; padding-bottom: 7px; padding-left: 5px;}
1342
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-bg{width: 98%; height: 70px; position: absolute; background-size: cover; background-position: center; border-radius: 6px;}
1343
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{display:inline-block; min-width: 110px; padding: 0 0 2px 0; border: 1px dashed #f5f5f5; border-radius: 50%; }
1344
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug .wpf-member-title.wpfut{border-radius: 0 15px 15px 0;}
1345
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpf-members-info{padding-left: 12px;}
themes/2022/styles/colors.php CHANGED
@@ -11,9 +11,9 @@
11
  *
12
  */
13
 
14
- $colors = array ( 'default' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#659fbe', '12' => '#43a6df', '13' => '#72ccfc', '14' => '#0099cc', '15' => '#3f7796', '16' => '#4a8eb3', '17' => '#dff4ff', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
15
- 'red' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#E0141E', '12' => '#EE1A26', '13' => '#FC979C', '14' => '#E0141E', '15' => '#99262B', '16' => '#D61319', '17' => '#FFF7F7', '20' => '#30B2A7', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
16
- 'green' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#6EA500', '12' => '#649E2D', '13' => '#8DCE0C', '14' => '#447714', '15' => '#5A7F10', '16' => '#6EA500', '17' => '#F8FCEF', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#FF812D', '33' => '#F47222', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
17
- 'orange' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#E0762F', '12' => '#FF6600', '13' => '#FC9958', '14' => '#F26000', '15' => '#AA4F12', '16' => '#F26000', '17' => '#FFF4ED', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
18
- 'grey' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#343434', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#888888', '12' => '#666666', '13' => '#7EEA8D', '14' => '#777777', '15' => '#333333', '16' => '#555555', '17' => '#DFF4FF', '20' => '#FF812D', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
19
- 'dark' => array ('0' => '#000000', '1' => '#141414', '2' => '#bbbbbb', '3' => '#000000', '4' => '#666666', '5' => '#bcbcbc', '6' => '#999999', '7' => '#585858', '8' => '#727272', '9' => '#323232', '10' => '#dadada', '11' => '#888888', '12' => '#33779b', '13' => '#7EEA8D', '14' => '#777777', '15' => '#E0E0E0', '16' => '#CECECE', '17' => '#33779b', '20' => '#FF812D', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ) );
11
  *
12
  */
13
 
14
+ $colors = array ( 'default' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#659fbe', '12' => '#43a6df', '13' => '#72ccfc', '14' => '#0099cc', '15' => '#3f7796', '16' => '#4a8eb3', '17' => '#dff4ff', '18' => '#fafafa', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
15
+ 'red' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#E0141E', '12' => '#EE1A26', '13' => '#FC979C', '14' => '#E0141E', '15' => '#99262B', '16' => '#D61319', '17' => '#FFF7F7', '18' => '#fafafa', '20' => '#30B2A7', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
16
+ 'green' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#6EA500', '12' => '#649E2D', '13' => '#8DCE0C', '14' => '#447714', '15' => '#5A7F10', '16' => '#6EA500', '17' => '#F8FCEF', '18' => '#fafafa', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#FF812D', '33' => '#F47222', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
17
+ 'orange' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#555555', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#E0762F', '12' => '#FF6600', '13' => '#FC9958', '14' => '#F26000', '15' => '#AA4F12', '16' => '#F26000', '17' => '#FFF4ED', '18' => '#fafafa', '20' => '#ff812d', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
18
+ 'grey' => array ('0' => '#000000', '1' => '#ffffff', '2' => '#333333', '3' => '#343434', '4' => '#666666', '5' => '#777777', '6' => '#999999', '7' => '#cccccc', '8' => '#e6e6e6', '9' => '#f5f5f5', '10' => '#dadada', '11' => '#888888', '12' => '#666666', '13' => '#7EEA8D', '14' => '#777777', '15' => '#333333', '16' => '#555555', '17' => '#DFF4FF', '18' => '#fafafa', '20' => '#FF812D', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ),
19
+ 'dark' => array ('0' => '#000000', '1' => '#141414', '2' => '#bbbbbb', '3' => '#000000', '4' => '#666666', '5' => '#bcbcbc', '6' => '#999999', '7' => '#585858', '8' => '#727272', '9' => '#323232', '10' => '#dadada', '11' => '#888888', '12' => '#33779b', '13' => '#7EEA8D', '14' => '#777777', '15' => '#E0E0E0', '16' => '#CECECE', '17' => '#33779b', '18' => '#fafafa', '20' => '#FF812D', '30' => '#4dca5c', '31' => '#00a636', '32' => '#86ba4c', '33' => '#6fa634', '40' => '#ff9595', '41' => '#ff7575', '42' => '#f46464' ) );
themes/2022/styles/matrix.css CHANGED
@@ -208,7 +208,7 @@
208
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-topic-stat-views{ color:__WPFCOLOR_3__; }
209
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts{ background-color:__WPFCOLOR_1__; }
210
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts-tab{ color:__WPFCOLOR_3__; }
211
- #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts-list{ color:__WPFCOLOR_3__; border-left:__WPFCOLOR_8__ 2px solid; background-color: #FAFAFA; }
212
 
213
  #wpforo #wpforo-wrap .wpfl-1 .post-wrap{}
214
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post{}
@@ -230,7 +230,7 @@
230
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum-info{ color:__WPFCOLOR_3__; }
231
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-subforum{}
232
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum-stat{ color:__WPFCOLOR_20__; }
233
- #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data{background: __WPFCOLOR_9__;}
234
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{border-top:__WPFCOLOR_8__ 1px dashed;}
235
 
236
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-last-post{ color:__WPFCOLOR_3__; }
@@ -264,8 +264,7 @@
264
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-posts { color:__WPFCOLOR_3__; }
265
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-answers { color:__WPFCOLOR_3__; }
266
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-questions { color:__WPFCOLOR_3__; }
267
- #wpforo #wpforo-wrap .wpfl-3 .forum-wrap{ border-bottom:__WPFCOLOR_9__ 1px solid; }
268
- #wpforo #wpforo-wrap .wpfl-3 .forum-wrap:last-child{border-bottom: none;}
269
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{ color:__WPFCOLOR_3__; }
270
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{ color:__WPFCOLOR_3__; }
271
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-footer{ color:__WPFCOLOR_6__; }
@@ -284,7 +283,7 @@
284
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-stat .wpft-cell-right{}
285
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-head{border-bottom:__WPFCOLOR_12__ 3px solid; color: __WPFCOLOR_3__;}
286
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic{ color:__WPFCOLOR_3__;}
287
- #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic .wpf-tbox{ background:#FAFAFA; }
288
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic .wpf-tbox .wpforo-label svg{fill: __WPFCOLOR_6__;}
289
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-replies i{color: __WPFCOLOR_6__;}
290
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-bottom .wpforo-tags i{color: __WPFCOLOR_6__;}
@@ -299,6 +298,7 @@
299
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-left .wpf-toggle-answer{ color:__WPFCOLOR_31__; }
300
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-left .wpf-toggle-not-answer{ color:__WPFCOLOR_6__!important; }
301
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right{ background:__WPFCOLOR_1__; }
 
302
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{ border-bottom:2px solid __WPFCOLOR_9__; }
303
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-tool-bar{ border-top:1px dotted __WPFCOLOR_8__; }
304
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-signature-content{ border-top:__WPFCOLOR_11__ 1px dotted; }
@@ -358,7 +358,7 @@
358
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content-head-top .wpf-post-date{color:__WPFCOLOR_6__;}
359
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content-head-bottom .wpf-author{color:__WPFCOLOR_6__;}
360
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content{}
361
- #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot{ background: #FAFAFA; }
362
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reaction-wrap .wpf-like-count{color: __WPFCOLOR_5__;}
363
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reply .wpf-action{}
364
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reply:hover .wpf-action{color: __WPFCOLOR_11__;}
@@ -382,13 +382,13 @@
382
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-author-avatar .avatar{background: __WPFCOLOR_1__; border: 1px solid __WPFCOLOR_10__;}
383
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-author .wpforo-memberinfo{color: __WPFCOLOR_5__;}
384
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-post-date{color:__WPFCOLOR_6__;}
385
- #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content{background-color: #FAFAFA;}
386
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree{border-bottom: 1px dashed __WPFCOLOR_7__;}
387
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree i{color: __WPFCOLOR_6__;}
388
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree .wpf-tree-item em{color: __WPFCOLOR_5__;}
389
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree .wpf-tree-item.wpf-starter .avatar{background: __WPFCOLOR_1__; border: 1px solid __WPFCOLOR_12__;}
390
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-content-foot{border-top: __WPFCOLOR_9__ 1px solid;}
391
- #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer {background: #FAFAFA;}
392
  #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer .reacted-users:not(:empty){ border-top: 3px solid __WPFCOLOR_1__;}
393
  #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer .reacted-users a{ color:__WPFCOLOR_20__; }
394
  #wpforo #wpforo-wrap .wpfl-4 .wpf-replies-sep{border-bottom: 1px solid __WPFCOLOR_7__; color: __WPFCOLOR_6__;}
@@ -508,6 +508,7 @@
508
  #wpforo #wpforo-wrap .wpf-topic-rel .wpf-rel-title i{color:__WPFCOLOR_5__;}
509
 
510
  #wpforo #wpforo-wrap .wpforo-members-wrap td.wpf-members-search { border-bottom:1px solid __WPFCOLOR_8__; }
 
511
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-social a{color: __WPFCOLOR_7__; fill: __WPFCOLOR_7__;}
512
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-social a:hover{color: __WPFCOLOR_12__; fill: __WPFCOLOR_12__;}
513
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{border: 1px dashed __WPFCOLOR_9__;}
@@ -542,7 +543,7 @@
542
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{ border-bottom:1px dotted __WPFCOLOR_1__; }
543
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content { border-bottom:__WPFCOLOR_8__ 1px solid; }
544
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-htr{ border-bottom:__WPFCOLOR_12__ 3px solid; color:__WPFCOLOR_5__; }
545
- #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-ttr{ background: #FAFAFA;}
546
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-icon{ border-right:1px solid __WPFCOLOR_1__;}
547
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-icon { border-right:1px solid __WPFCOLOR_1__;}
548
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{color:__WPFCOLOR_4__}
208
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-topic-stat-views{ color:__WPFCOLOR_3__; }
209
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts{ background-color:__WPFCOLOR_1__; }
210
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts-tab{ color:__WPFCOLOR_3__; }
211
+ #wpforo #wpforo-wrap .wpfl-1 .wpforo-last-posts-list{ color:__WPFCOLOR_3__; border-left:__WPFCOLOR_8__ 2px solid; background-color: __WPFCOLOR_18__; }
212
 
213
  #wpforo #wpforo-wrap .wpfl-1 .post-wrap{}
214
  #wpforo #wpforo-wrap .wpfl-1 .wpforo-post{}
230
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum-info{ color:__WPFCOLOR_3__; }
231
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-subforum{}
232
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum-stat{ color:__WPFCOLOR_20__; }
233
+ #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data{background: __WPFCOLOR_18__;}
234
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-forum .wpforo-forum-data .wpforo-last-post-info{border-top:__WPFCOLOR_8__ 1px dashed;}
235
 
236
  #wpforo #wpforo-wrap .wpfl-2 .wpforo-last-post{ color:__WPFCOLOR_3__; }
264
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-posts { color:__WPFCOLOR_3__; }
265
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-answers { color:__WPFCOLOR_3__; }
266
  #wpforo #wpforo-wrap .wpfl-3 .cat-stat-questions { color:__WPFCOLOR_3__; }
267
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum{background-color:__WPFCOLOR_18__;}
 
268
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-icon{ color:__WPFCOLOR_3__; }
269
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-info{ color:__WPFCOLOR_3__; }
270
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-footer{ color:__WPFCOLOR_6__; }
283
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-forum-stat .wpft-cell-right{}
284
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-head{border-bottom:__WPFCOLOR_12__ 3px solid; color: __WPFCOLOR_3__;}
285
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic{ color:__WPFCOLOR_3__;}
286
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic .wpf-tbox{ background: __WPFCOLOR_18__; }
287
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic .wpf-tbox .wpforo-label svg{fill: __WPFCOLOR_6__;}
288
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-replies i{color: __WPFCOLOR_6__;}
289
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-topic-bottom .wpforo-tags i{color: __WPFCOLOR_6__;}
298
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-left .wpf-toggle-answer{ color:__WPFCOLOR_31__; }
299
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-left .wpf-toggle-not-answer{ color:__WPFCOLOR_6__!important; }
300
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right{ background:__WPFCOLOR_1__; }
301
+ #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content{background: __WPFCOLOR_18__;}
302
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-content-top{ border-bottom:2px solid __WPFCOLOR_9__; }
303
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-tool-bar{ border-top:1px dotted __WPFCOLOR_8__; }
304
  #wpforo #wpforo-wrap .wpfl-3 .wpforo-post .wpf-right .wpforo-post-signature-content{ border-top:__WPFCOLOR_11__ 1px dotted; }
358
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content-head-top .wpf-post-date{color:__WPFCOLOR_6__;}
359
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content-head-bottom .wpf-author{color:__WPFCOLOR_6__;}
360
  #wpforo #wpforo-wrap .wpfl-4 .wpf-parent-post .wpf-right .wpf-content{}
361
+ #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot{ background: __WPFCOLOR_18__; }
362
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reaction-wrap .wpf-like-count{color: __WPFCOLOR_5__;}
363
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reply .wpf-action{}
364
  #wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-reply:hover .wpf-action{color: __WPFCOLOR_11__;}
382
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-author-avatar .avatar{background: __WPFCOLOR_1__; border: 1px solid __WPFCOLOR_10__;}
383
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-author .wpforo-memberinfo{color: __WPFCOLOR_5__;}
384
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-head .wpf-post-date{color:__WPFCOLOR_6__;}
385
+ #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content{background-color: __WPFCOLOR_18__;}
386
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree{border-bottom: 1px dashed __WPFCOLOR_7__;}
387
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree i{color: __WPFCOLOR_6__;}
388
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree .wpf-tree-item em{color: __WPFCOLOR_5__;}
389
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-reply-content .wpf-reply-tree .wpf-tree-item.wpf-starter .avatar{background: __WPFCOLOR_1__; border: 1px solid __WPFCOLOR_12__;}
390
  #wpforo #wpforo-wrap .wpfl-4 .wpf-child-post .wpf-content-foot{border-top: __WPFCOLOR_9__ 1px solid;}
391
+ #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer {background: __WPFCOLOR_18__;}
392
  #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer .reacted-users:not(:empty){ border-top: 3px solid __WPFCOLOR_1__;}
393
  #wpforo #wpforo-wrap .wpfl-4 .wpforo-post .wpforo-post-footer .reacted-users a{ color:__WPFCOLOR_20__; }
394
  #wpforo #wpforo-wrap .wpfl-4 .wpf-replies-sep{border-bottom: 1px solid __WPFCOLOR_7__; color: __WPFCOLOR_6__;}
508
  #wpforo #wpforo-wrap .wpf-topic-rel .wpf-rel-title i{color:__WPFCOLOR_5__;}
509
 
510
  #wpforo #wpforo-wrap .wpforo-members-wrap td.wpf-members-search { border-bottom:1px solid __WPFCOLOR_8__; }
511
+ #wpforo #wpforo-wrap .wpforo-members .wpforo-member {background: __WPFCOLOR_18__;}
512
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-social a{color: __WPFCOLOR_7__; fill: __WPFCOLOR_7__;}
513
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-social a:hover{color: __WPFCOLOR_12__; fill: __WPFCOLOR_12__;}
514
  #wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-ug{border: 1px dashed __WPFCOLOR_9__;}
543
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpf-recent-bar .wpfrtd{ border-bottom:1px dotted __WPFCOLOR_1__; }
544
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content { border-bottom:__WPFCOLOR_8__ 1px solid; }
545
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-htr{ border-bottom:__WPFCOLOR_12__ 3px solid; color:__WPFCOLOR_5__; }
546
+ #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content .wpf-ttr{ background: __WPFCOLOR_18__;}
547
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-shead-icon{ border-right:1px solid __WPFCOLOR_1__;}
548
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-spost-icon { border-right:1px solid __WPFCOLOR_1__;}
549
  #wpforo #wpforo-wrap .wpforo-recent-wrap .wpforo-recent-content td.wpf-stext{color:__WPFCOLOR_4__}
widgets/Profile.php CHANGED
@@ -46,7 +46,7 @@ class Profile extends WP_Widget {
46
  <div class="wpf-prof-wrap">
47
  <?php if( is_user_logged_in() ): wp_enqueue_script( 'wpforo-widgets-js' ); ?>
48
  <div class="wpf-prof-header">
49
- <?php if( ! wpfval( $instance, 'hide_avatar' ) ): ?>
50
  <div class="wpf-prof-avatar">
51
  <?php //echo wpforo_user_avatar( $member['userid'], 80 ); ?>
52
  <?php echo WPF()->member->avatar( $member, 'alt="'.esc_attr($member['display_name']).'"', 80 ); ?>
46
  <div class="wpf-prof-wrap">
47
  <?php if( is_user_logged_in() ): wp_enqueue_script( 'wpforo-widgets-js' ); ?>
48
  <div class="wpf-prof-header">
49
+ <?php if( ! wpfval( $instance, 'hide_avatar' ) && wpforo_setting('profiles', 'avatars') ): ?>
50
  <div class="wpf-prof-avatar">
51
  <?php //echo wpforo_user_avatar( $member['userid'], 80 ); ?>
52
  <?php echo WPF()->member->avatar( $member, 'alt="'.esc_attr($member['display_name']).'"', 80 ); ?>
widgets/RecentPosts.php CHANGED
@@ -106,7 +106,7 @@ class RecentPosts extends WP_Widget {
106
  </div>
107
  <?php endif; ?>
108
  <?php endif; ?>
109
- <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
110
  <p class="posttitle">
111
  <a href="<?php echo esc_url( $post['url'] ) ?>"><?php
112
  if( $t = esc_html( trim( $post['title'] ) ) ) {
@@ -155,7 +155,7 @@ class RecentPosts extends WP_Widget {
155
  </div>
156
  <?php endif; ?>
157
  <?php endif; ?>
158
- <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
159
  <p class="posttitle">
160
  <a href="<?php echo esc_url( $post_url ) ?>"><?php
161
  if( $t = esc_html( trim( $post['title'] ) ) ) {
106
  </div>
107
  <?php endif; ?>
108
  <?php endif; ?>
109
+ <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] || !wpforo_setting('profiles', 'avatars') ): ?> style="width:100%"<?php endif; ?>>
110
  <p class="posttitle">
111
  <a href="<?php echo esc_url( $post['url'] ) ?>"><?php
112
  if( $t = esc_html( trim( $post['title'] ) ) ) {
155
  </div>
156
  <?php endif; ?>
157
  <?php endif; ?>
158
+ <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] || !wpforo_setting('profiles', 'avatars') ): ?> style="width:100%"<?php endif; ?>>
159
  <p class="posttitle">
160
  <a href="<?php echo esc_url( $post_url ) ?>"><?php
161
  if( $t = esc_html( trim( $post['title'] ) ) ) {
widgets/RecentTopics.php CHANGED
@@ -78,7 +78,7 @@ class RecentTopics extends WP_Widget {
78
  </div>
79
  <?php endif; ?>
80
  <?php endif; ?>
81
- <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] ): ?> style="width:100%"<?php endif; ?>>
82
  <p class="posttitle">
83
  <?php if( wpfval( $instance, 'goto_unread' ) ): ?>
84
  <?php wpforo_topic_title( $topic, $topic_url, '{p}{au}{t}{/a}' ) ?>
78
  </div>
79
  <?php endif; ?>
80
  <?php endif; ?>
81
+ <div class="wpforo-list-item-right" <?php if( ! $instance['display_avatar'] || !wpforo_setting('profiles', 'avatars') ): ?> style="width:100%"<?php endif; ?>>
82
  <p class="posttitle">
83
  <?php if( wpfval( $instance, 'goto_unread' ) ): ?>
84
  <?php wpforo_topic_title( $topic, $topic_url, '{p}{au}{t}{/a}' ) ?>
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: 2.0.7
9
  * Text Domain: wpforo
10
  * Domain Path: /languages
11
  */
12
 
13
  namespace wpforo;
14
 
15
- define( 'WPFORO_VERSION', '2.0.7' );
16
 
17
  //Exit if accessed directly
18
  if( ! defined( 'ABSPATH' ) ) exit;
@@ -346,7 +346,7 @@ final class wpforo {
346
  }
347
  } );
348
 
349
- if( is_admin() || strpos( $_SERVER['REQUEST_URI'], '/wp-json/' ) === 0 || preg_match( '#^/?(?:([^\s/?&=<>:\'\"*\\\|]*/)(?1)*)?[^\s/?&=<>:\'\"*\\\|]+\.(?:php|js|css|jpe?g|png|gif)/?(?:\?[^/]*)?$#iu', $_SERVER['REQUEST_URI'] ) ) {
350
  add_action( 'init', [ $this, 'init' ], 99 );
351
  add_action( 'admin_init', [ $this, 'admin_init' ] );
352
  } else {
@@ -412,7 +412,12 @@ final class wpforo {
412
  $this->_folders = apply_filters( 'wpforo_init_folders', $this->_folders );
413
  $boardid = ( is_callable( [ $this->board, 'get_current' ] ) ? $this->board->get_current( 'boardid' ) : 0 );
414
  $upload_dir = wp_get_upload_dir();
415
- $this->folders['wp_upload'] = [
 
 
 
 
 
416
  'dir' => $this->fix_dir_sep( $upload_dir['basedir'] ),
417
  'url' => $this->fix_url_sep( $upload_dir['baseurl'] ),
418
  ];
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: 2.0.8
9
  * Text Domain: wpforo
10
  * Domain Path: /languages
11
  */
12
 
13
  namespace wpforo;
14
 
15
+ define( 'WPFORO_VERSION', '2.0.8' );
16
 
17
  //Exit if accessed directly
18
  if( ! defined( 'ABSPATH' ) ) exit;
346
  }
347
  } );
348
 
349
+ if( is_admin() || strpos( $_SERVER['REQUEST_URI'], '/wp-json/' ) === 0 || preg_match( '#^/?(?:([^\s/?&=<>:\'\"*\\\|]*/)(?1)*)?[^\s/?&=<>:\'\"*\\\|]+\.(?:php|js|css|jpe?g|png|gif|bmp|webp|svg|tiff)/?(?:\?[^/]*)?$#iu', $_SERVER['REQUEST_URI'] ) ) {
350
  add_action( 'init', [ $this, 'init' ], 99 );
351
  add_action( 'admin_init', [ $this, 'admin_init' ] );
352
  } else {
412
  $this->_folders = apply_filters( 'wpforo_init_folders', $this->_folders );
413
  $boardid = ( is_callable( [ $this->board, 'get_current' ] ) ? $this->board->get_current( 'boardid' ) : 0 );
414
  $upload_dir = wp_get_upload_dir();
415
+
416
+ // In many cases people leave the website URL protocol as http, but website works with https
417
+ // In this case colors.css and phrases.js are not loaded because of http blocking by browser
418
+ $upload_dir['baseurl'] = is_ssl() ? str_replace( 'http://', 'https://', $upload_dir['baseurl'] ) : $upload_dir['baseurl'];
419
+
420
+ $this->folders['wp_upload'] = [
421
  'dir' => $this->fix_dir_sep( $upload_dir['basedir'] ),
422
  'url' => $this->fix_url_sep( $upload_dir['baseurl'] ),
423
  ];