- Модуль: 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);
}