- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/livefeed/photogalleryalbum.php
- Класс: BitrixSocialnetworkLivefeedPhotogalleryAlbum
- Вызов: PhotogalleryAlbum::initSourceFields
public function initSourceFields()
{
static $cache = [];
$sectionId = $this->entityId;
if ($sectionId <= 0)
{
return;
}
$albumFields = [];
if (isset($cache[$sectionId]))
{
$albumFields = $cache[$sectionId];
}
elseif (Loader::includeModule('iblock'))
{
$res = SectionTable::getList([
'filter' => [
'=ID' => $sectionId
],
'select' => [ 'ID', 'NAME' ]
]);
if ($sectionFields = $res->fetch())
{
$logId = false;
$res = LogTable::getList([
'filter' => [
'SOURCE_ID' => $sectionId,
'@EVENT_ID' => $this->getEventId(),
],
'select' => [ 'ID', 'URL' ]
]);
if ($logEntryFields = $res->fetch())
{
$logId = (int)$logEntryFields['ID'];
}
if ($logId)
{
$res = CSocNetLog::getList(
[],
[
'=ID' => $logId
],
false,
false,
[ 'ID', 'EVENT_ID', 'URL' ],
[
"CHECK_RIGHTS" => "Y",
"USE_FOLLOW" => "N",
"USE_SUBSCRIBE" => "N"
]
);
if ($logFields = $res->fetch())
{
$albumFields = array_merge($sectionFields, [
'LOG_ID' => $logFields['ID'],
'LOG_EVENT_ID' => $logFields['EVENT_ID'],
'URL' => $logFields['URL']
]);
}
}
}
$cache[$sectionId] = $albumFields;
}
if (empty($albumFields))
{
return;
}
$this->setLogId($albumFields['LOG_ID']);
$this->setSourceFields($albumFields);
$title = $albumFields['NAME'];
$this->setSourceDescription($title);
$this->setSourceTitle($title);
}