PluginProbe
Forumax – AI Powered Advanced Community Forum Plugin / 2.5.0
Forumax – AI Powered Advanced Community Forum Plugin v2.5.0
2.5.1 2.5.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 All 31 releases
← All changes | includes/admin/menu/admin_ui/topics.php +87 -47 1.3.2 → 2.5.0 View file →
@@ -14,16 +14,16 @@
14 14
15 15 $pending_replies = [];
16 16
17 17 $no_reply = 0 == $replies->found_posts ? 'no-reply' : '';
18 - $is_solved = isset($GLOBALS['bbp_solved_topic']) && $GLOBALS['bbp_solved_topic']->is_solved( $current_topic_id ) ? ' solved' : ' unsolved';
18 + $is_solved = isset($GLOBALS['forumax_solve_topic']) && $GLOBALS['forumax_solve_topic']->is_solved( $current_topic_id ) ? ' solved' : ' unsolved';
19 19 $is_open = bbp_is_topic_closed( $current_topic_id ) ? ' closed-topics' : ' open-topics';
20 20 $is_hidden = bbp_is_topic_spam( $current_topic_id ) || bbp_is_topic_pending( $current_topic_id ) ? ' hidden-topics' : '';
21 21 $approve_btn = '';
22 22
23 23 if ( bbp_is_topic_spam( $current_topic_id ) ) {
24 - $url = admin_url( 'admin.php' ) . '/Approve_Topic.php?bbpc_approve_topic_id=' . $current_topic_id;
25 - $approve_btn = sprintf( '<a class="bbpc-approve-btn" href=%1$s><span class="dashicons dashicons-yes" title="%2$s"></span></a>', $url, __( 'Approve this topic', 'bbp-core' ) );
24 + $url = wp_nonce_url( admin_url( 'admin.php?bbpc_approve_topic_id=' . $current_topic_id ), 'bbpc_approve_topic_' . $current_topic_id );
25 + $approve_btn = sprintf( '<a class="bbpc-approve-btn" href="%1$s"><span class="dashicons dashicons-yes" title="%2$s"></span></a>', esc_url( $url ), esc_attr__( 'Approve this Topic', 'forumax' ) );
26 26 }
27 27
28 28 $filter_class = $no_reply . $is_solved . $is_open . $is_hidden;
29 29
@@ -43,14 +43,14 @@
43 43 <span class="topic-status">
44 44 <?php
45 45 // Return the Topic status icon Open, Close, Hidden (spam & pending) and which topic has No reply, is Resolved, is Unresolved.
46 46 if ( bbp_is_topic_closed( $current_topic_id ) ) {
47 - echo '<span class="dashicons dashicons-dismiss" title="'.esc_attr__('Status: Closed.', 'bbp-core').'"></span>';
47 + echo '<span class="dashicons dashicons-dismiss" title="'.esc_attr__('Status: Closed.', 'forumax').'"></span>';
48 48 } elseif ( bbp_is_topic_spam( $current_topic_id ) || bbp_is_topic_pending( $current_topic_id ) ) {
49 - $hidden_status = bbp_is_topic_spam( $current_topic_id ) ? 'Spam' : 'Pending';
50 - echo '<span class="dashicons dashicons-hidden" title="'.$hidden_status.esc_attr__('Status: Topic', 'bbp-core').'"></span>';
49 + $hidden_status = bbp_is_topic_spam( $current_topic_id ) ? 'Spam ' : 'Pending ';
50 + echo '<span class="dashicons dashicons-hidden" title="' . esc_attr( $hidden_status . __( 'Status: Topic', 'forumax' ) ) . '"></span>';
51 51 } elseif ( bbp_is_topic_open( $current_topic_id ) ) {
52 - ?> <img src="<?php echo BBPC_IMG ?>icon/open.svg" alt="<?php esc_attr_e( 'Open icon', 'bbp-core' ) ?>" title="<?php echo esc_attr__( 'Open Topic', 'bbp-core' ) ?>"> <?php
52 + ?> <img src="<?php echo esc_url( FORUMAX_IMG . 'icon/open.svg' ); ?>" alt="<?php esc_attr_e( 'Open icon', 'forumax' ) ?>" title="<?php echo esc_attr__( 'Open Topic', 'forumax' ) ?>"> <?php
53 53 } else {
54 54 echo '<span class="dashicons dashicons-info-outline"></span>';
55 55 }
56 56 ?>
@@ -58,53 +58,86 @@
58 58 <h4>
59 59 <a href="<?php echo esc_attr( $edit_link ); ?>" target="<?php echo esc_attr( $target ); ?>">
60 60 <?php the_title(); ?>
61 61 </a>
62 - <?php
63 - $allowed_html = [
64 - 'a' => [
65 - 'href' => [],
66 - 'class' => [],
67 - ],
68 - 'span' => [
69 - 'class' => [],
70 - 'title' => [],
71 - ],
72 - ];
62 + </h4>
63 + <!-- Topic Author -->
64 + <span class="bbpc-author-name">
65 + <?php
66 + esc_html_e( '&nbsp; By: ', 'forumax' );
73 67
74 - echo wp_kses( $approve_btn, $allowed_html );
68 + echo wp_kses_post(
69 + bbp_get_topic_author_link(
70 + array(
71 + 'post_id' => get_the_ID(),
72 + 'type' => 'name',
73 + )
74 + )
75 + );
76 + ?>
77 + </span>
75 78
76 - while ( $replies->have_posts() ) :
77 - $replies->the_post();
78 - $reply_id = get_the_ID();
79 + <?php
80 + // Pending replies count and Approve button
81 + $allowed_html = [
82 + 'a' => [
83 + 'href' => [],
84 + 'class' => [],
85 + ],
86 + 'span' => [
87 + 'class' => [],
88 + 'title' => [],
89 + ],
90 + ];
79 91
80 - if ( bbp_is_reply_pending( $reply_id ) ) {
81 - $pending_replies[] = $reply_id;
82 - }
92 + echo wp_kses( $approve_btn, $allowed_html );
83 93
84 - endwhile;
85 - wp_reset_postdata();
94 + while ( $replies->have_posts() ) :
95 + $replies->the_post();
96 + $reply_id = get_the_ID();
86 97
98 + if ( bbp_is_reply_pending( $reply_id ) ) {
99 + $pending_replies[] = $reply_id;
100 + }
87 101
88 - $pending_replies_count = count( $pending_replies );
89 - $reply_count = $replies->found_posts - $pending_replies_count;
90 - ?>
91 - <div title="<?php echo esc_attr( $reply_count ) . __( ' Published replies', 'bbp-core' ); ?>">
92 - <span class="bbpc-reply-count bbpc-published-replies">
93 - <?php echo esc_html( $reply_count ); ?>
94 - </span>
102 + endwhile;
103 + wp_reset_postdata();
104 +
105 + $pending_replies_count = count( $pending_replies );
106 + $reply_count = $replies->found_posts - $pending_replies_count;
107 + ?>
108 + <div
109 + title="<?php echo esc_attr( sprintf(
110 + /* translators: %d: Number of published replies */
111 + __( '%d Published replies', 'forumax' ),
112 + $reply_count
113 + ) ); ?>">
114 +
115 + <span class="bbpc-reply-count bbpc-published-replies">
116 + <?php echo esc_html( $reply_count ); ?>
117 + </span>
118 + </div>
119 +
120 + <?php
121 + if ( $pending_replies_count > 0 ) :
122 + ?>
123 + <div click-target='<?php echo esc_attr( $current_topic_id ); ?>'
124 + title="<?php echo esc_attr( sprintf(
125 + /* translators: %d: Number of Pending replies */
126 + __( '%d Pending replies', 'forumax' ),
127 + $pending_replies_count
128 + ) ); ?>">
129 + <span class="bbpc-reply-count bbpc-pending-replies">
130 + <?php echo esc_html( $pending_replies_count ); ?>
131 + </span>
95 132 </div>
96 - <?php if ( $pending_replies_count > 0 ) : ?>
97 - <div click-target='<?php echo esc_attr( $current_topic_id ); ?>' title="<?php echo esc_attr( $pending_replies_count ) . __( ' Pending replies', 'bbp-core' ); ?>">
98 - <span class="bbpc-reply-count bbpc-pending-replies">
99 - <?php echo esc_html( $pending_replies_count ); ?>
100 - </span>
101 - </div>
102 - <?php endif; ?>
103 - </h4>
133 + <?php
134 + endif;
135 + ?>
136 +
104 137 <ul class="actions">
105 138 <li>
106 - <a href="<?php echo get_permalink( $current_topic_id ); ?>" target="_blank" title="<?php esc_attr_e( 'View this reply in new tab', 'bbp() - core' ); ?>">
139 + <a href="<?php echo esc_url( get_permalink( $current_topic_id ) ); ?>" target="_blank" title="<?php esc_attr_e( 'View this reply in new tab', 'forumax' ); ?>">
107 140 <span class="dashicons dashicons-external"></span>
108 141 </a>
109 142 </li>
110 143
@@ -109,9 +142,9 @@
109 142 </li>
110 143
111 144 <?php if ( current_user_can( 'editor' ) || current_user_can( 'administrator' ) ) : ?>
112 145 <li class="delete">
113 - <a href="javascript:void(0)" bbp_topic_ID="<?php the_ID(); ?>" class="section-delete" title="<?php esc_attr_e( 'Move this topic to the Trash', 'bbp-core' ); ?>">
146 + <a href="javascript:void(0)" bbp_topic_ID="<?php the_ID(); ?>" class="section-delete" title="<?php esc_attr_e( 'Move this topic to the Trash', 'forumax' ); ?>">
114 147 <span class="dashicons dashicons-trash"></span>
115 148 </a>
116 149 </li>
117 150 <?php endif; ?>
@@ -116,8 +149,15 @@
116 149 </li>
117 150 <?php endif; ?>
118 151 </ul>
119 152 </div>
153 + <div class="right-content">
154 + <!-- Topic Refresh Time -->
155 + <span class="progress-text">
156 + <?php bbp_topic_freshness_link() ?>
157 + </span>
158 + <!-- ./Topic Refresh Time -->
159 + </div>
120 160 </div>
121 161 <!-- Accordion children -->
122 162 <div class="easydocs-accordion-body nesting-accordion">
123 163 <?php if ( ! empty( $pending_replies_count ) ) : ?>
@@ -133,11 +173,11 @@
133 173 the_author();
134 174 ?>
135 175 <?php
136 176 if ( bbp_is_reply_pending( $p_reply ) ) {
137 - $url = admin_url( 'admin.php' ) . '/Approve_Topic.php?bbpc_approve_reply_id=' . $p_reply;
138 - $approve_btn = sprintf( '<a class="bbpc-approve-btn" href=%1$s><span class="dashicons dashicons-yes" title="%2$s"></span></a>', $url, __( 'Approve this topic', 'bbp-core' ) );
139 - }
177 + $url = wp_nonce_url( admin_url( 'admin.php?bbpc_approve_reply_id=' . $p_reply ), 'bbpc_approve_reply_' . $p_reply );
178 + $approve_btn = sprintf( '<a class="bbpc-approve-btn" href="%1$s"><span class="dashicons dashicons-yes" title="%2$s"></span></a>', esc_url( $url ), esc_attr__( 'Approve This Reply', 'forumax' ) );
179 + }
140 180
141 181 $allowed_html = [
142 182 'a' => [
143 183 'href' => [],