Вход Регистрация
Файл: include/ajax/vote.php
Строк: 52
<?php
defined
('_VALID') or die('Restricted Access!');

if ( 
$config['video_module'] == '0' ) {
    die();
}

require 
$config['BASE_DIR']. '/classes/filter.class.php';
require 
$config['BASE_DIR']. '/include/adodb/adodb.inc.php';
require 
$config['BASE_DIR']. '/include/compat/json.php';
require 
$config['BASE_DIR']. '/include/dbconn.php';

$data           = array('status' => 0'msg' => '''rate' => 0'likes' => 0'dislikes' => 0'debug' => '');

if ( isset(
$_POST['type']) && isset($_POST['id']) && isset($_POST['vote'])) {


    
$filter   = new VFilter();
    
$id      $filter->get('id''INTEGER');
    
$type     $filter->get('type''STRING');    
    
$vote     $filter->get('vote''STRING');
    
$prefix      substr(ucfirst($type),0,1);            

    switch (
$type) {
        case 
'user':
            
$table   'signup';
            
$prefix_r  'R';            
            break;
        case 
'video':
            
$table      'video';
            
$prefix_r  'V';            
            break;
        case 
'photo':
            
$table   'photos';
            
$prefix_r  'P';                        
            break;        
    }

    
$sql            "SELECT rate, likes, dislikes FROM ".$table." WHERE ".$prefix."ID = " .$id" LIMIT 1";
    
$rs             $conn->execute($sql);
    
$rate           $rs->fields['rate'];
    
$likes          $rs->fields['likes'];
    
$dislikes       $rs->fields['dislikes'];


    if ( 
$config[$type.'_rate'] == 'user' ) {
        if ( isset(
$_SESSION['uid']) ) {
            
$uid intval($_SESSION['uid']);
            
$sql "SELECT ".$prefix_r."ID FROM ".$type."_rating_id WHERE ".$prefix_r."ID = " .$id" AND UID = " .$uid" LIMIT 1";        
            
$conn->execute($sql);
            if ( 
$conn->Affected_Rows() == ) {
                
$data['msg'] = $lang['ajax.rate_already'];
            } else {
                if (
$vote == 'up') {
                    
$likes++;
                    
$rate round(($likes 100)/($likes $dislikes));
                } else {
                    
$dislikes++;
                    
$rate round(($likes 100)/($likes $dislikes));
                }
                
$sql "UPDATE ".$table." SET rate = " .$rate", likes = " .$likes", dislikes = " .$dislikes" WHERE ".$prefix."ID = " .$id" LIMIT 1";        
                
$conn->execute($sql);
                
$sql "INSERT INTO ".$type."_rating_id SET ".$prefix_r."ID = " .$id", UID = " .$uid;
                
$conn->execute($sql);                
                
$data['status'] = 1;
                
$data['vote'] = $vote;
                
$data['rate'] = $rate;
            }                
        } else {
            
$data['msg'] = $lang['ajax.rate_login'];            
        }
    } else {
        if (
$prefix_r  == 'R') {
            
$prefix_r 'U';
        }
        
        if (
array_key_exists('HTTP_X_FORWARDED_FOR'$_SERVER)) {
            
$ip ip2long(array_pop(explode(','$_SERVER['HTTP_X_FORWARDED_FOR'])));        
        } else{
            
//Otherwise, use REMOTE_ADDR.
            
$ip ip2long($_SERVER['REMOTE_ADDR']);
        }
        
        
$sql "SELECT ".$prefix_r."ID FROM ".$type."_rating_ip WHERE ".$prefix_r."ID = " .$id" AND ip = " .$ip" LIMIT 1";        
        
$conn->execute($sql);
        if ( 
$conn->Affected_Rows() == ) {
            
$data['msg'] = $lang['ajax.rate_already'];
        } else {
            if (
$vote == 'up') {
                
$likes++;
                
$rate round(($likes 100)/($likes $dislikes));
            } else {
                
$dislikes++;
                
$rate round(($likes 100)/($likes $dislikes));
            }
            
$sql "UPDATE ".$table." SET rate = " .$rate", likes = " .$likes", dislikes = " .$dislikes" WHERE ".$prefix."ID = " .$id" LIMIT 1";    
            
$conn->execute($sql);
            
$sql "INSERT INTO ".$type."_rating_ip SET ".$prefix_r."ID = " .$id", ip = " .$ip;
            
$conn->execute($sql);                
            
$data['status'] = 2;
            
$data['vote'] = $vote;
            
$data['rate'] = $rate;
        }        
    }
}
$data['likes']      = $likes;
$data['dislikes'] = $dislikes;            
echo 
json_encode($data);
die();
?>
Онлайн: 0
Реклама