wpForo Forum - Version 1.4.5

Version Description

Download this release

Release Info

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

Code changes from version 1.4.4.1 to 1.4.5

readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: gVectors Team
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 4.9
6
- Stable tag: 1.4.4.1
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -34,7 +34,7 @@ Forum Documentation: [https://wpforo.com/documentation/](https://wpforo.com/docu
34
 
35
  = Available Forum Translations =
36
 
37
- **Czech** forum by Glados (The Witcher), **Dutch** forum by Ger Metselaar i.o.v. Parma multimedia BV, **French** forum by J. Coopmann, F. Lanternier, Y. Le Cottier, **French** forum by Alain Bergevin, **German** forum by Markus Herrmann, Pascal Feiler, **Hebrew** forum by Gal Zilberman, **Japanese** forum by Seg Way, **Persian** forum by wpforo.ir, **Portuguese** (Brazil) forum by Lucas Felix, **Polish** forum by Bogusław Górecki, **Russian** forum by Dmitry Butkevich, **Spanish** forum by Ignacio Sancho(ISANlab), **Spanish** forum (Mexico) by Poncho Camacho, **Swedish** forum by Mathias Persson, **Korean** forum by Jeehwan Song, **Czech** forum by Pavel Polívka.
38
 
39
  = FORUM FEATURES =
40
 
@@ -144,12 +144,19 @@ Find wpForo forum plugin addons on [gVectors Team website...](https://gvectors.c
144
 
145
  == Changelog ==
146
 
147
- = wpForo Forum 1.4.4 / 1.4.4.1 | 10.01.2018 =
148
 
 
149
  [wpForo v1.4.4 / 1.4.4.1 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-4-is-released/)
150
 
151
  IMPORTANT: If you're updating from 1.4.2 or lower versions and you have customized wpforo template files in WordPress active theme's /wpforo/ folder, please remove those before updating. wpForo 1.4.4 doesn't support old template files.
152
 
 
 
 
 
 
 
153
  * Added: Guest Posting
154
  * Added: Guest can subscribe to topics and forums
155
  * Added: Guest can edit own topics and posts
3
  Tags: forum, forums, forum plugin, WordPress forum plugin, community, discussion
4
  Requires at least: 4.1
5
  Tested up to: 4.9
6
+ Stable tag: 1.4.5
7
  Requires PHP: 5.4 and higher
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
34
 
35
  = Available Forum Translations =
36
 
37
+ **Czech** , **Dutch**, **French**, **French**, **German**, **Hebrew**, **Japanese**, **Persian**, **Portuguese**, **Polish**, **Russian**, **Spanish** , **Spanish** , **Swedish**, **Korean**.
38
 
39
  = FORUM FEATURES =
40
 
144
 
145
  == Changelog ==
146
 
147
+ = wpForo Forum 1.4.4 / 1.4.4.1 / 1.4.5 | 11.01.2018 =
148
 
149
+ [wpForo v1.4.5 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-5-is-released/)
150
  [wpForo v1.4.4 / 1.4.4.1 Release Summary](https://wpforo.com/community/wpforo-announcements/wpforo-1-4-4-is-released/)
151
 
152
  IMPORTANT: If you're updating from 1.4.2 or lower versions and you have customized wpforo template files in WordPress active theme's /wpforo/ folder, please remove those before updating. wpForo 1.4.4 doesn't support old template files.
153
 
154
+ * 1.4.5
155
+ * Added: Option in Usergroup settings to display / Hide on Members list
156
+ * Changed: Recent Posts topic view
157
+ * Fixed Bug: Avatar size in widget
158
+ * ---------------
159
+ * 1.4.4 / 1.4.4.1
160
  * Added: Guest Posting
161
  * Added: Guest can subscribe to topics and forums
162
  * Added: Guest can edit own topics and posts
wpf-admin/usergroup.php CHANGED
@@ -128,20 +128,23 @@
128
  </select>
129
  </div>
130
  <?php endif; ?>
131
- <?php if( !isset( $_GET['gid'] ) ): ?>
132
  <div style="display:block; float:left; width:40%;">
133
- <div class="wpf-label-big"><?php _e('Default Forum Access', 'wpforo') ?></div>
134
- <select name="usergroup[access]" style="background:#FDFDFD; display:block;">
135
- <?php $accesses = WPF()->perm->get_accesses(); ?>
136
- <?php foreach( $accesses as $accesse ): ?>
137
- <option value="<?php echo esc_attr($accesse['access']) ?>" <?php if( $accesse['access'] == 'standard' ) echo ' selected="selected"'; ?>><?php echo esc_html($accesse['title']) ?></option>
138
- <?php endforeach ?>
139
- </select>
140
- <div class="wpf-info" style="line-height:17px; display:block; margin-top:6px;">
141
- <?php _e('This is only used when a new Usergroup is created, it automatically gets the selected Forum Access in all forums.', 'wpforo') ?>
142
- </div>
 
 
 
 
 
143
  </div>
144
- <?php endif; ?>
145
  <div style="clear:both;"></div>
146
  </div>
147
 
128
  </select>
129
  </div>
130
  <?php endif; ?>
 
131
  <div style="display:block; float:left; width:40%;">
132
+ <?php if( !isset( $_GET['gid'] ) ): ?>
133
+ <div class="wpf-label-big"><?php _e('Default Forum Access', 'wpforo') ?></div>
134
+ <select name="usergroup[access]" style="background:#FDFDFD; display:block;">
135
+ <?php $accesses = WPF()->perm->get_accesses(); ?>
136
+ <?php foreach( $accesses as $accesse ): ?>
137
+ <option value="<?php echo esc_attr($accesse['access']) ?>" <?php if( $accesse['access'] == 'standard' ) echo ' selected="selected"'; ?>><?php echo esc_html($accesse['title']) ?></option>
138
+ <?php endforeach ?>
139
+ </select>
140
+ <div class="wpf-info" style="line-height:17px; display:block; margin-top:6px;">
141
+ <?php _e('This is only used when a new Usergroup is created, it automatically gets the selected Forum Access in all forums.', 'wpforo') ?>
142
+ </div>
143
+ <?php endif; ?>
144
+ <div style="padding: 10px 1px 5px 1px;">
145
+ <label><?php _e('Display on Members List', 'wpforo') ?> <input type="checkbox" name="usergroup[visible]" value="1" <?php echo ( $group['visible'] ) ? 'checked="checked"' : ''; ?> /> </label>
146
+ </div>
147
  </div>
 
148
  <div style="clear:both;"></div>
149
  </div>
150
 
wpf-includes/class-members.php CHANGED
@@ -634,7 +634,8 @@ class wpForoMember{
634
  'orderby' => 'userid', //
635
  'order' => 'ASC', // ASC DESC
636
  'offset' => 0, // OFFSET
637
- 'row_count' => NULL // ROW COUNT
 
638
  );
639
 
640
  $args = wpforo_parse_args( $args, $default );
@@ -648,11 +649,12 @@ class wpForoMember{
648
  INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`
649
  LEFT JOIN `".WPF()->db->prefix."wpforo_usergroups` ug ON ug.`groupid` = p.`groupid`";
650
  $wheres = array();
651
- if(!empty($include)) $wheres[] = "u.`ID` IN(" . implode(', ', array_map('intval', $include)) . ")";
652
- if(!empty($exclude)) $wheres[] = "u.`ID` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
653
- if(!empty($status)) $wheres[] = " p.`status` IN('" . implode("','", array_map('esc_sql', array_map('sanitize_text_field', $status)) ) . "')";
654
- if( !is_null($groupid) ) $wheres[] = "p.`groupid` = " . intval($groupid);
655
- if( !is_null($online_time) ) $wheres[] = "p.`online_time` > " . intval($online_time);
 
656
 
657
  if(!empty($wheres)) $sql .= " WHERE " . implode($wheres, " AND ");
658
 
634
  'orderby' => 'userid', //
635
  'order' => 'ASC', // ASC DESC
636
  'offset' => 0, // OFFSET
637
+ 'row_count' => NULL, // ROW COUNT
638
+ 'groupids' => array(), // array( 1, 2 )
639
  );
640
 
641
  $args = wpforo_parse_args( $args, $default );
649
  INNER JOIN `".WPF()->db->prefix."wpforo_profiles` p ON p.`userid` = u.`ID`
650
  LEFT JOIN `".WPF()->db->prefix."wpforo_usergroups` ug ON ug.`groupid` = p.`groupid`";
651
  $wheres = array();
652
+ if(!empty($include)) $wheres[] = " u.`ID` IN(" . implode(', ', array_map('intval', $include)) . ")";
653
+ if(!empty($exclude)) $wheres[] = " u.`ID` NOT IN(" . implode(', ', array_map('intval', $exclude)) . ")";
654
+ if(!empty($status)) $wheres[] = " p.`status` IN('" . implode("','", array_map('esc_sql', array_map('sanitize_text_field', $status)) ) . "')";
655
+ if(!empty($groupids)) $wheres[] = " p.`groupid` IN(" . implode(', ', array_map('intval', $groupids)) . ")";
656
+ if(!is_null($groupid)) $wheres[] = " p.`groupid` = " . intval($groupid);
657
+ if(!is_null($online_time)) $wheres[] = " p.`online_time` > " . intval($online_time);
658
 
659
  if(!empty($wheres)) $sql .= " WHERE " . implode($wheres, " AND ");
660
 
wpf-includes/class-usergroups.php CHANGED
@@ -77,7 +77,7 @@ class wpForoUsergroup{
77
  return $ugdata;
78
  }
79
 
80
- function add($title, $cans = array(), $description = '', $role = 'subscriber', $access = 'standard', $color = '' ){
81
  $i = 2;
82
  $real_title = $title;
83
  while( WPF()->db->get_var(
@@ -100,7 +100,8 @@ class wpForoUsergroup{
100
  'utitle' => sanitize_text_field($real_title),
101
  'role' => $role,
102
  'access' => $access,
103
- 'color' => $color
 
104
  ),
105
  array(
106
  '%s',
@@ -109,7 +110,8 @@ class wpForoUsergroup{
109
  '%s',
110
  '%s',
111
  '%s',
112
- '%s'
 
113
  )
114
  )
115
  ){
@@ -135,7 +137,7 @@ class wpForoUsergroup{
135
  return FALSE;
136
  }
137
 
138
- function edit( $groupid, $title, $cans, $description = '', $role = NULL, $access = NULL, $color = '' ){
139
 
140
  if( $groupid == 1 ) return false;
141
  if( !current_user_can('administrator') ){
@@ -157,7 +159,8 @@ class wpForoUsergroup{
157
  'utitle' => $usergroup['utitle'],
158
  'role' => $role,
159
  'access' => $access,
160
- 'color' => $color
 
161
  ),
162
  array( 'groupid' => intval($groupid) ),
163
  array(
@@ -167,7 +170,8 @@ class wpForoUsergroup{
167
  '%s',
168
  '%s',
169
  '%s',
170
- '%s'
 
171
  ),
172
  array( '%d' ))
173
  ){
@@ -260,4 +264,10 @@ class wpForoUsergroup{
260
  echo '<option value="'.esc_attr($ugroup['groupid']).'" '.($groupid == $ugroup['groupid'] ? 'selected' : '').'>' . esc_html( __($ugroup['name'], 'wpforo') ) . '</option>';
261
  }
262
  }
 
 
 
 
 
 
263
  }
77
  return $ugdata;
78
  }
79
 
80
+ function add($title, $cans = array(), $description = '', $role = 'subscriber', $access = 'standard', $color = '', $visible = 1 ){
81
  $i = 2;
82
  $real_title = $title;
83
  while( WPF()->db->get_var(
100
  'utitle' => sanitize_text_field($real_title),
101
  'role' => $role,
102
  'access' => $access,
103
+ 'color' => $color,
104
+ 'visible' => $visible
105
  ),
106
  array(
107
  '%s',
110
  '%s',
111
  '%s',
112
  '%s',
113
+ '%s',
114
+ '%d'
115
  )
116
  )
117
  ){
137
  return FALSE;
138
  }
139
 
140
+ function edit( $groupid, $title, $cans, $description = '', $role = NULL, $access = NULL, $color = '', $visible = 1 ){
141
 
142
  if( $groupid == 1 ) return false;
143
  if( !current_user_can('administrator') ){
159
  'utitle' => $usergroup['utitle'],
160
  'role' => $role,
161
  'access' => $access,
162
+ 'color' => $color,
163
+ 'visible' => $visible
164
  ),
165
  array( 'groupid' => intval($groupid) ),
166
  array(
170
  '%s',
171
  '%s',
172
  '%s',
173
+ '%s',
174
+ '%d'
175
  ),
176
  array( '%d' ))
177
  ){
264
  echo '<option value="'.esc_attr($ugroup['groupid']).'" '.($groupid == $ugroup['groupid'] ? 'selected' : '').'>' . esc_html( __($ugroup['name'], 'wpforo') ) . '</option>';
265
  }
266
  }
267
+
268
+ function get_visible_usergroup_ids(){
269
+ return $results = WPF()->db->get_col("SELECT `groupid` FROM `".WPF()->db->prefix."wpforo_usergroups` WHERE `visible` = 1");
270
+
271
+ }
272
+
273
  }
wpf-includes/functions-installation.php CHANGED
@@ -503,8 +503,8 @@ function wpforo_activation(){
503
  if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` DROP KEY `userid`" );
504
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` ADD UNIQUE KEY `unique_vote` (`userid`, `postid`, `reaction`)" );
505
  }
506
-
507
- //Add user_name col in subsciption table
508
  $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'user_name', 'check' => 'col_exists' );
509
  if( !wpforo_db_check( $args ) ){
510
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD `user_name` VARCHAR(255) NOT NULL DEFAULT ''" );
@@ -521,6 +521,12 @@ function wpforo_activation(){
521
  if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` DROP KEY `itemid`" );
522
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD UNIQUE KEY `fld_group_unq`( `itemid`, `type`, `userid`, `user_email` )" );
523
  }
 
 
 
 
 
 
524
 
525
 
526
  #################################################################
503
  if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` DROP KEY `userid`" );
504
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_votes` ADD UNIQUE KEY `unique_vote` (`userid`, `postid`, `reaction`)" );
505
  }
506
+ #################################################################
507
+ //Add user_name col in subsciption table///////////////////////////
508
  $args = array( 'table' => $wpdb->prefix . 'wpforo_subscribes', 'col' => 'user_name', 'check' => 'col_exists' );
509
  if( !wpforo_db_check( $args ) ){
510
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD `user_name` VARCHAR(255) NOT NULL DEFAULT ''" );
521
  if( wpforo_db_check( $args ) ) @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` DROP KEY `itemid`" );
522
  @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_subscribes` ADD UNIQUE KEY `fld_group_unq`( `itemid`, `type`, `userid`, `user_email` )" );
523
  }
524
+ #################################################################
525
+ // ADD `visible` field in usergroups TABLE ///////////////////////////
526
+ $args = array( 'table' => $wpdb->prefix . 'wpforo_usergroups', 'col' => 'visible', 'check' => 'col_exists' );
527
+ if( !wpforo_db_check( $args ) ){
528
+ @$wpdb->query( "ALTER TABLE `" . $wpdb->prefix . "wpforo_usergroups` ADD `visible` TINYINT(1) NOT NULL DEFAULT 1;" );
529
+ }
530
 
531
 
532
  #################################################################
wpf-includes/install-sql.php CHANGED
@@ -151,7 +151,9 @@
151
  `role` VARCHAR(50) NOT NULL DEFAULT '',
152
  `access` VARCHAR(50) NOT NULL DEFAULT '',
153
  `color` varchar(7) NOT NULL DEFAULT '',
 
154
  PRIMARY KEY (`groupid`),
 
155
  UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
156
  ) ENGINE=MyISAM $charset_collate;",
157
  "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_languages`(
151
  `role` VARCHAR(50) NOT NULL DEFAULT '',
152
  `access` VARCHAR(50) NOT NULL DEFAULT '',
153
  `color` varchar(7) NOT NULL DEFAULT '',
154
+ `visible` tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
155
  PRIMARY KEY (`groupid`),
156
+ KEY `visible` (`visible`),
157
  UNIQUE KEY `UNIQUE_GROUP_NAME` (`name`(191))
158
  ) ENGINE=MyISAM $charset_collate;",
