BP_Akismet::comment_row_action( array $actions, array $activity )
Add a history item to the hover links in an activity’s row.
Description
This function lifted with love from the Akismet WordPress plugin’s akismet_comment_row_action() function. Thanks!
Parameters
- $actions
-
(Required) The hover links.
- $activity
-
(Required) The activity for the current row being processed.
Return
(array) The hover links.
Source
File: bp-activity/classes/class-bp-akismet.php
function comment_row_action( $actions, $activity ) {
$akismet_result = bp_activity_get_meta( $activity['id'], '_bp_akismet_result' );
$user_result = bp_activity_get_meta( $activity['id'], '_bp_akismet_user_result' );
$desc = '';
if ( !$user_result || $user_result == $akismet_result ) {
// Show the original Akismet result if the user hasn't overridden it, or if their decision was the same.
if ( 'true' == $akismet_result && $activity['is_spam'] )
$desc = __( 'Flagged as spam by Akismet', 'buddyboss' );
elseif ( 'false' == $akismet_result && !$activity['is_spam'] )
$desc = __( 'Cleared by Akismet', 'buddyboss' );
} else {
$who = bp_activity_get_meta( $activity['id'], '_bp_akismet_user' );
if ( 'true' == $user_result )
$desc = sprintf( __( 'Flagged as spam by %s', 'buddyboss' ), $who );
else
$desc = sprintf( __( 'Un-spammed by %s', 'buddyboss' ), $who );
}
// Add a History item to the hover links, just after Edit.
if ( $akismet_result ) {
$b = array();
foreach ( $actions as $k => $item ) {
$b[ $k ] = $item;
if ( $k == 'edit' )
$b['history'] = '<a href="' . esc_url( bp_get_admin_url( 'admin.php?page=bp-activity&action=edit&aid=' . $activity['id'] ) ) . '#bp_activity_history"> '. __( 'History', 'buddyboss' ) . '</a>';
}
$actions = $b;
}
if ( $desc )
echo '<span class="akismet-status"><a href="' . esc_url( bp_get_admin_url( 'admin.php?page=bp-activity&action=edit&aid=' . $activity['id'] ) ) . '#bp_activity_history">' . htmlspecialchars( $desc ) . '</a></span>';
/**
* Filters the list of actions for the current activity's row.
*
* @since BuddyPress 1.6.0
*
* @param array $actions Array of available actions for the current activity item's row.
*/
return apply_filters( 'bp_akismet_comment_row_action', $actions );
}
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.