Файл: adultscript-2.0.3-pro/files/templates/defboot/extend/ajax/video_rate.plugin.php
Строк: 63
<?php
function ajax_plugin_video_rate()
{
$data = array('status' => 0, 'code' => '', 'msg' => '', 'debug' => '');
VLanguage::load('frontend.video');
if (VCfg::get('video.allow_rating') != '1') {
$data['msg'] = __('rating-disabled');
return json_encode($data);
}
if (isset($_POST['rating']) && isset($_POST['video_id'])) {
$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : 0;
if (VCfg::get('video.rating_type') == 'user' && !$user_id) {
$data['msg'] = __('rating-login');
return json_encode($data);
}
$video_id = (int) trim($_POST['video_id']);
$vote = (int) trim($_POST['rating']);
$ip = VServer::ip(TRUE);
$db = VF::factory('database');
if (VCfg::get('video.rating_count') == '1') {
if (VCfg::get('video.rating_type') == 'user') {
$sql = "SELECT rating_id
FROM #__video_rating
WHERE video_id = ".$video_id."
AND voter_id = ".$user_id."
LIMIT 1";
} else {
$sql = "SELECT rating_id
FROM #__video_rating
WHERE video_id = ".$video_id."
AND voter_ip = ".$ip."
LIMIT 1";
}
$db->query($sql);
if ($db->affected_rows()) {
$data['msg'] = __('rating-already');
return json_encode($data);
}
}
$db->query("SELECT likes, rating, rated_by
FROM #__video
WHERE video_id = ".$video_id."
LIMIT 1");
if ($db->affected_rows()) {
$data = $db->fetch_assoc();
$likes = $data['likes'];
$rating = $data['rating'];
$rated_by = $data['rated_by'];
$likes = ($vote === 1) ? $likes+1 : $likes;
$value = round($rating*$rated_by, 2);
$rating = ($vote === 1) ? $value+5 : $value+1;
$rated_by = $rated_by+1;
$rating = round($rating/$rated_by, 2);
$db->query("UPDATE #__video
SET likes = ".$likes.",
rating = ".$rating.",
rated_by = ".$rated_by."
WHERE video_id = ".$video_id."
LIMIT 1");
$db->query("INSERT INTO #__video_rating
SET video_id = ".$video_id.",
voter_id = ".$user_id.",
voter_ip = ".$ip.",
rating = ".$vote.",
add_time = ".time());
VF::factory('cache')->remove('video_'.$video_id);
$percent = round(($likes*100)/$rated_by);
$code = $percent.'% ('.$likes.'/'.$rated_by.') ';
$code .= '<div class="progress">';
$code .= '<div class="progress-bar" role="progressbar" aria-valuenow="'.$percent.'" aria-valuemin="0" aria-valuemax="100" style="width:'.$percent.'%;">';
$code .= '<span class="sr-only">'.$percent.'% Complete</span>';
$code .= '</div>';
$code .= '</div>';
$data['status'] = 1;
$data['code'] = $code;
} else {
$data['msg'] = __('video-invalid');;
}
}
return json_encode($data);
}