- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/binding/group.php
- Класс: BitrixLandingBindingGroup
- Вызов: Group::recognizeSiteTitle
static function recognizeSiteTitle(array $input): array
{
$sitesTitle = [];
if (!BitrixMainLoader::includeModule('socialnetwork'))
{
return $input;
}
foreach ($input as $key => $item)
{
if (isset($item['ID']))
{
$sitesTitle[$item['ID']] = '';
}
}
if ($sitesTitle)
{
// get real title for sonet group
$res = BindingTable::getList([
'select' => [
'ENTITY_ID',
'GROUP_TITLE' => 'GROUP.NAME'
],
'filter' => [
'=BINDING_TYPE' => self::$bindingType,
'=ENTITY_TYPE' => self::ENTITY_TYPE_SITE,
'=ENTITY_ID' => array_keys($sitesTitle)
],
'runtime' => [
new BitrixMainEntityReferenceField(
'GROUP',
'BitrixSocialnetworkWorkgroupTable',
[
'=this.BINDING_ID' => 'ref.ID'
]
)
]
]);
while ($row = $res->fetch())
{
$sitesTitle[$row['ENTITY_ID']] = $row['GROUP_TITLE'];
}
// replace sites titles to thr groups titles
foreach ($input as $key => &$item)
{
if (isset($item['ID']) && $sitesTitle[$item['ID']])
{
$item['TITLE'] = $sitesTitle[$item['ID']];
}
}
unset($item);
}
return $input;
}