159
  "CREATE TABLE IF NOT EXISTS `".WPF()->db->prefix."wpforo_languages`(
wpf-includes/wpf-actions.php CHANGED
@@ -616,7 +616,8 @@ function wpforo_actions(){
616
  $insert_usergroup_role = sanitize_text_field($_POST['usergroup']['role']);
617
  $insert_usergroup_access = sanitize_text_field($_POST['usergroup']['access']);
618
  $insert_usergroup_color = ( isset($_POST['wpfugc']) && $_POST['wpfugc'] ) ? '' : sanitize_text_field($_POST['usergroup']['color']);
619
- $insert_usergroup_id = WPF()->usergroup->add( $insert_usergroup_name, $board_cans, '', $insert_usergroup_role, $insert_usergroup_access, $insert_usergroup_color );
 
620
  if(isset($$insert_usergroup_id)) wpforo_clean_cache( $insert_usergroup_id, 'loop' );
621
  wp_redirect( admin_url( 'admin.php?page=wpforo-usergroups' ) );
622
  exit();
@@ -625,7 +626,8 @@ function wpforo_actions(){
625
  $insert_usergroup_name = sanitize_text_field($_POST['usergroup']['name']);
626
  $insert_usergroup_role = sanitize_text_field($_POST['usergroup']['role']);
627
  $insert_usergroup_color = ( isset($_POST['wpfugc']) && $_POST['wpfugc'] ) ? '' : sanitize_text_field($_POST['usergroup']['color']);
628
- WPF()->usergroup->edit( $insert_usergroup_id, $insert_usergroup_name, $board_cans, '', $insert_usergroup_role, NULL, $insert_usergroup_color );
 
629
  if(isset($insert_usergroup_id)) wpforo_clean_cache( $insert_usergroup_id, 'loop' );
630
  wp_redirect( admin_url( 'admin.php?page=wpforo-usergroups' ) );
631
  exit();
616
  $insert_usergroup_role = sanitize_text_field($_POST['usergroup']['role']);
617
  $insert_usergroup_access = sanitize_text_field($_POST['usergroup']['access']);
618
  $insert_usergroup_color = ( isset($_POST['wpfugc']) && $_POST['wpfugc'] ) ? '' : sanitize_text_field($_POST['usergroup']['color']);
619
+ $insert_usergroup_visible = intval($_POST['usergroup']['visible']);
620
+ $insert_usergroup_id = WPF()->usergroup->add( $insert_usergroup_name, $board_cans, '', $insert_usergroup_role, $insert_usergroup_access, $insert_usergroup_color, $insert_usergroup_visible );
621
  if(isset($$insert_usergroup_id)) wpforo_clean_cache( $insert_usergroup_id, 'loop' );
622
  wp_redirect( admin_url( 'admin.php?page=wpforo-usergroups' ) );
623
  exit();
626
  $insert_usergroup_name = sanitize_text_field($_POST['usergroup']['name']);
627
  $insert_usergroup_role = sanitize_text_field($_POST['usergroup']['role']);
628
  $insert_usergroup_color = ( isset($_POST['wpfugc']) && $_POST['wpfugc'] ) ? '' : sanitize_text_field($_POST['usergroup']['color']);
629
+ $insert_usergroup_visible = intval($_POST['usergroup']['visible']);
630
+ WPF()->usergroup->edit( $insert_usergroup_id, $insert_usergroup_name, $board_cans, '', $insert_usergroup_role, NULL, $insert_usergroup_color, $insert_usergroup_visible );
631
  if(isset($insert_usergroup_id)) wpforo_clean_cache( $insert_usergroup_id, 'loop' );
632
  wp_redirect( admin_url( 'admin.php?page=wpforo-usergroups' ) );
633
  exit();
wpf-themes/classic/index.php CHANGED
@@ -55,7 +55,8 @@
55
  'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
56
  'row_count' => WPF()->post->options['posts_per_page'],
57
  'orderby' => 'posts',
58
- 'order' => 'DESC'
 
59
  );
60
  if(!empty($users_include)) $args['include'] = $users_include;
61
  $items_count = 0;
55
  'offset' => ($paged - 1) * WPF()->post->options['posts_per_page'],
56
  'row_count' => WPF()->post->options['posts_per_page'],
57
  'orderby' => 'posts',
58
+ 'order' => 'DESC',
59
+ 'groupids' => WPF()->usergroup->get_visible_usergroup_ids()
60
  );
