BP_Akismet::check_member_activity_update( string $content, int $user_id, int $activity_id )

Clean up the bp_latest_update usermeta in case of spamming.

Description

Run just after an update is posted, this method check to see whether the newly created update has been marked as spam by Akismet. If so, the cached update is cleared from the user’s ‘bp_latest_update’ usermeta, ensuring that it won’t appear in the member header and elsewhere in the theme.

This can’t be done in BP_Akismet::check_activity() due to the default AJAX implementation; see bp_dtheme_post_update().

See also

Parameters

$content

(string) (Required) Activity update text.

$user_id

(int) (Required) User ID.

$activity_id

(int) (Required) Activity ID.

Source

File: bp-activity/classes/class-bp-akismet.php

	public function check_member_activity_update( $content, $user_id, $activity_id ) {
		// By default, only handle activity updates and activity comments.
		if ( empty( $this->last_activity ) || !in_array( $this->last_activity->type, BP_Akismet::get_activity_types() ) )
			return;

		// Was this $activity_id just marked as spam? If not, bail out.
		if ( !$this->last_activity->id || $activity_id != $this->last_activity->id || 'false' == $this->last_activity->akismet_submission['bp_as_result'] )
			return;

		// It was, so delete the member's latest activity update.
		bp_delete_user_meta( $user_id, 'bp_latest_update' );
	}

Changelog

Changelog
Version Description
BuddyPress 1.6.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.