- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_destination.php
- Класс: CSocNetLogDestination
- Вызов: CSocNetLogDestination::searchSonetGroups
static function searchSonetGroups($params = array())
{
global $USER;
$result = array();
CUtil::JSPostUnescape();
$search = is_array($params) && isset($params['SEARCH']) ? trim($params['SEARCH']) : '';
if (empty($search))
{
return $result;
}
if (
$search == ''
|| !getFilterQuery("TEST", $search)
)
{
return $result;
}
$siteId = (
isset($params['SITE_ID'])
&& $params['SITE_ID'] <> ''
? $params['SITE_ID']
: SITE_ID
);
$currentUserAdmin = CSocNetUser::isCurrentUserModuleAdmin($siteId);
$tmpList = array();
$filter = array(
'%NAME' => $search,
"SITE_ID" => $siteId,
"ACTIVE" => "Y",
);
if (
!empty($params['LANDING'])
&& $params['LANDING'] === 'Y'
)
{
$filter['LANDING'] = 'Y';
}
if (!$currentUserAdmin)
{
$filter["CHECK_PERMISSIONS"] = $USER->getId();
}
$res = CSocnetGroup::getList(
array("NAME" => "ASC"),
$filter,
false,
array("nTopCount" => 50),
array("ID", "NAME", "DESCRIPTION", "IMAGE_ID")
);
$extranetGroupsIdList = BitrixSocialnetworkComponentHelper::getExtranetSonetGroupIdList();
while ($group = $res->fetch())
{
$tmp = array(
"id" => $group["ID"],
"entityId" => $group["ID"],
"name" => htmlspecialcharsbx(Emoji::decode($group["NAME"])),
"desc" => htmlspecialcharsbx(Emoji::decode($group["DESCRIPTION"])),
"isExtranet" => (in_array($group["ID"], $extranetGroupsIdList) ? 'Y' : 'N')
);
if($group["IMAGE_ID"])
{
$imageFile = CFile::getFileArray($group["IMAGE_ID"]);
if ($imageFile !== false)
{
$arFileTmp = CFile::resizeImageGet(
$imageFile,
array(
"width" => (intval($params["THUMBNAIL_SIZE_WIDTH"]) > 0 ? $params["THUMBNAIL_SIZE_WIDTH"] : 100),
"height" => (intval($params["THUMBNAIL_SIZE_HEIGHT"]) > 0 ? $params["THUMBNAIL_SIZE_HEIGHT"] : 100)
),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
$tmp["avatar"] = $arFileTmp["src"];
}
}
unset($group["IMAGE_ID"]);
$tmpList[$tmp['id']] = $tmp;
}
if (
!$currentUserAdmin
&& isset($params['FEATURES'])
&& is_array($params['FEATURES'])
&& !empty($params['FEATURES'])
)
{
self::getSocnetGroupFilteredByFeaturePerms($tmpList, $params['FEATURES']);
}
if (
!$currentUserAdmin
&& isset($params['INITIATE'])
&& $params['INITIATE'] === 'Y'
)
{
self::getSocnetGroupFilteredByInitiatePerms($tmpList);
}
foreach ($tmpList as $value)
{
$value['id'] = 'SG'.$value['id'];
$result[$value['id']] = $value;
}
return $result;
}