PluginProbe
Forumax – AI Powered Advanced Community Forum Plugin / 1.3.0
Forumax – AI Powered Advanced Community Forum Plugin v1.3.0
2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 trunk 1.0.8 1.1.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 2.0.0 2.1.0 All 29 releases
bbp-core / includes / admin / menu / admin_ui.php

admin_ui.php in Forumax – AI Powered Advanced Community Forum Plugin 1.3.0, at includes/admin/menu/admin_ui.php

172 lines 5.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! class_exists( 'bbPress' ) ) {
3 return;
4 }
5
6 $parent_forums = [];
7 $fcount = wp_count_posts( bbp_get_forum_post_type() );
8 $forum_count = (int) ( $fcount->publish + $fcount->hidden + $fcount->spam );
9 $bbpc_opt = get_option( 'bbp_core_settings' );
10 ?>
11 <div class="wrap">
12 <div class="body-dark">
13 <?php
14 if ( $forum_count > 0 ) :
15 include __DIR__ . '/admin_ui/header.php';
16 ?>
17 <main>
18 <div class="easydocs-sidebar-menu">
19 <div class="tab-container">
20 <?php
21 $forum_query = new WP_Query( [
22 'post_type' => bbp_get_forum_post_type(),
23 'posts_per_page' => -1,
24 'post_parent' => 0,
25 'orderby' => 'menu_order',
26 'order' => 'ASC',
27 'post_status' => 'publish',
28 ] );
29 $count = $forum_query->found_posts;
30 // Left Sidebar Forums.
31 include __DIR__ . '/admin_ui/forums.php';
32 ?>
33 <div class="easydocs-tab-content">
34 <?php
35 $ids = 0;
36 $container = 1;
37 if ( is_array( $parent_forums ) ) :
38 foreach ( $parent_forums as $item ) :
39 $ids ++;
40 $container ++;
41 $active = $ids == 1 ? ' tab-active' : '';
42
43 $children = new WP_Query(
44 [
45 'post_parent' => $item,
46 'post_type' => bbp_get_topic_post_type(),
47 'orderby' => 'menu_order',
48 'order' => 'asc',
49 'posts_per_page' => -1,
50 'post_status' => [ 'any', 'spam' ],
51 ]
52 );
53
54 $count_open = 0;
55 $count_closed = 0;
56 $count_hidden = 0;
57 $count_no_reply = 0;
58 $count_solved = 0;
59 $count_unsolved = 0;
60 $count_trash = 0;
61
62 while ( $children->have_posts() ) : $children->the_post();
63 $topic_id = get_the_ID();
64 $replies = get_children( [
65 'post_parent' => $topic_id,
66 'post_type' => bbp_get_reply_post_type(),
67 'post_status' => [ 'publish', 'draft', 'pending' ],
68 ] );
69
70 // Count open/closed topics.
71 if ( bbp_is_topic_closed( $topic_id ) ) {
72 $count_closed++;
73 } else {
74 $count_open++;
75 }
76
77 // Count spam( hidden ) topics.
78 if ( bbp_is_topic_spam( $topic_id ) || bbp_is_topic_pending( $topic_id ) ) {
79 $count_hidden++;
80 }
81
82 // Replies count.
83 if ( 0 == count( $replies ) ) {
84 $count_no_reply++;
85 }
86
87 // Count solved.
88 // Before using $GLOBALS['bbp_solved_topic'], check if it is set
89 if (isset($GLOBALS['bbp_solved_topic']) && $GLOBALS['bbp_solved_topic']->is_solved($topic_id)) {
90 $count_solved++;
91 } else {
92 $count_unsolved++;
93 }
94 endwhile;
95 wp_reset_postdata();
96
97 $trash_topic = new WP_Query( [
98 'post_parent' => $item,
99 'post_type' => bbp_get_topic_post_type(),
100 'posts_per_page' => -1,
101 'post_status' => [ 'trash' ],
102 ] );
103
104 while ( $trash_topic->have_posts() ) :
105 $trash_topic->the_post();
106 $trash_topic_id = get_the_ID();
107 // Count trash.
108 if ( bbp_is_topic_trash( $trash_topic_id ) ) {
109 $count_trash++;
110 }
111 endwhile;
112 wp_reset_postdata();
113 ?>
114 <div class="easydocs-tab <?php echo esc_attr( $active ); ?>" id="tab-<?php echo esc_attr( $item ); ?>">
115
116 <!-- Tab filters. -->
117 <?php include __DIR__ . '/admin_ui/tab_filters.php'; ?>
118
119 <!-- Children topics. -->
120 <?php include __DIR__ . '/admin_ui/topics.php'; ?>
121
122 <a class="easydocs-btn easydocs-btn-outline-blue easydocs-btn-sm easydocs-btn-round button button-info section-doc" id="bbpc-topic" target="_blank" name="submit" href="javascript:void(0)" bbp_forum_id="<?php echo esc_attr( $item ); ?>">
123 <?php esc_html_e( 'Add Topic', 'bbp-core' ); ?>
124 </a>
125 </div>
126 <?php
127 endforeach;
128 endif;
129 ?>
130 </div>
131 </div>
132 </div>
133 </main>
134 <?php
135 else :
136 ?>
137 <div class="eazydocs-no-content">
138 <img src="<?php echo BBPC_IMG; ?>/icon/folder-open.png" alt="<?php esc_attr_e( 'Folder Open', 'bbp-core' ); ?>">
139 <p class="big-p"> <?php esc_html_e( 'No forum has been found . Perhaps', 'bbp-core' ); ?> </p>
140 <p> <br>
141 <a href="javascript:void(0)" type="button" id="bbpc-forum" class="button button-primary ezd-btn btn-lg">
142 <?php esc_html_e( 'Create Forum', 'bbp-core' ); ?>
143 </a>
144 </p>
145 </div>
146 <?php
147 endif;
148 ?>
149 </div>
150 </div>
151
152 <script>
153 (function ($) {
154 $(document).ready(function () {
155 let docContainer = document.querySelectorAll('.easydocs-tab');
156 var config = {
157 controls: {
158 scope: 'local',
159 },
160 animation: {
161 enable: false,
162 },
163 load: {
164 filter: '<?php echo esc_js( $bbpc_opt['default_filter'] ?? '.open-topics' ); ?>'
165 }
166 };
167 for (let i = 0; i < docContainer.length; i++) {
168 var mixer1 = mixitup(docContainer[i], config);
169 }
170 });
171 })(jQuery);
172 </script>