| 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> <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> |
| 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> |
| 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 |
|