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.