• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/helper/workgroup/access.php
  • Класс: BitrixSocialnetworkHelperWorkgroupAccess
  • Вызов: Access::canModify
static function canModify(array $params = []): bool
{
	$groupId = (int)($params['groupId'] ?? 0);
	$currentUserId = (int)($params['userId'] ?? HelperUser::getCurrentUserId());
	$checkAdminSession = (bool)($params['checkAdminSession'] ?? true);

	if ($groupId <= 0)
	{
		return false;
	}

	if ($currentUserId <= 0)
	{
		return false;
	}

	$group = WorkgroupTable::getList([
		'filter' => [
			'=ID' => $groupId,
		],
		'select' => [ 'ID', 'CLOSED', 'PROJECT', 'SCRUM_MASTER_ID' ],
	])->fetchObject();
	if (!$group)
	{
		return false;
	}

	$currentUserRelation = UserToGroupTable::getList([
		'filter' => [
			'=GROUP_ID' => $groupId,
			'=USER_ID' => $currentUserId,
		],
		'select' => [ 'ID', 'ROLE', 'USER_ID', 'GROUP_ID' ],
	])->fetchObject();

	$accessManager = new AccessManager(
		$group,
		$currentUserRelation,
		$currentUserRelation,
		[],
		[
			'checkAdminSession' => $checkAdminSession,
		]
	);

	return $accessManager->canModify();
}