• Модуль: 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,
	];
}