Файл: 3020.ru/file_3020/plugins/votes.php
Строк: 67
<?
if (isset($_GET['delete'])) {
$delete = (int) $_GET['delete'];
$delete = $sql -> fetch("SELECT * FROM `votes` WHERE `id_user` = '$delete' LIMIT 1");
$type = $delete['type'];
if ($level > 2 || $delete['id_user'] == $user['id']) {
if ($delete['id_user'] != $user['id']) {
admin_log($user['id'], 'Сайт|Отзывы', 'Удаление '.($type == 1 ? 'положительного отзыва: [green]"' . $delete['msg'] . '"[/green]' : 'отрицательного отзыва: [red]"' . $delete['msg'] . '"[/red]').'rОт пользователя [url=?func=user.profile&id=' . $delete['id_user'] . ']' . login($delete['id_user']) . '[/url]');
}
$sql -> delete("DELETE FROM `votes` WHERE `id_user` = '$delete[id_user]' LIMIT 1");
$messages[] = 'Отзыв успешно удален';
}
}
//$contv = ($sql -> selectCount("SELECT COUNT(*) FROM `votes` WHERE `id_user` = '$user[id]'") == 0);
$contv = 0;
if (isset($_POST['msg']) && $level > 0 && $contv == 0) {
$msg = $sql->esc($_POST['msg']);
$type = (int) $_POST['type'];
/// Если нет покупок то проверяем заполнен ли вмид и если нет не даём писать
$pokupka = $sql->selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_user` = '{$user['id']}' AND `pays` = '1'");
$tovar = $sql->selectCount("SELECT COUNT(*) FROM `shop_goods` WHERE `id_user` = '{$user['id']}' AND `unlink` = '0' AND `active` = '1'");
if ($pokupka == 0 AND $tovar == 0) {
$err[] = 'Вы не совершали покупок или продаж на сайте';
}
$votec = $sql->selectCount("SELECT COUNT(*) FROM `votes` WHERE `id_user` = '{$user['id']}' AND `time` > '" . (time() - 86400 * 30) . "'");
if ($votec != 0) {
$err[] = 'Можно оставлять только 1 отзыв раз в 30 дней';
}
/*
if ($pokupka == 0) {
if ($user['wmid']==0) {
$err[] = 'Не заполнены реквизиты в анкете !'; /// by_Mstivoj
}
}
*/
if ($pokupka == 0) {
}
if (strlen2($msg) > 512) {
$err[] = 'Сообщение слишком длинное';
} elseif (strlen2($msg) < 2) {
$err[] = 'Сообщение слишком короткое';
}
if (!isset($err)) {
if ($type == 1) {
admin_journal($user['id'], 'other', " оставил".($user['pol']==0?'a':null)." [green]положительный[/green] о [url=?func=votes]магазине[/url]");
} elseif ($type == 0) {
admin_journal($user['id'], 'other', " оставил".($user['pol']==0?'a':null)." [red]отрицательный[/red] о [url=?func=votes]магазине[/url]");
}
$sql -> insert("INSERT INTO `votes` (`id_user`, `time`, `msg`, `type`) VALUES ('" . $user['id'] . "', '$time', '$msg', '$type')");
$_SESSION['message'] = 'Отзыв успешно отправлен';
header('Location: ?func=' . $func);
exit;
}
}
if (isset($_GET['view']) && $level > 2) {
$id_user = (int) $_GET['view'];
$id_us = $sql -> fetch("SELECT * FROM `users` WHERE `id` = '$id_user' LIMIT 1");
$vote = $sql -> fetch("SELECT * FROM `votes` WHERE `id_user` = '$id_us[id]' LIMIT 1");
if ($vote['view'] == 0 && isset($id_us['id'])) {
$sql -> update("UPDATE `votes` SET `view` = '1' WHERE `id_user` = '$id_us[id]' LIMIT 1");
$_SESSION['message'] = 'Отзыв успешно одобрен';
header('Location: ?func=' . $func);
exit;
}
}
if ($level == 0) {
$where = "";
} elseif ($level > 2) {
$where = "";
} else {
$where = "WHERE (`view` = '1' OR `id_user` = '$user[id]')";
}
$system['title'] = 'Отзывы о магазине';
require SYS . 'header.php';
if ($level > 0 && $contv == 0) {
?>
<form class="form_t" action="?func=votes" method="POST" style="margin: 2px;">
<? if (is_file(THEME . 'php/form.textarea.php')) {
require THEME . 'php/form.textarea.php';
} else {
?><textarea style="width: 75%;" name="msg" id="msg" placeholder="Cообщение..."><?= $insert?></textarea><br /><?
}
?>
<select name="type" id="type" class="span2">
<option value='1' selected='selected'>Положительный</option>
<option value='0'>Отрицательный</option>
</select><br />
<button type="submit" class="btn">Отправить отзыв</button>
</form>
<?
}
$k_post = $sql -> selectCount("SELECT COUNT(*) FROM `votes` $where");
if ($k_post == 0) {
?>
<div class="alert" style="margin: 2px;">Список отзывов пуст</div>
<?
} else {
$k_page = k_page($k_post, $system['page_str']);
$page = page($k_page);
$start = $system['page_str'] * $page - $system['page_str'];
$array = $sql -> select("SELECT * FROM `votes` $where ORDER BY `time` DESC LIMIT $start, $system[page_str]");
foreach ($array AS $post) {
$num++;
?>
<div class="<?= ($num % 2 ? "nav1" : "nav2")?>">
<?
/*
if ($level > 2 || $post['id_user'] == $user['id']) {
*/
if ($level > 2) {
?>
<a class="close" href="?func=votes&delete=<?= $post['id_user']?>"><i class="icon-remove"></i></a>
<? } ?>
<?= login($post['id_user'], 1)?> (<?= vremja($post['time'])?>)<br />
<span class="<?= ($post['type'] == 0 ? 'off' : 'on')?>"><?= text_out($post['msg'])?></span><br />
<? if ($level > 2 && $post['view'] == 0) { ?>
[<a href="?func=votes&view=<?= $post['id_user']?>">одобрить</a>]
<? } ?>
</div>
<?
}
if ($k_page > 1) {
str('?func=' . $func . '&', $k_page, $page);
}
}
?>