Esempio n. 1
0
     $arParams['USER_VOTE'] = $arComponentVoteResult['USER_VOTE'];
 } else {
     $arParams['TOTAL_VALUE'] = 0;
     $arParams['TOTAL_VOTES'] = 0;
     $arParams['TOTAL_POSITIVE_VOTES'] = 0;
     $arParams['TOTAL_NEGATIVE_VOTES'] = 0;
     $arParams['USER_HAS_VOTED'] = 'N';
     $arParams['USER_VOTE'] = '0';
 }
 $arAllowVote = CRatings::CheckAllowVote($arParams);
 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;