Файл: modules/admin.php
Строк: 158
<?php
/**
* @author Moroz Taras (-= MTV =-)
*/
namespace functions;
session_start();
$mod = (isset($_GET['mod']) ? a_filter_url($_GET['mod']) : NULL);
switch($mod) :
default:
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
a_header('Админ панель');
echo '<div class="title">Админ панель</div>
<div class="about">
<p><a href="/?act=admin&mod=bonus"><img src="' . a_img('bonus.png') . '" alt="*"> Управление бонусами</a></p>
<p><a href="/?act=admin&mod=users"><img src="' . a_img('users.png') . '" alt="*"> Управление пользователями</a></p>
<p><a href="/?act=admin&mod=news"><img src="' . a_img('news.png' ) . '
" alt="*"> Управление новостями</a></p>
<a href="/">Вернуться на главную</a></p></div>';
a_footer();
} else {
exit(header('Location: /'));
}
} else {
exit(header('Location: /'));
}
break;
////////////
//********//
case 'pay.ok':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
$id = a_filter_int($_GET['id']);
$stmt = $db->prepare('SELECT * FROM `db_pay` WHERE `id` = :id LIMIT 1');
$stmt->bindValue(':id', $id);
$stmt->execute();
$fetch = $stmt->fetch();
if(!empty($fetch)) {
a_header('Оплатить юзеру платеж');
echo '<div class="title">Оплатить платеж '.$fetch['text'].'</div>
<div class="about">';
if(isset($_GET['true'])) {
$stmt = $db->prepare('UPDATE `db_users` SET `money` = `money` + :money WHERE `id` = :id');
$stmt->bindValue(':money', ($fetch['money']));
$stmt->bindValue(':id', $fetch['id_user']);
$stmt->execute();
$db->exec('DELETE FROM `db_pay` WHERE `id` = "'.$fetch['id'].'"');
header('Location: /?act=admin&mod=pay');
exit();
}
echo '<a href="/?act=admin&mod=pay.ok&id='.$fetch['id'].'&true">Действительно оплатить?</a>';
echo '<hr>
<p><a href="/?act=admin">Назад в админ панель</a></p>
</div>';
a_footer();
}
} else {
header('Location: /?act=admin&mod=users');
exit();
}
} else {
header('Location: /');
exit();
}
break;
case 'pay':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
a_header('Управление платежами');
echo '<div class="title">Управление платежами</div>
<div class="about">';
$cop = 10;
$ca = $db->query('SELECT `id` FROM `db_pay`')->rowCount();
$cp = ceil($ca/$cop);
if(isset($_GET['p']) && is_numeric($_GET['p'])){
$p = $_GET['p'];
if($_GET['p']>$cp) $p = $cp;
if($_GET['p']<1)$p = 1;
}else{
$p = 1;
}
$start = $p*$cop-$cop;
$users = $db->query("SELECT * FROM `db_pay` ORDER BY `id` DESC LIMIT $start, $cop");
while($u = $users->fetch()) {
echo '<p>Юзер: '.get_User_tj($u['id_user']).' подал заявку <b>'.$u['text'].'</b><br/> Сумма: '.$u['money'].'<br/>
<small>'.a_time(time()-$u['time']).'</small>
<a href="?act=admin&mod=pay.ok&id='.$u['id'].'"> Оплатить</a></p>';
}
echo '<div class="list1">Стр. ';
if($p-2>0) echo '<a href="/?act=admin&mod=pay&p=1"><<</a> ';
if($p-1>0) echo '<a href="/?act=admin&mod=pay&p='.($p-1).'"><</a> ';
if($p-3>0) echo '<a href="/?act=admin&mod=pay&p='.($p-3).'">'.($p-3).'</a> | ';
if($p-2>0) echo '<a href="/?act=admin&mod=pay&p='.($p-2).'">'.($p-2).'</a> | ';
if($p-1>0) echo '<a href="/?act=admin&mod=pay&p='.($p-1).'">'.($p-1).'</a> | ';
echo '<b>'.$p.'</b>';
if($p+1<=$cp) echo ' | <a href="/?act=admin&mod=pay&p='.($p+1).'">'.($p+1).'</a>';
if($p+2<=$cp) echo ' | <a href="/?act=admin&mod=pay&p='.($p+2).'">'.($p+2).'</a>';
if($p+3<=$cp) echo ' | <a href="/?act=admin&mod=pay&p='.($p+3).'">'.($p+3).'</a>';
if($p+1<=$cp) echo ' <a href="/?act=admin&mod=pay&p='.($p+1).'">></a>';
if($p+2<=$cp) echo ' <a href="/?act=admin&mod=pay&p='.ceil($ca/$cop).'">>></a>';
echo '</div>';
echo '<hr>
<p><a href="/?act=admin">Назад в админ панель</a></p>
</div>';
a_footer();
} else {
exit(header('Location: /'));
}
} else {
exit(header('Location: /'));
}
break;
////////////
//********//
case 'delete_user':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
$id = a_filter_int($_GET['id']);
$stmt = $db->prepare('SELECT `id` FROM `db_users` WHERE `id` = :id LIMIT 1');
$stmt->bindValue(':id', $id);
$stmt->execute();
$fetch = $stmt->fetch();
if(!empty($fetch)) {
if($fetch['id'] == 1) {
header('Location: /?act=admin&mod=users');
exit();
} else {
a_header('Удалить пользователя');
echo '<div class="title">Удалить пользователя</div>
<div class="about">';
if(isset($_GET['true'])) {
$db->exec('DELETE FROM `db_users` WHERE `id` = "'.$fetch['id'].'"');
header('Location: /?act=admin&mod=users');
exit();
}
echo '<a href="/?act=admin&mod=delete_user&id='.$fetch['id'].'&true">Действительно удалить?</a>';
echo '<hr>
<p><a href="/?act=admin">Назад в админ панель</a></p>
</div>';
a_footer();
}
} else {
header('Location: /?act=admin&mod=users');
exit();
}
} else {
header('Location: /');
exit();
}
} else {
header('Location: /');
exit();
}
break;
case 'users':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
a_header('Управление пользователями');
echo '<div class="title">Управление пользователями</div>
<div class="about">';
$cop = 10;
$ca = $db->query('SELECT `id` FROM `db_users`')->rowCount();
$cp = ceil($ca/$cop);
if(isset($_GET['p']) && is_numeric($_GET['p'])){
$p = $_GET['p'];
if($_GET['p']>$cp) $p = $cp;
if($_GET['p']<1)$p = 1;
}else{
$p = 1;
}
$start = $p*$cop-$cop;
$users = $db->query("SELECT * FROM `db_users` ORDER BY `id` ASC LIMIT $start, $cop");
while($u = $users->fetch()) {
echo '<p>ID: ' . $u['id'] . ' - <font color="red">' . $u['payeer'] .'</font> ('. $u['ml'] . ') '.($u['id'] != 1 ? '[<a href="/?act=admin&mod=delete_user&id='.$u['id'].'">Удалить</a>]' : NULL).'</p>';
}
echo '<div class="list1">Стр. ';
if($p-2>0) echo '<a href="/?act=admin&mod=users&p=1"><<</a> ';
if($p-1>0) echo '<a href="/?act=admin&mod=users&p='.($p-1).'"><</a> ';
if($p-3>0) echo '<a href="/?act=admin&mod=users&p='.($p-3).'">'.($p-3).'</a> | ';
if($p-2>0) echo '<a href="/?act=admin&mod=users&p='.($p-2).'">'.($p-2).'</a> | ';
if($p-1>0) echo '<a href="/?act=admin&mod=users&p='.($p-1).'">'.($p-1).'</a> | ';
echo '<b>'.$p.'</b>';
if($p+1<=$cp) echo ' | <a href="/?act=admin&mod=users&p='.($p+1).'">'.($p+1).'</a>';
if($p+2<=$cp) echo ' | <a href="/?act=admin&mod=users&p='.($p+2).'">'.($p+2).'</a>';
if($p+3<=$cp) echo ' | <a href="/?act=admin&mod=users&p='.($p+3).'">'.($p+3).'</a>';
if($p+1<=$cp) echo ' <a href="/?act=admin&mod=users&p='.($p+1).'">></a>';
if($p+2<=$cp) echo ' <a href="/?act=admin&mod=users&p='.ceil($ca/$cop).'">>></a>';
echo '</div>';
echo '<hr>
<p><a href="/?act=admin">Назад в админ панель</a></p>
</div>';
a_footer();
} else {
exit(header('Location: /'));
}
} else {
exit(header('Location: /'));
}
break;
case 'bonus':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
a_header('Админ панель');
$val = $db->query('SELECT `bonus` FROM `db_info`')->fetch();
echo '<div class="title">Админ панель</div>
<div class="about">Бонус за день <form method="POST">
<p><input type="text" name="val" value="'.$val['bonus'].'"></p>
<p><input type="submit" name="ready" value="Установить"></p>
</form>';
echo (isset($_SESSION['info']) ? '<div style="color:green;text-align:center;font-weight:bold;">' . $_SESSION['info'] . '</div>' : NULL);
unset($_SESSION['info']);
if(isset($_POST['ready'])) {
$filtering = array(
'val' => a_filter_str($_POST['val'])
);
if(empty($filtering['val'])) {
echo '<div style="color:red;text-align:center;font-weight:bold;">Ошибка ввода</div>';
} else {
$stmt = $db->prepare('UPDATE `db_info` SET `bonus` = :bonus');
$stmt->bindValue(':bonus', $filtering['val']);
$stmt->execute();
$_SESSION['info'] = 'Успешно.';
header('Location: /?act=admin&mod=bonus');
exit();
}
}
echo '<p><a href="/">Вернуться на главную</a></p>
</div>';
a_footer();
} else {
exit(header('Location: /'));
}
} else {
exit(header('Location: /'));
}
break;
case 'news':
if(a_isUser() === true) {
if(a_isUser('access') == 1) {
a_header('Админ панель');
echo '<div class="title">Админ панель</div>
<div class="about">
<form method="POST">
<p><input type="text" name="name" placeholder="Название темы:"></p>
<p><textarea name="msg" placeholder="Введите сообщение новости:"></textarea></p>
<p><input class="input_submit" type="submit" name="ready" value="Добавить новость"></p>
</form>';
if(isset($_POST['ready'])) {
$filtering = array(
'name' => trim($_POST['name']),
'msg' => trim($_POST['msg'])
);
$stmt = $db->prepare('SELECT `name` FROM `db_news` WHERE `name` = :name LIMIT 1');
$stmt->bindValue(':name', $filtering['name']);
$stmt->execute();
$news = $stmt->fetch();
if(empty($filtering['name']) or empty($filtering['msg'])) {
echo '<div style="color:red;text-align:center;font-weight:bold;">Ошибка ввода.</div>';
} else if(!empty($news)) {
echo '<div style="color:red;text-align:center;font-weight:bold;">Название новости уже используется.</div>';
} else {
$stmt = $db->prepare('INSERT INTO `db_news` SET `name` = :name, `msg` = :msg, time = :time');
$stmt->bindValue(':name', $filtering['name']);
$stmt->bindValue(':msg', $filtering['msg']);
$stmt->bindValue(':time', time());
$stmt->execute();
header('Location: /?act=news');
exit();
}
}
echo '<p><a href="/">Вернуться на главную</a></p>
</div>';
a_footer();
} else {
exit(header('Location: /'));
}
} else {
exit(header('Location: /'));
}
break;
endswitch;