Файл: adultscript-2.0.3-pro/files/templates/defboot/extend/ajax/playlist_rate.plugin.php
Строк: 52
<?php
function ajax_plugin_playlist_rate()
{
$data = array('status' => 0, 'code' => '', 'msg' => '', 'debug' => '');
VLanguage::load('frontend.video');
if (VCfg::get('video.playlist_rating') != '1') {
$data['msg'] = __('rating-disabled');
return json_encode($data);
}
if (isset($_POST['rating']) && isset($_POST['playlist_id'])) {
$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : 0;
if (VCfg::get('video.playlist_rating_type') == 'user' && !$user_id) {
$data['msg'] = __('rating-login');
return json_encode($data);
}
$playlist_id = (int) trim($_POST['playlist_id']);
$vote = (int) trim($_POST['rating']);
$ip = VServer::ip(true);
$db = VF::factory('database');
if (VCfg::get('video.playlist_rating_count') == '1') {
if (VCfg::get('video.playlist_rating_type') == 'user') {
$sql = "SELECT rating_id
FROM #__playlist_rating
WHERE playlist_id = ".$playlist_id."
AND voter_id = ".$user_id."
LIMIT 1";
} else {
$sql = "SELECT rating_id
FROM #__playlist_rating
WHERE playlist_id = ".$playlist_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, rated_by
FROM #__playlist
WHERE playlist_id = ".$playlist_id."
LIMIT 1");
if ($db->affected_rows()) {
$data = $db->fetch_assoc();
$likes = $data['likes'];
$rated_by = $data['rated_by'];
$likes = ($vote === 1) ? $likes+1 : $likes;
$rated_by = $rated_by+1;
$db->query("UPDATE #__playlist
SET likes = ".$likes.",
rated_by = ".$rated_by."
WHERE playlist_id = ".$playlist_id."
LIMIT 1");
$db->query("INSERT INTO #__playlist_rating
SET playlist_id = ".$playlist_id.",
voter_id = ".$user_id.",
voter_ip = ".$ip.",
rating = ".$vote.",
add_time = ".time());
VF::factory('cache')->remove('playlist_'.$playlist_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'] = __('playlist-invalid');;
}
}
return json_encode($data);
}