groups_can_user_manage_document( int $user_id, int $group_id )

Check whether a user is allowed to manage document 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

function groups_can_user_manage_document( $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_document_status( $group_id );
	$is_admin = groups_is_user_admin( $user_id, $group_id );
	$is_mod   = groups_is_user_mod( $user_id, $group_id );

	if ( 'members' === $status ) {
		$is_allowed = true;
	} elseif ( 'mods' === $status && ( $is_mod || $is_admin ) ) {
		$is_allowed = true;
	} elseif ( 'admins' === $status && $is_admin ) {
		$is_allowed = true;
	}

	return $is_allowed;
}

Changelog

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