- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
function IndexDownloadsAddVote()
{
global $db, $config, $site, $user;
$ip = getip();
$file = SafeEnv($_GET['file'], 11, int); // ид файла
$cat = SafeEnv($_GET['cat'], 11, int); // категория
$vote = SafeEnv($_POST['vote'], 1, int); // голос
$site->OtherMeta .= '<meta http-equiv="REFRESH" content="2; URL=index.php?name=downloads&op=full&cat='.$cat.'&file='.$file.'">';
$where = "`id`='$file' and `active`='1'"; // where для downloads
$ex_where = GetWhereByAccess('view'); // видимость
if($ex_where != ''){
$where .= ' and ('.$ex_where.')';
}
$db->Select('downloads', $where); // ищем файл
if($db->NumRows() > 0){ // существует ли файл
$dfile = $db->FetchRow(); // пищем файл в переменную
if($dfile['allow_votes']=='1'){ // оценки разрешены
if($user->Auth) {
$where = "`user_id` = '".$user->Get('u_id')."'";
} else {
$where = "`ip` = '".$ip."'";
}
$db->Select('downloads_rating', $where); // Делаем запрос
if($vote==0){
$site->AddTextBox('','<center>Вы не выбрали оценку.<br /><br /><a href="javascript:history.go(-1)">Назад</a></center>');
} else {
$user->ChargePoints($config['points']['download_rating']);
$time = time();
if($db->NumRows()>0) {
$db->Update('downloads_rating', "`vote` = '$vote'", "(`user_id` = '".($user->Auth ? $user->Get('u_id') : 0)."' or `ip` = '$ip') and `downid` = '$file'");
$numvotes = SafeDB($dfile['votes_amount'],11,int);
} else {
$db->Insert('downloads_rating',"'','$file','$ip','$time','$vote','".($user->Auth ? $user->Get('u_id') : 0)."'");
$numvotes = SafeDB($dfile['votes_amount'],11,int)+1;
}
$vote = SafeDB($dfile['votes'],11,int)+$vote;
$db->Update('downloads',"votes_amount='$numvotes',votes='$vote'","`id`='$file'");
$site->AddTextBox('','<center>Спасибо за вашу оценку.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}else{
//Оценка запрещена
$site->AddTextBox('','<center>Извините, оценка этого файла запрещена.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}else{
//Файл не существует
$site->AddTextBox('','<center>Произошла ошибка. Файл, который вы пытаетесь оценить, не найден в нашем файловом архиве. Возможно он был удален.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}