- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/rating/internal/action.php
- Класс: BitrixMainRatingInternalAction
- Вызов: Action::getVoteResult
static function getVoteResult($entityTypeId, $entityId): array
{
global $USER;
$entityId = (int)$entityId;
$userId = (int)$USER->getId();
$ratingResult = CRatings::getRatingVoteResult($entityTypeId, $entityId, $userId);
if (empty($ratingResult))
{
$ratingResult['USER_HAS_VOTED'] = $USER->isAuthorized() ? 'N' : 'Y';
$ratingResult['USER_VOTE'] = 0;
$ratingResult['TOTAL_VALUE'] = 0;
$ratingResult['TOTAL_VOTES'] = 0;
$ratingResult['TOTAL_POSITIVE_VOTES'] = 0;
$ratingResult['TOTAL_NEGATIVE_VOTES'] = 0;
}
$resultStatus = $ratingResult['TOTAL_VALUE'] < 0 ? 'minus' : 'plus';
$resultTitle = sprintf(
Loc::getMessage('RATING_COMPONENT_DESC'),
$ratingResult['TOTAL_VOTES'],
$ratingResult['TOTAL_POSITIVE_VOTES'],
$ratingResult['TOTAL_NEGATIVE_VOTES']
);
return [
'resultValue' => $ratingResult['TOTAL_VALUE'],
'resultVotes' => $ratingResult['TOTAL_VOTES'],
'resultPositiveVotes' => $ratingResult['TOTAL_POSITIVE_VOTES'],
'resultNegativeVotes' => $ratingResult['TOTAL_NEGATIVE_VOTES'],
'resultStatus' => $resultStatus,
'resultTitle' => $resultTitle,
];
}