bp_activity_user_can_delete( false|BP_Activity_Activity $activity = false )
Determine if the current user can delete an activity item.
Description Description
Parameters Parameters
- $activity
-
(Optional) Falls back on the current item in the loop.
Default value: false
Return Return
(bool) True if can delete, false otherwise.
Source Source
File: bp-activity/bp-activity-template.php
function bp_activity_user_can_delete( $activity = false ) {
global $activities_template;
// Try to use current activity if none was passed.
if ( empty( $activity ) && ! empty( $activities_template->activity ) ) {
$activity = $activities_template->activity;
}
// If current_comment is set, we'll use that in place of the main activity.
if ( isset( $activity->current_comment ) ) {
$activity = $activity->current_comment;
}
// Assume the user cannot delete the activity item.
$can_delete = false;
// Only logged in users can delete activity.
if ( is_user_logged_in() ) {
// Community moderators can always delete activity (at least for now).
if ( bp_current_user_can( 'bp_moderate' ) ) {
$can_delete = true;
}
// Users are allowed to delete their own activity. This is actually
// quite powerful, because doing so also deletes all comments to that
// activity item. We should revisit this eventually.
if ( isset( $activity->user_id ) && ( $activity->user_id === bp_loggedin_user_id() ) ) {
$can_delete = true;
}
/*
* Viewing a single item, and this user is an admin of that item.
*
* Group activity items are handled separately.
* See bp_groups_filter_activity_user_can_delete().
*/
if ( 'groups' !== $activity->component && bp_is_single_item() && bp_is_item_admin() ) {
$can_delete = true;
}
}
/**
* Filters whether the current user can delete an activity item.
*
* @since 1.5.0
*
* @param bool $can_delete Whether the user can delete the item.
* @param object $activity Current activity item object.
*/
return (bool) apply_filters( 'bp_activity_user_can_delete', $can_delete, $activity );
}
Changelog Changelog
| Version | Description |
|---|---|
| 1.2.0 | Introduced. |