function Vote($pfx, $commune_id, $user_id, $prev_rating, $vote) { $objResponse = new xajaxResponse(); if ($commune_id == 5100) { return $objResponse; } if (get_uid(false) != $user_id) { return $objResponse; } // !!! Вообще, везде бы, где ajax, проверку такую делать. $uStatus = commune::GetUserCommuneRel($commune_id, $user_id); if (!$uStatus || !$uStatus['is_accepted'] || $uStatus['is_deleted'] || $uStatus['is_banned'] || is_banned($user_id)) { $objResponse->script("document.location.replace('/commune/?id={$commune_id}')"); } else { $comm = commune::GetCommune($commune_id, $user_id); if ($comm && !$comm['is_blocked']) { $v = commune::Vote($commune_id, $user_id, intval($vote)); // заменяем html'овский минус (−) на - $prev_rating = str_replace('–', '-', $prev_rating); $rating = intval($prev_rating) + $v; $html = __commPrntRating($comm, $user_id, $rating); $objResponse->assign($pfx . $commune_id, 'innerHTML', $html); $objResponse->script("if(window.lockRating{$commune_id}) lockRating{$commune_id}=0;"); } } return $objResponse; }