bp_media_user_can_delete( int|BP_Media $media = false )
Determine if the current user can delete an media item.
Description
Parameters
- $media
-
(Optional) BP_Media object or ID of the media
Default value: false
Return
(bool) True if can delete, false otherwise.
Source
File: bp-media/bp-media-template.php
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 | function bp_media_user_can_delete( $media = false ) { // Assume the user cannot delete the media item. $can_delete = false; if ( empty ( $media ) ) { return $can_delete ; } if ( ! is_object ( $media ) ) { $media = new BP_Media( $media ); } if ( empty ( $media ) ) { return $can_delete ; } // Only logged in users can delete media. if ( is_user_logged_in() ) { // Community moderators can always delete media (at least for now). if ( bp_current_user_can( 'bp_moderate' ) ) { $can_delete = true; } // Users are allowed to delete their own media. if ( isset( $media ->user_id ) && ( $media ->user_id === bp_loggedin_user_id() ) ) { $can_delete = true; } if ( bp_is_active( 'groups' ) && $media ->group_id > 0 ) { $manage = groups_can_user_manage_document( bp_loggedin_user_id(), $media ->group_id ); $status = bp_group_get_media_status( $media ->group_id ); $is_admin = groups_is_user_admin( bp_loggedin_user_id(), $media ->group_id ); $is_mod = groups_is_user_mod( bp_loggedin_user_id(), $media ->group_id ); if ( $manage ) { if ( $media ->user_id === bp_loggedin_user_id() ) { $can_delete = true; } elseif ( 'members' === $status && ( $is_mod || $is_admin ) ) { $can_delete = true; } elseif ( 'mods' == $status && ( $is_mod || $is_admin ) ) { $can_delete = true; } elseif ( 'admins' == $status && $is_admin ) { $can_delete = true; } } } } /** * Filters whether the current user can delete an media item. * * @since BuddyBoss 1.2.0 * * @param bool $can_delete Whether the user can delete the item. * @param object $media Current media item object. */ return (bool) apply_filters( 'bp_media_user_can_delete' , $can_delete , $media ); } |
Changelog
Version | Description |
---|---|
BuddyBoss 1.2.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.