BBP_Replies_Admin::toggle_reply()
Toggle reply
Description
Handles the admin-side spamming/unspamming of replies
Source
File: bp-forums/admin/replies.php
public function toggle_reply() { if ( $this->bail() ) return; // Only proceed if GET is a reply toggle action if ( bbp_is_get_request() && !empty( $_GET['action'] ) && in_array( $_GET['action'], array( 'bbp_toggle_reply_spam' ) ) && !empty( $_GET['reply_id'] ) ) { $action = $_GET['action']; // What action is taking place? $reply_id = (int) $_GET['reply_id']; // What's the reply id? $success = false; // Flag $post_data = array( 'ID' => $reply_id ); // Prelim array // Get reply and die if empty $reply = bbp_get_reply( $reply_id ); if ( empty( $reply ) ) // Which reply? wp_die( __( 'The reply was not found!', 'buddyboss' ) ); if ( !current_user_can( 'moderate', $reply->ID ) ) // What is the user doing here? wp_die( __( 'You do not have the permission to do that!', 'buddyboss' ) ); switch ( $action ) { case 'bbp_toggle_reply_spam' : check_admin_referer( 'spam-reply_' . $reply_id ); $is_spam = bbp_is_reply_spam( $reply_id ); $message = $is_spam ? 'unspammed' : 'spammed'; $success = $is_spam ? bbp_unspam_reply( $reply_id ) : bbp_spam_reply( $reply_id ); break; } $success = wp_update_post( $post_data ); $message = array( 'bbp_reply_toggle_notice' => $message, 'reply_id' => $reply->ID ); if ( false === $success || is_wp_error( $success ) ) $message['failed'] = '1'; // Do additional reply toggle actions (admin side) do_action( 'bbp_toggle_reply_admin', $success, $post_data, $action, $message ); // Redirect back to the reply $redirect = add_query_arg( $message, remove_query_arg( array( 'action', 'reply_id' ) ) ); wp_safe_redirect( $redirect ); // For good measure exit(); } }
Changelog
Version | Description |
---|---|
bbPress (r2740) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.