61
  if(!empty($users_include)) $args['include'] = $users_include;
62
  $items_count = 0;
wpf-themes/classic/widgets-rtl.css CHANGED
@@ -42,7 +42,7 @@
42
  #wpf-widget-forums .wpforo-widget-content dl{ display:block; padding:0px; margin:0px;}
43
  #wpf-widget-forums .wpforo-widget-content dd{ display:block; margin-right:15px;}
44
  #wpf-widget-forums .wpforo-widget-content dd.wpf-dl-current a{ font-size:16px;}
45
- .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left img {max-width: 3vw; width: 100%; height: 3vw;}
46
 
47
  /******************************************************/
48
  /********************* Addons Widgets *****************/
42
  #wpf-widget-forums .wpforo-widget-content dl{ display:block; padding:0px; margin:0px;}
43
  #wpf-widget-forums .wpforo-widget-content dd{ display:block; margin-right:15px;}
44
  #wpf-widget-forums .wpforo-widget-content dd.wpf-dl-current a{ font-size:16px;}
45
+ .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left img{ width:3vw; height:3vw; max-width:100%!important;}
46
 
47
  /******************************************************/
48
  /********************* Addons Widgets *****************/
wpf-themes/classic/widgets.css CHANGED
@@ -27,7 +27,7 @@
27
  .wpforo-widget-wrap .wpforo-widget-content .avatar{border-radius: 50%;}
