BP_Akismet::update_activity_akismet_meta( BP_Activity_Activity $activity )
Update activity meta after an automatic spam check (not user-initiated).
Description
Parameters
- $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.