groups_can_user_manage_messages( int $user_id, int $group_id )

Check whether a user is allowed to manage messages in a given group.

Description

Parameters

$user_id

(Required) ID of the user.

$group_id

(Required) ID of the group.

Return

(bool) true if the user is allowed, otherwise false.

Source

File: bp-groups/bp-groups-functions.php

4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
function groups_can_user_manage_messages( $user_id, $group_id ) {
    $is_allowed = false;
 
    if ( ! is_user_logged_in() ) {
        return false;
    }
 
    // Site admins always have access.
    if ( bp_current_user_can( 'bp_moderate' ) ) {
        return true;
    }
 
    if ( ! groups_is_user_member( $user_id, $group_id ) ) {
        return false;
    }
 
    $status    = bp_group_get_message_status( $group_id );
    $is_admin  = groups_is_user_admin( $user_id, $group_id );
    $is_mod    = groups_is_user_mod( $user_id, $group_id );
    $is_member = groups_is_user_member( $user_id, $group_id );
 
    if ( 'mods' === $status && ( $is_mod || $is_admin ) ) {
        $is_allowed = true;
    } elseif ( 'members' === $status && ( $is_mod || $is_admin || $is_member ) ) {
        $is_allowed = true;
    } elseif ( 'admins' === $status && $is_admin ) {
        $is_allowed = true;
    }
 
    return $is_allowed;
}

Changelog

Changelog
Version Description
BuddyBoss 1.2.9 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.