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 / 2022 / layouts / 3 / forum.php

forum.php in wpForo Forum 3.2.0, at themes/2022/layouts/3/forum.php

207 lines 12.7 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: QA
8 * @url: http://gvectors.com/
9 * @version: 1.0.0
10 * @author: gVectors Team
11 * @description: Q&A Layout turns your forum to a powerful question and answer discussion board.
12 *
13 */
14
15 $cover_styles = wpforo_get_forum_cover_styles( $cat );
16 ?>
17
18 <div class="wpfl-3 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>
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 $sub_forums = WPF()->forum->get_forums( [ "parentid" => $forum['forumid'], "type" => 'forum' ] );
37 $has_sub_forums = is_array( $sub_forums ) && ! empty( $sub_forums );
38
39 $topics = WPF()->topic->get_topics(
40 apply_filters(
41 'wpforo_tpl_l3_forum_loop_intro_topics_get_args',
42 [ "forumid" => $forum['forumid'], "orderby" => "type, modified", "order" => "DESC", "row_count" => wpforo_setting( 'forums', 'layout_qa_intro_topics_count' ) ]
43 )
44 );
45 $has_topics = is_array( $topics ) && ! empty( $topics );
46
47 $data = wpforo_forum( $forum['forumid'], 'childs' );
48 $counts = wpforo_forum( $forum['forumid'], 'counts' );
49
50 $forum_url = wpforo_forum( $forum['forumid'], 'url' );
51 $topic_toglle = wpforo_setting( 'forums', 'layout_qa_intro_topics_toggle' );
52
53 if( ! empty( $forum['icon'] ) ) {
54 $forum['icon'] = trim( (string) $forum['icon'] );
55 if( strpos( (string) $forum['icon'], ' ' ) === false ) $forum['icon'] = 'fas ' . $forum['icon'];
56 }
57 $forum_icon = ( isset( $forum['icon'] ) && $forum['icon'] ) ? $forum['icon'] : 'fas fa-comments';
58 ?>
59
60 <div id="wpf-forum-<?php echo $forum['forumid'] ?>" class="forum-wrap <?php wpforo_unread( $forum['forumid'], 'forum' ) ?>">
61 <div class="wpforo-forum" style="<?php echo ( ! is_rtl() ) ? 'border-left: 3px solid' : 'border-right: 3px solid'; ?> <?php echo esc_attr( $forum['color'] ) ?>">
62 <div class="wpforo-forum-icon"><i class="<?php echo esc_attr( $forum_icon ) ?> wpfcl-0"></i></div>
63 <div class="wpforo-forum-info">
64 <h3 class="wpforo-forum-title"><a href="<?php echo esc_url( (string) $forum_url ) ?>"><?php echo esc_html( $forum['title'] ); ?></a> <?php wpforo_viewing( $forum ); ?></h3>
65 <div class="wpforo-forum-description"><?php echo wp_kses_post( $forum['description'] ) ?></div>
66
67 <?php if( $has_sub_forums ) : ?>
68
69 <div class="wpforo-subforum">
70 <ul>
71 <li class="first"><?php wpforo_phrase( 'Subforums' ) ?>:</li>
72
73 <?php foreach( $sub_forums as $sub_forum ) :
74 if( ! WPF()->perm->forum_can( 'vf', $sub_forum['forumid'] ) ) continue;
75 if( ! empty( $sub_forum['icon'] ) ) {
76 $sub_forum['icon'] = trim( (string) $sub_forum['icon'] );
77 if( strpos( (string) $sub_forum['icon'], ' ' ) === false ) $sub_forum['icon'] = 'fas ' . $sub_forum['icon'];
78 }
79 $sub_forum_icon = ( isset( $sub_forum['icon'] ) && $sub_forum['icon'] ) ? $sub_forum['icon'] : 'fas fa-comments'; ?>
80
81 <li class="<?php wpforo_unread( $sub_forum['forumid'], 'forum' ) ?>"><i class="<?php echo esc_attr( $sub_forum_icon ) ?> wpfcl-0"></i>&nbsp;<a
82 href="<?php echo esc_url( (string) wpforo_forum( $sub_forum['forumid'], 'url' ) ) ?>"><?php echo esc_html(
83 $sub_forum['title']
84 ); ?></a> <?php wpforo_viewing( $sub_forum ); ?></li>
85
86 <?php endforeach; ?>
87
88 </ul>
89 <br class="wpf-clear"/>
90 </div><!-- wpforo-subforum -->
91
92 <?php endif; ?>
93
94 <?php if( $has_topics ) : ?>
95
96 <div class="wpforo-forum-footer">
97 <span class="wpfcl-5"><?php wpforo_phrase( 'Recent Questions' ) ?></span> &nbsp;
98 <i id="img-arrow-<?php echo intval( $forum['forumid'] ) ?>" class="topictoggle fas fa-chevron-<?php echo( $topic_toglle == 1 ? 'up' : 'down' ); ?>"
99 style="color: rgb(67, 166, 223);font-size: 14px; cursor: pointer;"></i> &nbsp;&nbsp;
100 </div>
101
102 <?php endif ?>
103
104 </div><!-- wpforo-forum-info -->
105
106 <div class="wpforo-forum-stat">
107 <div class="wpft-row">
108 <div class="wpft-cell-left"><?php wpforo_phrase( 'Questions' ) ?></div>
109 <div class="wpft-cell-right"><?php echo wpforo_print_number( $counts['topics'] ) ?></div>
110 </div>
111 <div class="wpft-row">
112 <div class="wpft-cell-left"><?php wpforo_phrase( 'Answers' ) ?></div>
113 <div class="wpft-cell-right"><?php echo wpforo_print_number( WPF()->topic->get_sum_answer( $data ) ) ?></div>
114 </div>
115 <div class="wpft-row">
116 <div class="wpft-cell-left"><?php wpforo_phrase( 'Posts' ) ?></div>
117 <div class="wpft-cell-right"><?php echo wpforo_print_number( $counts['posts'] ) ?></div>
118 </div>
119 </div>
120 </div><!-- wpforo-forum -->
121
122 <?php if( $has_topics ) : ?>
123
124 <div class="wpforo-last-topics-<?php echo intval( $forum['forumid'] ) ?>" style="display: <?php echo( $topic_toglle ? 'block' : 'none' ); ?>;">
125 <div class="wpforo-last-topics-tab"></div>
126 <div class="wpforo-last-topics-list">
127 <ul>
128 <?php foreach( $topics as $topic ) : ?>
129 <?php $member = wpforo_member( $topic ); ?>
130 <?php $topic_url = wpforo_topic( $topic['topicid'], 'url' ); ?>
131 <?php if( $topic_url && ! empty( $member ) ): ?>
132 <li class="<?php wpforo_topic_types( $topic );
133 wpforo_unread( $topic['topicid'], 'topic' ) ?>">
134 <div class="wpforo-last-topic wpfcl-2">
135 <div class="wpf-tbox votes <?php if( $topic['answers'] > 0 ) echo "wpfcl-4" ?>" wpf-tooltip="<?php wpforo_phrase( 'Votes' ) ?>" wpf-tooltip-position="top"
136 wpf-tooltip-size="small">
137 <div class="wpforo-label">
138 <svg class="<?php if( $topic['answers'] > 0 ) echo "wpfcl-4" ?>" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
139 <path d="M18.873,11.021H5.127a2.126,2.126,0,0,1-1.568-3.56L10.046.872a2.669,2.669,0,0,1,3.939.034l6.431,6.528a2.126,2.126,0,0,1-1.543,3.587ZM5.011,8.837a.115.115,0,0,0,0,.109.111.111,0,0,0,.114.075H18.873a.111.111,0,0,0,.114-.075.109.109,0,0,0-.022-.135L12.528,2.276A.7.7,0,0,0,12,2.021a.664.664,0,0,0-.5.221L5.01,8.838ZM12,24.011a2.667,2.667,0,0,1-1.985-.887L3.584,16.6a2.125,2.125,0,0,1,1.543-3.586H18.873a2.125,2.125,0,0,1,1.568,3.558l-6.487,6.589A2.641,2.641,0,0,1,12,24.011Zm-6.873-9a.125.125,0,0,0-.092.209l6.437,6.534a.7.7,0,0,0,.528.257.665.665,0,0,0,.5-.223l6.493-6.6h0a.112.112,0,0,0,0-.108.111.111,0,0,0-.114-.074Z"/>
140 </svg>
141 </div>
142 <div class="count"><?php echo intval( $topic['votes'] ) ?></div>
143 </div>
144 <div class="wpf-tbox answers <?php if( $topic['answers'] > 0 ) echo "wpfcl-5" ?>" wpf-tooltip="<?php wpforo_phrase( 'Answers' ) ?>"
145 wpf-tooltip-position="top" wpf-tooltip-size="small">
146 <div class="wpforo-label">
147 <svg class="<?php if( $topic['answers'] > 0 ) echo "wpfcl-5" ?>" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
148 <path d="M12.0867962,18 L6,21.8042476 L6,18 L4,18 C2.8954305,18 2,17.1045695 2,16 L2,4 C2,2.8954305 2.8954305,2 4,2 L20,2 C21.1045695,2 22,2.8954305 22,4 L22,16 C22,17.1045695 21.1045695,18 20,18 L12.0867962,18 Z M8,18.1957524 L11.5132038,16 L20,16 L20,4 L4,4 L4,16 L8,16 L8,18.1957524 Z M11,10.5857864 L15.2928932,6.29289322 L16.7071068,7.70710678 L11,13.4142136 L7.29289322,9.70710678 L8.70710678,8.29289322 L11,10.5857864 Z"
149 fill-rule="evenodd"/>
150 </svg>
151 </div>
152 <div class="count">
153 <?php echo intval( $topic['answers'] ) ?>
154 </div>
155 </div>
156 </div>
157 <div class="wpforo-last-topic-title">
158 <?php wpforo_topic_title( $topic, $topic_url, '{p}{au}{tc}{/a}{n}', true, '', wpforo_setting( 'forums', 'layout_qa_intro_topics_length' ) ) ?>
159 <div class="wpforo-topic-author">
160 <?php if( WPF()->usergroup->can( 'va' ) && wpforo_setting( 'profiles', 'avatars' ) ): ?>
161 <?php echo wpforo_user_avatar( $member, 40 ) ?>
162 <?php endif; ?>
163 <span class="wpforo-last-topic-info wpfcl-2">
164 <?php wpforo_member_link( $member, 'by' ); ?><span class="wpforo-date wpforo-date-ago">, <?php wpforo_date( $topic['modified'] ); ?></span>
165 </span>
166 </div>
167 <div class="wpforo-last-topic-bottom">
168 <span class="wpforo-last-topic-replies wpfcl-2">
169 <i class="fas fa-reply fa-rotate-180"></i> <?php wpforo_phrase( 'replies', true, 'lower' ) ?> <?php echo intval( $topic['posts'] ) ?>
170 </span>
171 <?php wpforo_tags( $topic, true, 'text' ) ?>
172 </div>
173 </div>
174 <div class="wpforo-last-topic-status wpfcl-2 <?php if( $topic['type'] ) echo "wpfbr-l-10" ?> <?php if( $topic['solved'] && ! $topic['type'] ) echo "wpfbr-l-8" ?>">
175 <?php echo str_replace( 'fa-check-circle', 'fas fa-square-check', wpforo_topic_icon( $topic, 'all', true, false ) ) ?>
176 </div>
177 </li>
178 <?php do_action( 'wpforo_tpl_l3_forum_loop_intro_topics_after', $topic, $topic_url, $member, $forum ); ?>
179 <?php endif; ?>
180 <?php endforeach; ?>
181 <?php if( intval( $forum['topics'] ) > wpforo_setting( 'forums', 'layout_qa_intro_topics_count' ) ): ?>
182 <li>
183 <div class="wpforo-last-topic-title wpf-vat">
184 <a href="<?php echo esc_url( (string) $forum_url ) ?>"><?php wpforo_phrase( 'view all questions', true, 'lower' ); ?> <i class="fas fa-angle-right"
185 aria-hidden="true"></i></a>
186 </div>
187 </li>
188 <?php endif ?>
189 </ul>
190 </div><!-- wpforo-last-topics-list -->
191 <br class="wpf-clear"/>
192 </div><!-- wpforo-last-topics -->
193
194 <?php endif; ?>
195
196 </div><!-- forum-wrap -->
197
198 <?php do_action( 'wpforo_loop_hook', $key, $forum ) ?>
199
200 <?php endforeach; ?> <!-- $forums as $forum -->
201
202 <?php if( ! $forum_list ): ?>
203 <?php do_action( 'wpforo_forum_loop_no_forums', $cat ); ?>
204 <?php endif; ?>
205
206 </div>
207