Your IP : 172.28.240.42


Current Path : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/rating.vote/
Upload File :
Current File : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/rating.vote/component.php

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

$arAllowVote = CRatings::CheckAllowVote($arParams);

if ($arAllowVote['RESULT'] && $_POST['RATING_VOTE'] == 'Y'
	&& $arParams['ENTITY_TYPE_ID'] == $_POST['RATING_VOTE_TYPE_ID']
	&& $arParams['ENTITY_ID'] == $_POST['RATING_VOTE_ENTITY_ID'])
{
	$arAdd = array(
		"ENTITY_TYPE_ID" => $_REQUEST['RATING_VOTE_TYPE_ID'],
		"ENTITY_ID" 	 => intval($_REQUEST['RATING_VOTE_ENTITY_ID']),
		"VALUE" 		 => $_REQUEST['RATING_VOTE_ACTION'] == 'plus' ? 1 : -1,
		"USER_IP" 		 => $_SERVER['REMOTE_ADDR'],
		"USER_ID" 		 => $USER->GetId(), 	
	);
	CRatings::AddRatingVote($arAdd);
} 
else 
{
	$arResult['ENTITY_TYPE_ID']	= $arParams['ENTITY_TYPE_ID'];
	$arResult['ENTITY_ID'] 		= IntVal($arParams['ENTITY_ID']);
	$arResult["TOTAL_VALUE"] = floatval($arParams['TOTAL_VALUE']);
	$arResult["TOTAL_VOTES"] = IntVal($arParams['TOTAL_VOTES']);
	$arResult["TOTAL_POSITIVE_VOTES"] = IntVal($arParams['TOTAL_POSITIVE_VOTES']);
	$arResult["TOTAL_NEGATIVE_VOTES"] = IntVal($arParams['TOTAL_NEGATIVE_VOTES']);
	$arResult['USER_HAS_VOTED']	= in_array($arParams['USER_HAS_VOTED'], array('Y', 'N')) ? $arParams['USER_HAS_VOTED'] : 'N';
	$arResult['ALLOW_VOTE']	= $arAllowVote;
	
	if (!isset($arParams['TOTAL_VALUE']) || 
		!isset($arParams['TOTAL_VOTES']) ||
		!isset($arParams['TOTAL_POSITIVE_VOTES']) ||
		!isset($arParams['TOTAL_NEGATIVE_VOTES']) ||
		!isset($arParams['USER_HAS_VOTED']))
	{
		$arComponentVoteResult  = CRatings::GetRatingVoteResult($arResult['ENTITY_TYPE_ID'], $arResult['ENTITY_ID']);
		if (!empty($arComponentVoteResult))
		{
			$arResult['TOTAL_VALUE'] = $arComponentVoteResult['TOTAL_VALUE'];
			$arResult['TOTAL_VOTES'] = $arComponentVoteResult['TOTAL_VOTES'];
			$arResult['TOTAL_POSITIVE_VOTES'] = $arComponentVoteResult['TOTAL_POSITIVE_VOTES'];
			$arResult['TOTAL_NEGATIVE_VOTES'] = $arComponentVoteResult['TOTAL_NEGATIVE_VOTES'];
			$arResult['USER_HAS_VOTED'] = $arComponentVoteResult['USER_HAS_VOTED'];
		}
	}
	
	$arResult['VOTE_AVAILABLE'] = 'Y';
	if (!$arResult['ALLOW_VOTE']['RESULT'])
		$arResult['VOTE_AVAILABLE'] = 'N';

	$arResult['VOTE_RAND']	= time()+rand(0, 1000);
	$arResult['VOTE_TITLE'] = $arResult['TOTAL_VOTES'] == 0 ? GetMessage("RATING_COMPONENT_NO_VOTES") : sprintf(GetMessage("RATING_COMPONENT_DESC"), $arResult['TOTAL_VOTES'], $arResult['TOTAL_POSITIVE_VOTES'], $arResult['TOTAL_NEGATIVE_VOTES']);
	$arResult['VOTE_ID'] 	= $arResult['ENTITY_TYPE_ID'].'-'.$arResult['ENTITY_ID'].'-'.$arResult['VOTE_RAND'];	
			
	CUtil::InitJSCore(array('ajax'));
	
	if (!(isset($arParams['TEMPLATE_HIDE']) && $arParams['TEMPLATE_HIDE'] == 'Y'))
		$this->IncludeComponentTemplate();
	
	return $arResult;
}
?>