PluginProbe
wpForo Forum / 3.2.0
wpForo Forum v3.2.0
3.2.0 3.1.7 3.1.6 3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 All 140 releases
wpforo / themes / 2026 / layouts / 2 / forum.php

forum.php in wpForo Forum 3.2.0, at themes/2026/layouts/2/forum.php

168 lines 8.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if( ! defined( 'ABSPATH' ) ) exit;
4
5 /**
6 *
7 * @layout: Simplified
8 * @url: http://gvectors.com/
9 * @version: 1.0.0
10 * @author: gVectors Team
11 * @description: Simplified layout looks simple and clean.
12 *
13 */
14
15 $cover_styles = wpforo_get_forum_cover_styles( $cat );
16 ?>
17
18 <div class="wpfl-2 wpforo-section">
19 <div class="wpforo-category" <?php echo $cover_styles['cover'] ?>>
20 <div class="wpforo-cat-panel" <?php echo $cover_styles['blur'] ?>>
21 <div class="cat-title" title="<?php echo esc_attr( strip_tags( $cat['description'] ) ); ?>">
22 <span class="cat-name" <?php echo $cover_styles['title'] ?>><?php echo esc_html( $cat['title'] ); ?></span>
23 </div>
24 <?php if( WPF()->current_object['template'] === 'forum' ) wpforo_template_add_topic_button( $cat['forumid'] ); ?>
25 </div>
26 </div><!-- wpforo-category -->
27
28 <?php if( WPF()->current_object['template'] === 'forum' ) wpforo_template_topic_portable_form( $cat['forumid'] ); ?>
29
30 <?php
31 $forum_list = false;
32 foreach( $forums as $key => $forum ) :
33 if( ! WPF()->perm->forum_can( 'vf', $forum['forumid'] ) ) continue;
34 $forum_list = true;
35
36 if( ! empty( $forum['icon'] ) ) {
37 $forum['icon'] = trim( (string) $forum['icon'] );
38 if( strpos( (string) $forum['icon'], ' ' ) === false ) $forum['icon'] = 'fas ' . $forum['icon'];
39 }
40 $forum_icon = ( isset( $forum['icon'] ) && $forum['icon'] ) ? $forum['icon'] : 'fas fa-comments';
41
42 $sum_of_topics_posts = wpforo_get_sum_of_topics_posts( $forum['forumid'] );
43 ?>
44
45 <div id="wpf-forum-<?php echo $forum['forumid'] ?>" class="forum-wrap <?php wpforo_unread( $forum['forumid'], 'forum' ) ?>">
46 <div class="wpforo-forum">
47 <div class="wpforo-forum-icon">
48 <div style="border: 2px solid <?php echo esc_attr( $forum['color'] ) ?>; border-radius: 50%; width: 44px; height: 44px; display: flex; justify-content: center; align-items: center;">
49 <i class="<?php echo esc_attr( $forum_icon ) ?>" style="color: <?php echo esc_attr( $forum['color'] ) ?>;"></i>
50 </div>
51 </div>
52 <div class="wpforo-forum-info">
53 <h3 class="wpforo-forum-title"><a href="<?php echo esc_url( (string) wpforo_forum( $forum['forumid'], 'url' ) ) ?>"><?php echo esc_html(
54 $forum['title']
55 ); ?></a> <?php wpforo_viewing( $forum ); ?></h3>
56 <div class="wpforo-forum-description"><?php echo wp_kses_post( $forum['description'] ) ?></div>
57 <?php $sub_forums = WPF()->forum->get_forums( [ "parentid" => $forum['forumid'], "type" => 'forum' ] ); ?>
58 <?php if( is_array( $sub_forums ) && ! empty( $sub_forums ) ) : ?>
59
60 <div class="wpforo-subforum">
61 <ul>
62 <li class="first" style="margin-top:1px;"><?php wpforo_phrase( 'Subforums' ); ?>:</li>
63
64 <?php foreach( $sub_forums as $sub_forum ) :
65 if( ! WPF()->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
66 if( ! empty( $sub_forum['icon'] ) ) {
67 $sub_forum['icon'] = trim( (string) $sub_forum['icon'] );
68 if( strpos( (string) $sub_forum['icon'], ' ' ) === false ) $sub_forum['icon'] = 'fas ' . $sub_forum['icon'];
69 }
70 $sub_forum_icon = ( isset( $sub_forum['icon'] ) && $sub_forum['icon'] ) ? $sub_forum['icon'] : 'fas fa-comments'; ?>
71
72 <li class="<?php wpforo_unread( $sub_forum['forumid'], 'forum' ) ?>">
73 <a href="<?php echo esc_url( (string) wpforo_forum( $sub_forum['forumid'], 'url' ) ) ?>" style="border-bottom: 2px solid <?php echo esc_attr( $sub_forum['color'] ) ?>; vertical-align: middle; text-decoration: none; padding-left: 1px;"><?php echo esc_html( $sub_forum['title'] ); ?>&nbsp;&nbsp;</a> <?php wpforo_viewing( $sub_forum ); ?>
74 </li>
75
76 <?php endforeach; ?>
77
78 </ul>
79 <br class="wpf-clear"/>
80 </div><!-- wpforo-subforum -->
81
82 <?php endif; ?>
83
84 </div><!-- wpforo-forum-info -->
85
86 <div class="wpforo-forum-data">
87 <?php if( apply_filters( 'wpforo_layout2_compact_data', true ) ) : ?>
88 <div class="wpf-compact-view">
89 <div class="wpf-compact-left">
90 <div class="wpf-compact-row"><?php wpforo_phrase( 'Topics' ) ?>: <?php echo wpforo_print_number( $sum_of_topics_posts['topics'] ) ?></div>
91 <div class="wpf-compact-row"><?php wpforo_phrase( 'Posts' ) ?>: <?php echo wpforo_print_number( $sum_of_topics_posts['posts'] ) ?></div>
92 </div>
93 <div class="wpf-compact-last-post">
94 <?php if( $last_post = wpforo_post( $forum['last_postid'] ) ) : ?>
95 <?php $last_post_topic = wpforo_topic( $last_post['topicid'] ) ?>
96 <?php $member = wpforo_member( $last_post ) ?>
97 <?php if( WPF()->usergroup->can( 'va' ) && wpforo_setting( 'profiles', 'avatars' ) ): ?>
98 <div class="wpf-cl-avatar">
99 <?php wpforo_member_link( $member, '', 96, '', true, 'avatar' ) ?>
100 </div>
101 <?php endif; ?>
102 <div class="wpf-cl-content">
103 <p class="wpf-cl-title">
104 <?php wpforo_topic_title( $last_post_topic, $last_post['url'], '{p}{au}{tc}{/a}{n}', true, '', 45 ) ?>
105 </p>
106 <p class="wpf-cl-author"><?php wpforo_member_link( $member, 'by' ); ?><span class="wpforo-date wpforo-date-ago">, <?php wpforo_date( $forum['last_post_date'] ) ?></span></p>
107 </div>
108 <?php else: ?>
109 <div class="wpf-cl-content">
110 <p class="wpf-cl-title"><?php wpforo_phrase( 'Forum is empty' ); ?></p>
111 </div>
112 <?php endif ?>
113 </div>
114 </div>
115 <?php else : ?>
116 <?php $show_last_post = apply_filters( 'wpforo_layout2_always_show_last_post', false ); ?>
117 <div class="wpforo-forum-details<?php if( $show_last_post ) echo ' wpf-always-last-post'; ?>">
118 <div class="wpf-stat-box">
119 <div class="wpf-sbl"><?php wpforo_phrase( 'Topics' ) ?></div>
120 <div class="wpf-sbd"><?php echo wpforo_print_number( $sum_of_topics_posts['topics'] ) ?></div>
121 </div>
122 <div class="wpf-stat-box">
123 <div class="wpf-sbl"><?php wpforo_phrase( 'Posts' ); ?></div>
124 <div class="wpf-sbd"><?php echo wpforo_print_number( $sum_of_topics_posts['posts'] ) ?></div>
125 </div>
126 <div class="wpf-stat-box">
127 <div class="wpf-sbl"><?php wpforo_phrase( 'Members' ); ?></div>
128 <div class="wpf-sbd wpf-sbd-avatar"><?php wpforo_l2_forum_users( $forum ) ?></div>
129 </div>
130 <div class="wpforo-last-post-info">
131 <?php if( $last_post = wpforo_post( $forum['last_postid'] ) ) : ?>
132 <?php $last_post_topic = wpforo_topic( $last_post['topicid'] ) ?>
133 <?php $member = wpforo_member( $last_post ) ?>
134 <?php if( WPF()->usergroup->can( 'va' ) && wpforo_setting( 'profiles', 'avatars' ) ): ?>
135 <div class="wpforo-last-post-avatar">
136 <?php wpforo_member_link( $member, '', 96, '', true, 'avatar' ) ?>
137 </div>
138 <?php endif; ?>
139 <div class="wpforo-last-post">
140 <p class="wpforo-last-post-title">
141 <?php wpforo_topic_title( $last_post_topic, $last_post['url'], '{p}{au}{tc}{/a}{n}', true, '', 60 ) ?>
142 </p>
143 <p class="wpforo-last-post-author"><?php wpforo_member_link( $member, 'by' ); ?><span class="wpforo-date wpforo-date-ago">, <?php wpforo_date( $forum['last_post_date'] ) ?></span></p>
144 </div>
145 <?php else: ?>
146 <div class="wpforo-last-post">
147 <p class="wpforo-last-post-title"><?php wpforo_phrase( 'Forum is empty' ); ?></p>
148 </div>
149 <?php endif ?>
150 </div>
151 </div>
152 <?php endif; ?>
153 </div>
154
155 </div><!-- wpforo-forum -->
156 </div><!-- forum-wrap -->
157
158 <?php do_action( 'wpforo_loop_hook', $key, $forum ) ?>
159
160 <?php endforeach; ?> <!-- $forums as $forum -->
161
162 <?php if( ! $forum_list ): ?>
163 <?php do_action( 'wpforo_forum_loop_no_forums', $cat ); ?>
164 <?php endif; ?>
165
166 </div><!-- wpfl-2 -->
167
168