BP_Akismet::update_activity_akismet_meta( BP_Activity_Activity $activity )
Update activity meta after an automatic spam check (not user-initiated).
Description
Parameters
- $activity
-
(BP_Activity_Activity) (Required) The activity to check.
Source
File: bp-activity/classes/class-bp-akismet.php
public function update_activity_akismet_meta( $activity ) { // Check we're dealing with what was last updated by Akismet. if ( empty( $this->last_activity ) || !empty( $this->last_activity ) && $activity->id != $this->last_activity->id ) return; // By default, only handle activity updates and activity comments. if ( !in_array( $this->last_activity->type, BP_Akismet::get_activity_types() ) ) return; // Spam. if ( 'true' == $this->last_activity->akismet_submission['bp_as_result'] ) { bp_activity_update_meta( $activity->id, '_bp_akismet_result', 'true' ); $this->update_activity_history( $activity->id, __( 'Akismet caught this item as spam', 'buddyboss' ), 'check-spam' ); // Not spam. } elseif ( 'false' == $this->last_activity->akismet_submission['bp_as_result'] ) { bp_activity_update_meta( $activity->id, '_bp_akismet_result', 'false' ); $this->update_activity_history( $activity->id, __( 'Akismet cleared this item', 'buddyboss' ), 'check-ham' ); // Uh oh, something's gone horribly wrong. Unexpected result. } else { bp_activity_update_meta( $activity->id, '_bp_akismet_error', bp_core_current_time() ); $this->update_activity_history( $activity->id, sprintf( __( 'Akismet was unable to check this item (response: %s), will automatically retry again later.', 'buddyboss' ), $this->last_activity->akismet_submission['bp_as_result'] ), 'check-error' ); } // Record the original data which was submitted to Akismet for checking. bp_activity_update_meta( $activity->id, '_bp_akismet_submission', $this->last_activity->akismet_submission ); }
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.