- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/livefeed/logentry.php
- Класс: BitrixSocialnetworkControllerLivefeedLogEntry
- Вызов: LogEntry::getPinDataAction
public function getPinDataAction(array $params = []): ?array
{
$logId = (isset($params['logId']) ? (int)$params['logId'] : 0);
if ($logId <= 0)
{
$this->addError(new Error('Empty Log ID.', 'SONET_CONTROLLER_LIVEFEED_LOGENTRY_EMPTY_LOG_ID'));
return null;
}
$res = LogTable::getList([
'filter' => [
'=ID' => $logId
],
'select' => [ 'ID', 'ENTITY_ID', 'EVENT_ID', 'SOURCE_ID', 'RATING_TYPE_ID', 'RATING_ENTITY_ID' ]
]);
if (!($logEntryFields = $res->fetch()))
{
$this->addError(new Error('Log entry not found.', 'SONET_CONTROLLER_LIVEFEED_LOGENTRY_NOT_FOUND'));
return null;
}
$contentId = BitrixSocialnetworkLivefeedProvider::getContentId($logEntryFields);
if (!$contentId)
{
$this->addError(new Error('Content entity not found.', 'SONET_CONTROLLER_LIVEFEED_CONTENT_NOT_FOUND'));
return null;
}
if (empty($contentId['ENTITY_TYPE']))
{
$this->addError(new Error('Content entity not found.', 'SONET_CONTROLLER_LIVEFEED_CONTENT_NOT_FOUND'));
return null;
}
$postProvider = BitrixSocialnetworkLivefeedProvider::init([
'ENTITY_TYPE' => $contentId['ENTITY_TYPE'],
'ENTITY_ID' => $contentId['ENTITY_ID'],
'LOG_ID' => $logEntryFields['ID']
]);
return [
'TITLE' => htmlspecialcharsEx($postProvider->getPinnedTitle()),
'DESCRIPTION' => htmlspecialcharsEx($postProvider->getPinnedDescription())
];
}