- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/livefeed/comment.php
- Класс: BitrixSocialnetworkControllerLivefeedComment
- Вызов: Comment::getSourceAction
public function getSourceAction(array $params = []): ?array
{
$postId = (int)($params['postId'] ?? 0);
$commentId = (int)($params['commentId'] ?? 0);
if ($commentId <= 0)
{
$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_LIVEFEED_COMMENT_COMMENT_EMPTY'), 'SONET_CONTROLLER_LIVEFEED_COMMENT_COMMENT_EMPTY'));
return null;
}
if ($postId <= 0)
{
$res = LogCommentTable::getList([
'filter' => [
'=ID' => $commentId
],
'select' => [ 'LOG_ID' ]
]);
if ($logComment = $res->fetch())
{
$postId = (int)$logComment['LOG_ID'];
}
}
if ($postId <= 0)
{
$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_LIVEFEED_COMMENT_POST_NOT_FOUND'), 'SONET_CONTROLLER_LIVEFEED_COMMENT_POST_NOT_FOUND'));
return null;
}
$commentData = CSocNetLogComponent::getCommentByRequest($commentId, $postId, 'edit');
if ($commentData)
{
$result = [
'id' => (int)$commentData['ID'],
'message' => str_replace("
", "n", $commentData['MESSAGE']),
'sourceId' => (
(int)$commentData['SOURCE_ID'] > 0
? (int)$commentData['SOURCE_ID']
: (int)$commentData['ID']
),
'UF' => (
!empty($commentData['UF'])
? $commentData['UF']
: []
)
];
}
else
{
$this->addError(new Error(Loc::getMessage('SONET_CONTROLLER_LIVEFEED_COMMENT_COMMENT_NOT_FOUND'), 'SONET_CONTROLLER_LIVEFEED_COMMENT_COMMENT_NOT_FOUND'));
return null;
}
return $result;
}