• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/rest.php
  • Класс: CSocNetLogRestService
  • Вызов: CSocNetLogRestService::getGroup
static function getGroup($arFields, $n, $server)
{
	$arOrder = $arFields['ORDER'] ?? null;
	if (!is_array($arOrder))
	{
		$arOrder = array("ID" => "DESC");
	}

	if (
		($arFields['IS_ADMIN'] ?? null) === 'Y'
		&& !self::isCurrentUserAdmin()
	)
	{
		unset($arFields['IS_ADMIN']);
	}

	$filter = self::checkGroupFilter($arFields['FILTER'] ?? null);

	if (
		isset($arFields['GROUP_ID'])
		&& (int)$arFields['GROUP_ID'] > 0
	)
	{
		$filter['ID'] = $arFields['GROUP_ID'];
	}

	if (($arFields['IS_ADMIN'] ?? null) !== 'Y')
	{
		$filter['CHECK_PERMISSIONS'] = self::getCurrentUserId();
	}

	$extranetSiteId = self::getExtranetSiteId();

	if (
		$extranetSiteId
		&& ($arFields['IS_ADMIN'] ?? null) !== 'Y'
		&& self::getCurrentUserType() === 'extranet'
	)
	{
		$filter['SITE_ID'] = $extranetSiteId;
	}

	$result = [];
	$res = CSocNetGroup::GetList($arOrder, $filter, false, self::getNavData($n));
	while ($groupFields = $res->Fetch())
	{
		if (!empty($groupFields['NAME']))
		{
			$groupFields['NAME'] = Emoji::decode($groupFields['NAME']);
		}
		if (!empty($groupFields['DESCRIPTION']))
		{
			$groupFields['DESCRIPTION'] = Emoji::decode($groupFields['DESCRIPTION']);
		}

		$groupFields['DATE_CREATE'] = CRestUtil::ConvertDateTime($groupFields['DATE_CREATE']);
		$groupFields['DATE_UPDATE'] = CRestUtil::ConvertDateTime($groupFields['DATE_UPDATE']);
		$groupFields['DATE_ACTIVITY'] = CRestUtil::ConvertDateTime($groupFields['DATE_ACTIVITY']);

		if ($groupFields['IMAGE_ID'] > 0)
		{
			$groupFields['IMAGE'] = self::getFile($groupFields['IMAGE_ID']);
		}

		if ($extranetSiteId)
		{
			$groupFields["IS_EXTRANET"] = "N";
			$rsGroupSite = CSocNetGroup::GetSite($groupFields["ID"]);
			while ($arGroupSite = $rsGroupSite->Fetch())
			{
				if ($arGroupSite["LID"] === $extranetSiteId)
				{
					$groupFields["IS_EXTRANET"] = "Y";
					break;
				}
			}
		}

		unset($groupFields['INITIATE_PERMS'], $groupFields['SPAM_PERMS'], $groupFields['IMAGE_ID']);

		$result[] = $groupFields;
	}

	return self::setNavData($result, $res);
}