Вход Регистрация
Файл: include/ajax/vote_video.php
Строк: 62
<?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';

//$conn->debug = true;

function construct_vote( $likes, $dislikes )
{
    
$output     = array();
    
$output[]   = '<div class="pull-left">';
    
$output[]   = '<i class="glyphicon glyphicon-thumbs-up"></i> <span id="video_likes" class="text-white">' .$likes. '</span>';
    
$output[]   = '</div>';
    
$output[]   = '<div class="pull-right">';
    
$output[]   = '<i class="glyphicon glyphicon-thumbs-down"></i> <span id="video_dislikes" class="text-white">' .$dislikes. '</span>';
    
$output[]   = '</div>';
    
$output[]   = '<div class="clearfix"></div>';
    
    return 
implode("n", $output);
}

$data           = array('msg' => '', 'rate' => 0, 'likes' => 0, 'dislikes' => 0, 'debug' => '');
if ( isset(
$_POST['item_id']) && isset($_POST['vote']) ) {
    
$allowed        = false;
    
$filter         = new VFilter();
    
$video_id       = $filter->get('item_id', 'INTEGER');
    
$vote           = $filter->get('vote', 'STRING');
    
    
$sql            = "SELECT rate, likes, dislikes FROM video WHERE VID = " .$video_id. " LIMIT 1";
    
    
$rs             = $conn->execute($sql);
    
$rate           = $rs->fields['rate'];
    
$likes          = $rs->fields['likes'];
    
$dislikes       = $rs->fields['dislikes'];

    
    if ( 
$config['video_rate'] == 'user' ) {
        if ( isset(
$_SESSION['uid']) ) {
            
$uid        = intval($_SESSION['uid']);
            
$allowed    = true;
        }
    } else {
        
$allowed        = true;
    }
    

    if ( 
$allowed ) {
        if ( 
$config['video_rate'] == 'user' ) {
            
$sql    = "SELECT VID FROM video_vote_users WHERE VID = '" .$video_id. "' AND UID = '" .$uid. "' LIMIT 1";
            
$data['debug'] = $sql;
        } else { 
            
$user_ip = getUserIP();
            
$ip     = ip2long($user_ip);
            
$sql    = "SELECT VID FROM video_vote_ip WHERE VID = '" .$video_id. "' AND ip = '" .$ip. "' LIMIT 1";
        }
        
        
$conn->execute($sql);
        
        if ( 
$conn->Affected_Rows() > 0 ) {
            
$data['msg']    = $lang['ajax.rate_already'];
        } else {

            if (
$vote == 'like') {
                
$likes++;
                
$rate = round(($likes * 100)/($likes + $dislikes));
            }
            else {
                
$dislikes++;
                
$rate = round(($likes * 100)/($likes + $dislikes));
            }
                
            
$sql            = "UPDATE video SET rate = " .$rate. ", likes = " .$likes. ", dislikes = " .$dislikes. " WHERE VID = " .$video_id. " LIMIT 1";
            
            
$data['debug'] = $sql;
            
$conn->execute($sql);
            
            if ( 
$config['video_rate'] == 'user' ) {
                
$sql    = "INSERT INTO video_vote_users VALUES ($video_id, $uid )";
            } else {
                
$sql    = "INSERT INTO video_vote_ip VALUES ($video_id, $ip)";
            }
            
$conn->execute($sql);
        }
    
    } else {
        
$data['msg']            = '<a data-toggle="modal" href="#login-modal">'.$lang['ajax.rate_login'].'</a>';
    }

    
$data['rate']        = $rate;
    
$data['likes']       = $likes;
    
$data['dislikes']    = $dislikes;    
    
$data['construct']   = construct_vote($likes, $dislikes);
    
//$data['user_ip'] = $user_ip;
}

function 
getUserIP() {
    if (isset(
$_SERVER["HTTP_CF_CONNECTING_IP"])) {
              
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
              
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    
$client  = @$_SERVER['HTTP_CLIENT_IP'];
    
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    
$remote  = $_SERVER['REMOTE_ADDR'];

    if(
filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; }
    elseif(
filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; }
    else { 
$ip = $remote; }

    return 
$ip;
}
echo 
json_encode($data);
die();
?>
Онлайн: 0
Реклама