Файл: admin/rating.php
Строк: 199
<?php
$title = 'Настройки рейтинга';
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if ($adm_id == 1 || $adm_id == 5) {
if ($adm_id == 1) {
echo '<div class="title">Настройки рейтинга</div>';
if (isset($_POST['settings'])) {
$sys['rating']['plus'] = floatval(abs($_POST['plus']));
$sys['rating']['minus'] = floatval(abs($_POST['minus']));
$sys['rating']['chat'] = floatval(abs($_POST['chat']));
// Серфинг
if (isset($_POST['click']) && $sys['modules']['serf'] == 1) {
$sys['rating']['click'] = floatval(abs($_POST['click']));
}
// Задания
if (isset($_POST['task']) && $sys['modules']['task'] == 1) {
$sys['rating']['task'] = floatval(abs($_POST['task']));
}
// Магазин
if (isset($_POST['shop']) && isset($_POST['buy']) && $sys['modules']['shop'] == 1) {
$sys['rating']['shop'] = floatval(abs($_POST['shop']));
$sys['rating']['buy'] = floatval(abs($_POST['buy']));
}
// Форум
if (isset($_POST['forum']) && isset($_POST['forum_rating']) && $sys['modules']['forum'] == 1) {
$sys['rating']['forum'] = floatval(abs($_POST['forum']));
$sys['rating']['forum_rating'] = floatval(abs($_POST['forum_rating']));
}
write_ini_file(FILE_CONFIG, $sys);
header('Location: /adm/rating');
}
echo '<div class="menu">
<form action="" method="POST">
<div class="menu-title">Начислять рейтинг за...</div>
Пополнение баланса:<br/><input type="text" name="plus" value="'.$sys['rating']['plus'].'"><br/>
Вывод средств:<br/><input type="text" name="minus" value="'.$sys['rating']['minus'].'"><br/>
Активность в комментариях и в чате:<br/><input type="text" name="chat" value="'.$sys['rating']['chat'].'"><br/>
'.($sys['modules']['serf'] == 1 ? 'Переходы в сёрфинге:<br/><input type="text" name="click" value="'.$sys['rating']['click'].'"><br/>' : '').
($sys['modules']['task'] == 1 ? 'Выполнение заданий:<br/><input type="text" name="task" value="'.$sys['rating']['task'].'"><br/>' : '').
($sys['modules']['shop'] == 1 ? 'Положительный отзыв к товару продавца:<br/><input type="text" name="shop" value="'.$sys['rating']['shop'].'"><br/>
Покупку товара:<br/><input type="text" name="buy" value="'.$sys['rating']['buy'].'"><br/>' : '').
($sys['modules']['forum'] == 1 ? 'Создание темы на форуме:<br/><input type="text" name="forum" value="'.$sys['rating']['forum'].'"><br/>' : '').'
<div class="menu-title">Для возможности...</div>
'.($sys['modules']['forum'] == 1 ? 'Создавать темы на форуме:<br/><input type="text" name="forum_rating" value="'.$sys['rating']['forum_rating'].'"><br/>' : '').'
<input type="submit" name="settings" value="Сохранить">
</form></div>';
}
echo '<div class="title">Звания пользователей ('.$count_rank.')</div>';
$num_f = $connect->prepare("select count(*) from `rank` where `rating` = ?");
$num_u = $connect->prepare("select count(*) from `rank` where `id` = ?");
$strow = $connect->prepare("select * from `rank` where `id` = ?");
if (isset($_GET['edit'])) {
$num_u->execute(array($_GET['edit']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['edit']));
$row = $strow->fetch();
if (isset($_POST['cancel'])) {
header('Location: /adm/rating');
}
elseif (isset($_POST['ok'])) {
$num_f->execute(array($_POST['rating']));
$error = '';
if (empty($_POST['rating'])) {
$error.= 'Введите рейтинг!<br/>';
}
elseif ($_POST['rating'] < 0) {
$error.= 'Рейтинг не может быть меньше нуля!<br/>';
}
elseif ($num_f->fetchColumn() && $_POST['rating'] != $row['rating']) {
$error.= 'Звание для этого рейтинга уже есть!<br/>';
}
if (empty($_POST['rank'])) {
$error.= 'Введите звание!<br/>';
}
elseif (mb_strlen($_POST['rank']) > 25) {
$error.= 'Звание должно содержать не более 25 символов!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$rating = abs($_POST['rating']);
$stmt = $connect->prepare("update `rank` set `rating` = ?, `rank` = ? where `id` = ?");
if ($stmt->execute(array($rating, $_POST['rank'], $_GET['edit']))) {
header('Location: /adm/rating');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
Звание:<br/><input type="text" name="rank" value="'.$row['rank'].'"><br/>
Рейтинг:<br/><input type="text" name="rating" value="'.$row['rating'].'"><br/>
<input type="submit" name="ok" value="Сохранить ('.intval($_GET['edit']).')">
<input type="submit" name="cancel" value="Отмена">
</form></div>';
} else {
header('Location: /adm/rating');
}
}
elseif (isset($_GET['del'])) {
$num_u->execute(array($_GET['del']));
if ($num_u->fetchColumn()) {
if (isset($_POST['ok'])) {
$stmt = $connect->prepare("delete from `rank` where `id` = ?");
if ($stmt->execute(array($_GET['del']))) {
header('Location: /adm/rating');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['cancel'])) {
header('Location: /adm/rating');
}
echo '<div class="menu">
<form action="" method="POST">
<input type="submit" name="ok" value="Удалить ('.intval($_GET['del']).')"/>
<input type="submit" name="cancel" value="Отмена"/>
</form></div>';
} else {
header('Location: /adm/rating');
}
}
if ($count_rank == 0) {
echo '<div class="menu">NONE</div>';
} else {
$page = new Pagination($count_rank, 10);
$data = $connect->prepare("select * from `rank` order by `rating` desc limit :start, 10");
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();
foreach ($sql as $row) {
echo '<div class="menu">
Звание: '.$row['rank'].'<br/>
Рейтинг: '.$row['rating'].'
<div class="butt2">
<a href="?edit='.$row['id'].'">Редактировать</a>
<a href="?del='.$row['id'].'">Удалить</a>
</div>
</div>';
}
$page->navigation();
}
echo '<div class="title">Новое звание</div>';
if (isset($_POST['submit'])) {
$num_f->execute(array($_POST['rating']));
$error = '';
if (empty($_POST['rating'])) {
$error.= 'Введите рейтинг!<br/>';
}
elseif ($_POST['rating'] < 0) {
$error.= 'Рейтинг не может быть меньше нуля!<br/>';
}
elseif ($num_f->fetchColumn()) {
$error.= 'Звание для этого рейтинга уже есть!<br/>';
}
if (empty($_POST['rank'])) {
$error.= 'Введите звание!<br/>';
}
elseif (mb_strlen($_POST['rank']) > 25) {
$error.= 'Звание должно содержать не более 25 символов!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$rating = abs($_POST['rating']);
$stmt = $connect->prepare("insert into `rank` set `rating` = ?, `rank` = ?");
if ($stmt->execute(array($rating, $_POST['rank']))) {
header('Location: /adm/rating');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
Звание:<br/><input type="text" name="rank"><br/>
Рейтинг:<br/><input type="text" name="rating"><br/>
<input type="submit" name="submit" value="Продолжить">
</form></div>';
} else {
header('location: /');
}
require($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>