- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/livefeed.php
- Класс: BitrixSocialnetworkControllerLivefeed
- Вызов: Livefeed::changeFavoritesAction
public function changeFavoritesAction($logId, $value): ?array
{
global $APPLICATION;
$result = [
'success' => false,
'newValue' => false
];
$logId = (int)$logId;
if ($logId <= 0)
{
$this->addError(new Error('No Log Id', 'SONET_CONTROLLER_LIVEFEED_NO_LOG_ID'));
return null;
}
if (!(
Loader::includeModule('socialnetwork')
&& ($logFields = CSocNetLog::getById($logId))
))
{
$this->addError(new Error('Cannot get log entry', 'SONET_CONTROLLER_LIVEFEED_EMPTY_LOG_ENTRY'));
return null;
}
$currentUserId = $this->getCurrentUser()->getId();
if ($res = CSocNetLogFavorites::change($currentUserId, $logId))
{
if ($res === 'Y')
{
ComponentHelper::userLogSubscribe([
'logId' => $logId,
'userId' => $currentUserId,
'typeList' => [
'FOLLOW',
'COUNTER_COMMENT_PUSH',
],
'followDate' => $logFields['LOG_UPDATE'],
]);
}
$result['success'] = true;
$result['newValue'] = $res;
}
else
{
$this->addError(new Error((($e = $APPLICATION->getException()) ? $e->getString() : 'Cannot change log entry favorite value'), 'SONET_CONTROLLER_LIVEFEED_FAVORITES_CHANGE_ERROR'));
return null;
}
return $result;
}