HEX
Server: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 mod_fcgid/2.3.9 PHP/5.4.16
System: Linux dvm.vladweb.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: region-gk.ru (1016)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //home/bk/__backup/ajax/rating.php
<?php
    if(!empty($_SERVER['HTTP_USER_AGENT'])){
        session_name(md5($_SERVER['HTTP_USER_AGENT']));
    }
    session_start();
    require_once('../api/Mgc.php');
    define('IS_CLIENT', true);
    $mgc = new Mgc();
    if(isset($_POST['id']) && is_numeric($_POST['rating'])) {
        $product_id = intval(str_replace('product_', '', $_POST['id']));
        $rating = floatval($_POST['rating']);

        /*���������� � ������ ��������� ��������*/
        if(!isset($_SESSION['rating_ids'])) $_SESSION['rating_ids'] = array();
        if(!in_array($product_id, $_SESSION['rating_ids'])) {
            $query = $mgc->db->placehold('SELECT rating, votes FROM __products WHERE id = ? LIMIT 1',  $product_id);
            $mgc->db->query($query);
            $product = $mgc->db->result();
            /*��������� ������� ������*/
            if(!empty($product)) {
                $rate = ($product->rating * $product->votes + $rating) / ($product->votes + 1);
                $query = $mgc->db->placehold("UPDATE __products SET rating = ?, votes = votes + 1 WHERE id = ?", $rate, $product_id);
                $mgc->db->query($query);
                $_SESSION['rating_ids'][] = $product_id; // ������ � ������ ������� ��� �������������
                echo $rate;
            }
            else echo -1; //����� �� ������
        }
        else echo 0; //��� ����������
    }
    else echo -1; //�������� ���������