bp_nouveau_ajax_spam_activity()
AJAX spam an activity item or comment.
Description
Return
(string) JSON reply.
Source
File: bp-templates/bp-nouveau/includes/activity/ajax.php
function bp_nouveau_ajax_spam_activity() { $bp = buddypress(); $response = array( 'feedback' => sprintf( '<div class="bp-feedback bp-messages error">%s</div>', esc_html__( 'There was a problem marking this activity as spam. Please try again.', 'buddyboss' ) ), ); // Bail if not a POST action. if ( ! bp_is_post_request() ) { wp_send_json_error( $response ); } if ( ! is_user_logged_in() || ! bp_is_active( 'activity' ) || empty( $bp->activity->akismet ) ) { wp_send_json_error( $response ); } if ( empty( $_POST['id'] ) || ! is_numeric( $_POST['id'] ) ) { wp_send_json_error( $response ); } // Is the current user allowed to spam items? if ( ! bp_activity_user_can_mark_spam() ) { wp_send_json_error( $response ); } $activity = new BP_Activity_Activity( (int) $_POST['id'] ); if ( empty( $activity->component ) ) { wp_send_json_error( $response ); } // Nonce check! if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'bp_activity_akismet_spam_' . $activity->id ) ) { wp_send_json_error( $response ); } /** This action is documented in bp-activity/bp-activity-actions.php */ do_action( 'bp_activity_before_action_spam_activity', $activity->id, $activity ); // Mark as spam. bp_activity_mark_as_spam( $activity ); $activity->save(); /** This action is documented in bp-activity/bp-activity-actions.php */ do_action( 'bp_activity_action_spam_activity', $activity->id, $activity->user_id ); // Prepare the successfull reply $response = array( 'spammed' => $activity->id ); // If on a single activity redirect to user's home. if ( ! empty( $_POST['is_single'] ) ) { $response['redirect'] = bp_core_get_user_domain( $activity->user_id ); bp_core_add_message( __( 'This activity has been marked as spam and is no longer visible.', 'buddyboss' ) ); } // Send the json reply wp_send_json_success( $response ); }
Changelog
Version | Description |
---|---|
BuddyPress 3.0.0 | 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.