if ($arAllowVote['RESULT']) { $APPLICATION->RestartBuffer(); $action = 'list'; if ($_POST['RATING_VOTE_ACTION'] == 'plus' || $_POST['RATING_VOTE_ACTION'] == 'minus') { $arAdd = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "VALUE" => $_POST['RATING_VOTE_ACTION'] == 'plus' ? 1 : -1, "USER_IP" => $_SERVER['REMOTE_ADDR'], "USER_ID" => $USER->GetId()); CRatings::AddRatingVote($arAdd); $action = $_POST['RATING_VOTE_ACTION']; } else { if ($_POST['RATING_VOTE_ACTION'] == 'cancel') { $arCancel = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "USER_ID" => $USER->GetId()); CRatings::CancelRatingVote($arCancel); $action = $_POST['RATING_VOTE_ACTION']; } } $ar = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "LIST_LIMIT" => 0, "LIST_TYPE" => isset($_POST['RATING_VOTE_ACTION']) && $_POST['RATING_VOTE_ACTION'] == 'minus' ? 'minus' : 'plus'); $arVoteList = CRatings::GetRatingVoteList($ar); if ($_POST['RATING_RESULT'] == 'Y') { $arVoteResult = GetVoteResult($_POST['RATING_VOTE_TYPE_ID'], $_POST['RATING_VOTE_ENTITY_ID']); $arVoteList = array_merge($arVoteList, $arVoteResult); } $arVoteList['action'] = $action; Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET); echo CUtil::PhpToJsObject($arVoteList); } } else { if ($_POST['RATING_RESULT'] == 'Y' && strlen($_POST['RATING_VOTE_TYPE_ID']) > 0 && intval($_POST['RATING_VOTE_ENTITY_ID']) > 0 && check_bitrix_sessid()) { $arJSON = GetVoteResult($_POST['RATING_VOTE_TYPE_ID'], $_POST['RATING_VOTE_ENTITY_ID']); Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET); echo CUtil::PhpToJsObject($arJSON); } }