28
  .wpforo-widget-wrap .wpforo-widget-content .wpf-widget-note{ font-size:13px; line-height:18px;}
29
  .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left{float:left; width:16%;}
30
- .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left img{ width:100%; height:3vw; max-width:3vw;}
31
  .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-right{float:right; width:80%;}
32
  #wpforo-wrap .wpforo-widget-wrap .wpforo-widget-content li:last-child{border:none;}
33
  #wpf-widget-recent-replies .wpforo-list-item-right p.posttitle{font-size:14px; padding:0px; margin:0px; line-height:18px; font-weight:normal;}
27
  .wpforo-widget-wrap .wpforo-widget-content .avatar{border-radius: 50%;}
28
  .wpforo-widget-wrap .wpforo-widget-content .wpf-widget-note{ font-size:13px; line-height:18px;}
29
  .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left{float:left; width:16%;}
30
+ .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-left img{ width:3vw; height:3vw; max-width:100%!important;}
31
  .wpforo-widget-wrap .wpforo-widget-content .wpforo-list-item-right{float:right; width:80%;}
32
  #wpforo-wrap .wpforo-widget-wrap .wpforo-widget-content li:last-child{border:none;}
33
  #wpf-widget-recent-replies .wpforo-list-item-right p.posttitle{font-size:14px; padding:0px; margin:0px; line-height:18px; font-weight:normal;}
