bp_attachments_current_user_can( string $capability, array $args = array() )
Check the current user’s capability to edit an avatar for a given object.
Description
Parameters
- $capability
-
(Required) The capability to check.
- $args
-
(Optional) An array containing the item_id and the object to check.
Default value: array()
Return
(bool)
Source
File: bp-core/bp-core-attachments.php
function bp_attachments_current_user_can( $capability, $args = array() ) {
$can = false;
if ( 'edit_avatar' === $capability || 'edit_cover_image' === $capability ) {
/**
* Needed avatar arguments are set.
*/
if ( isset( $args['item_id'] ) && isset( $args['object'] ) ) {
// Group profile photo.
if ( bp_is_active( 'groups' ) && 'group' === $args['object'] ) {
if ( bp_is_group_create() ) {
$can = (bool) groups_is_user_creator( bp_loggedin_user_id(), $args['item_id'] ) || bp_current_user_can( 'bp_moderate' );
} else {
$can = (bool) groups_is_user_admin( bp_loggedin_user_id(), $args['item_id'] ) || bp_current_user_can( 'bp_moderate' );
}
// User profile photo.
} elseif ( bp_is_active( 'xprofile' ) && 'user' === $args['object'] ) {
$can = bp_loggedin_user_id() === (int) $args['item_id'] || bp_current_user_can( 'bp_moderate' );
}
/**
* No avatar arguments, fallback to bp_user_can_create_groups()
* or bp_is_item_admin()
*/
} else {
if ( bp_is_group_create() ) {
$can = bp_user_can_create_groups();
} else {
$can = bp_is_item_admin();
}
}
}
return apply_filters( 'bp_attachments_current_user_can', $can, $capability, $args );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.3.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.