• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/rest.php
  • Класс: CSocNetLogRestService
  • Вызов: CSocNetLogRestService::getGroupUsers
static function getGroupUsers($arFields, $n, $server): array
{
	$GROUP_ID = (int) ($arFields['ID'] ?? null);

	if ($GROUP_ID <= 0)
	{
		throw new ArgumentException('Wrong socialnetwork group ID');
	}

	$filter = [
		'ID' => $GROUP_ID,
	];

	if (!self::isCurrentUserAdmin())
	{
		$filter['CHECK_PERMISSIONS'] = self::getCurrentUserId();

		if (self::getCurrentUserType() === 'extranet')
		{
			$filter['SITE_ID'] = self::getExtranetSiteId();
		}
	}

	$res = CSocNetGroup::GetList([], $filter);
	$groupFields = $res->fetch();
	if (!is_array($groupFields))
	{
		throw new ObjectNotFoundException('Socialnetwork group not found');
	}

	$res = CSocNetUserToGroup::getList(
		[ 'ID' => 'ASC' ],
		array(
			'GROUP_ID' => $groupFields['ID'],
			'<=ROLE' => SONET_ROLES_USER,
			'=USER_ACTIVE' => 'Y'
		),
		false,
		false,
		[ 'USER_ID', 'ROLE' ]
	);

	$result = [];
	while ($relationFields = $res->fetch())
	{
		$result[] = $relationFields;
	}

	return $result;
}