wpforo.php CHANGED
@@ -5,14 +5,14 @@
5
  * Description: WordPress Foum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
6
  * Author: gVectors Team (A. Chakhoyan, R. Hovhannisyan)
7
  * Author URI: https://gvectors.com/
8
- * Version: 1.4.4.1
9
  * Text Domain: wpforo
10
  * Domain Path: /wpf-languages
11
  */
12
 
13
  //Exit if accessed directly
14
  if( !defined( 'ABSPATH' ) ) exit;
15
- if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.4.4.1');
16
 
17
  function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
18
  add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );
5
  * Description: WordPress Foum plugin. wpForo is a full-fledged forum solution for your community. Comes with multiple modern forum layouts.
6
  * Author: gVectors Team (A. Chakhoyan, R. Hovhannisyan)
7
  * Author URI: https://gvectors.com/
8
+ * Version: 1.4.5
9
  * Text Domain: wpforo
10
  * Domain Path: /wpf-languages
11
  */
12
 
13
  //Exit if accessed directly
14
  if( !defined( 'ABSPATH' ) ) exit;
15
+ if( !defined( 'WPFORO_VERSION' ) ) define('WPFORO_VERSION', '1.4.5');
16
 
17
  function wpforo_load_plugin_textdomain() { load_plugin_textdomain( 'wpforo', FALSE, basename( dirname( __FILE__ ) ) . '/wpf-languages/' ); }
18
  add_action( 'plugins_loaded', 'wpforo_load_plugin_textdomain' );