<?php
require_once('../classes/body.class.php');
require_once('../classes/db.class.php');
require_once('../classes/system.class.php');
$title= new Body;
$query = DB :: $dbs -> query ("SELECT * FROM `blogger` WHERE (`id`=?)", [(int) $_GET['id']]);
if ($query -> rowCount () == 0) {
header ('location: /');
exit;
}
$a = $query -> fetch ();
$title->SetTitle('Управление пользователем ' . $a['nick'].'');
$title->GetHeader();
if ($b['level'] == 0) {
header('location:/');
die();
}
$i = isset($_GET['i']) ? check($_GET['i']) : false;
switch($i) {
default:
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Управление ' . $a['nick'].'</div></div></div>';
if (isset($_GET['wm'])) {
if ($a['wm'] == 1) {
header('location: /');
}
DB::$dbs->query("UPDATE blogger SET wm = ? WHERE id = ?", [1,$a['id']]);
header('location: ?id='.$a['id']);
}
if ($a['activ'] == 1) {
} else {
echo '<div class="list-group-item media"><i class="zmdi zmdi-shuffle"></i> Регистрацию '.($a['activ'] == 0 ? 'подтвердил':'отклонил').' '.Nick($a['activ_who']).'</div>';
}
echo '<div class="tile">';
if ($b['level'] >= 3) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="klon.php?ip=' . $a['ip'] . '"><i class="zmdi zmdi-shuffle"></i> Пробить на клонов</a></ul>';
}
if ($b['level'] >= 5 && $a['wm'] == 0) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?id=' . $a['id'] . '&wm"><i class="zmdi zmdi-shuffle"></i> Подтвердить WMID</a></ul>';
}
if ($b['level'] >= 5) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=email&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Сменить Email</a></ul>';
}
echo '<ul class="nav nav-pills nav-stacked"><li><a href="ban.php?id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Заблокировать</a></ul>';
if ($b['level'] >= 3) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=nick&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Сменить логин</a></ul>';
}
if ($b['level'] >= 4) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=ank&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Анкетные данные</a></ul>';
}
if ($b['level'] >= 5) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=dolj&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Выдача должностей</a></ul>';
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=wm&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Управление Webmoney</a></ul>';
}
if ($b['level'] >= 3) {
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=nak&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> История наказаний</a></ul>';
echo '<ul class="nav nav-pills nav-stacked"><li><a href="?i=logs&id=' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> История авторизаций</a></ul>';
}
echo '<ul class="nav nav-pills nav-stacked"><li><a href="/users/' . $a['id'] . '"><i class="zmdi zmdi-shuffle"></i> Вернуться в анкету ' . $a['nick'].'</a></ul>';
echo '</div>';
break;
case 'nak':
if ($b['level'] < 3) {
header('location:/');
}
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: История наказаний ' . $a['nick'].'</div></div></div>';
$look = DB::$dbs -> querySingle("SELECT COUNT(id) FROM nar WHERE user_id = ?",[$id]);
$num = 10;
$k_page = k_page($look, $num);
$page = page($k_page);
$start = $num*$page-$num;
if ($look==0) {
echo '<div class="alert alert-danger">Этот пользователь не имеет предупреждений!</div>';
} else {
$sql = DB::$dbs->query("SELECT * FROM nar WHERE user_id = ? ORDER BY time DESC LIMIT $start,$num",[$id]);
while ($arr = $sql -> fetch()) {
$arrType = [1 => 'Предупреждение', 2 => 'Нарушение', 3 => 'Бан'];
echo'<div class="list-group-item media">Тип: <b>'.strtr($arr['type'],$arrType).'</b><br/>Выдано: '.vr($arr['time']).'<br/>'.($arr['type'] == 3 ? 'Действует до: '.date('d.m.y / H:i', $arr['dateban']).'<br/>':NULL).'Модератор: '.Nick($arr['id_user']).' ';
if (!empty($arr['tema'])) {
echo '<br/>В соответствии с пунктом: <b>'.($arr['nar'] != 0 ? $arr['nar'] : 'На усмотрение администратора').'</b>';
}
if (!empty($arr['message'])) {
echo '<br/>Текст на момент наказания: '.text($arr['message']);
}
echo '<br/>Комментарий от модератора: '.text($arr['text']).'<br/>'.(!empty($arr['tema']) ? 'Ссылка на тему: <a href="'.$arr['tema'].'">'.$arr['tema'].'</a>': NULL).'</div>';
}
}
if ($k_page>1) {
str('?id='.$id.'&', $k_page,$page);
}
break;
case 'logs':
if ($b['level'] < 3) {
header('location:/');
}
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Логи авторизаций ' . $a['nick'].'</div></div></div>';
$look = DB::$dbs->querySingle("SELECT COUNT(id) FROM auth_log WHERE user_id = ?", [$a['id']]);
if ($look == 0) {
err('Пусто!');
}
$num = 10;
$k_page = k_page($look, $num);
$page = page($k_page);
$start = $num*$page-$num;
$sql = DB::$dbs->query("SELECT * FROM auth_log WHERE user_id = ? ORDER BY id DESC LIMIT $start,$num", [$a['id']]);
while($a = $sql->fetch()) {
echo '<div class="list-group-item media"><i class="zmdi zmdi-shuffle"></i> IP: <a href="klon.php?ip='.$a['ip'].'">'.$a['ip'].'</a> ('.vr($a['time']).') '.($a['type'] == 1 ? '[<b><font color="green">Удачно</font></b>]':'[<b><font color="red">Неудачно</font></b>]').'</br>Soft: '.$a['soft'].'<br/></div>';
}
if ($k_page > 1) {
str('?i=logs&id='.$id.'&',$k_page,$page);
}
break;
case 'email':
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Сменить пароль ' . $a['nick'].'</div></div></div>';
if (isset($_POST['pass'])) {
$newpass = check($_POST['newpass']);
$newpass2 = check($_POST['newpass2']);
if(empty($newpass) || empty($newpass2)) {
err('Все поля обязательны к заполнению!');
} elseif (mb_strlen($newpass) > 15 && mb_strlen($newpass2) > 15) {
err('Не больше 15 символов.');
}
elseif ($newpass != $newpass2){
err('Новый пароль не совпадает с подтвержденным паролем!');
} elseif (!preg_match('/[A-z0-9]/i', $newpass)) {
err('Запрещенные символы в новом пароле.');
} else {
DB::$dbs->query("UPDATE blogger SET pass = ? WHERE id = ? LIMIT 1",[sha1($newpass.'gearnet'),$a['id']]);
setcookie('pass', '');
setcookie('pass', sha1($newpass.'gearnet'), time()+3600*24*365);
echo '<div class="alert alert-success" role="alert"> Пароль успешно изменен!</div>';
}
}
echo '<div class="list-group-item media"> <form action="?i=email&id='.$a['id'].'" method="post">Новый пароль:<br /><input type="text" class="form-control" name="newpass"/><br />Подтвердите новый пароль:<br /><input type="text" class="form-control" name="newpass2"/><br /><input type="submit" name="pass" class="btn btn-primary" value="Отправить"/></form></div>';
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Сменить E-mail ' . $a['nick'].'</div></div></div><div class="list-group-item media">';
echo '<form method="post" action="?i=email&id='.$a['id'].'&save">';
echo 'Текущий основной E-mail:<br/><input type="text" class="form-control" name="email" value="' . $a['email'] . '"></br>';
echo 'Текущий секретный E-mail:<br/><input type="text" class="form-control" name="email_secret" value="' . $a['email_secret'] . '"></br>';
echo '<input type="submit" class="btn btn-primary" value="Отправить">';
echo '</form></div>';
if (isset($_GET['save'])) {
$email = check($_POST['email']);
$email_secret = check($_POST['email_secret']);
if (empty($email) OR empty($email_secret)) {
err('Поля не должны быть пустыми!');
} else {
DB::$dbs->query("UPDATE `blogger` SET `email` = ?, `email_secret` = ? WHERE (`id`='" . $a[ 'id' ] . "')", [$email,$email_secret]);
if ($email != $a['email']) {
jurnal($a['id'],Nick($b['id']).' сменил ваш основной E-mail на <b>'.$email.'</b>',5);
}
if ($email_secret != $a['email_secret']) {
jurnal($a['id'],Nick($b['id']).' сменил ваш секретный E-mail на <b>'.$email_secret.'</b>',5);
}
echo '<div class="alert alert-success" role="alert"> Данные успешно изменены!</div>';
}
}
break;
case 'nick':
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Сменить ник</div></div></div>';
echo '<div class="list-group-item media"><form method="post" action="?i=nick&id='.$a['id'].'">';
echo 'Ник:<br/><input type="text" class="form-control" name="nick" value="' . $a['nick'] . '"><br/><input type="submit" name="save" class="btn btn-primary" value="Сохранить"></form></div>';
if (isset($_POST['save'])) {
$nick = check($_POST['nick']);
if (empty($nick)) {
err('Поле не должно быть пустым!');
} else {
DB::$dbs->query("INSERT INTO `nicks` SET `old` = ?, `new` = ?, `kem` = ?, `us` = ?, `time` = ?", [$a['nick'],$nick,$b['id'],$a['id'],time()]);
lenta(Nick($b['id']).' сменил ник мастеру '.Nick($a['id']).' на [b]'.$nick.'[/b]');
DB::$dbs->query("UPDATE `blogger` SET `nick` = ? WHERE `id` = ?", [$nick,$a['id']]);
echo '<div class="alert alert-success">Данные успешно изменены!</div>';
}
}
$query = DB :: $dbs -> query ("SELECT * FROM `nicks` WHERE (`us`='" . $a['id'] . "')");
echo'<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i> История ников: (' . $query -> rowCount () .')</a></div></div></div>
<div class="list-group-item media">';
$query = DB :: $dbs -> query ("SELECT * FROM `nicks` WHERE (`us`='" . $a['id'] . "')");
if($query -> rowCount () == 0) { echo Nick ($a['id']) . ' не менял ник!'; } else {
$query = DB :: $dbs -> query ("SELECT * FROM `nicks` WHERE (`us`='" . $a['id'] . "') ORDER BY `id` DESC");
while ($nick = $query -> fetch ()) {
echo '<b>' . $nick['old'] . '</b> -> <b>' . $nick['new'] . '</b><br>Сменил: ' . Nick ($nick['kem']) . ' (' . vr ($nick['time']) . ')<hr/>';
}}
echo'</div>';
break;
case 'dolj':
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Выдача должностей</div></div></div>';
$status = [0=>'<font color=red><b>Новичок</b></font> ', 1=>'<font color=green><b>Постоялец</b></font>', 2=>'<font color=Gold><b>Старожил</b></font>', 3=>'<font color=#FF8C00><b>PRO</b></font>', 4=>'<font color=Khaki><b>MASTER</b></font>', 5=>'<font color=red><b>Знаток</b></font> '];
$l = [0=>'Пользователь',1=>'Модератор',2=>'Старший модератор', 3=>'Администратор', 4=>'Главный Администратор', 5=>'Разработчик'];
if (isset($_GET['save'])) echo '<div class="alert alert-success"> Данные успешно обновлены.</div>';
if (isset($_POST['save'])) {
$form = ['level' => isset($_POST['level']) ? abs((int)$_POST['level']) : null, 'jur' => isset($_POST['jur']) ? abs((int)$_POST['jur']) : null, 'row' => isset($_POST['row']) ? abs((int)$_POST['row']) : null];
if ($form['level'] != $a['level']) {
$mess = Nick($b['id']).' присвоил вам уровень [red][b]'.strtr($form['level'], $l).'[/b][/red]';
$mess_lenta = Nick($b['id']).' присвоил '.Nick($a['id']).' уровень [red][b]'.strtr($form['level'], $l).'[/b][/red]';
jurnal($a['id'],$mess,5);
lenta($mess_lenta);
}
DB::$dbs->query("UPDATE blogger SET level = ?, jur = ?, row = ? WHERE id = ? LIMIT 1", [$form['level'],$form['jur'],$form['row'],$a['id']]);
header('location: ?i=dolj&id='.$a['id'].'&save');
die();
}
echo '<div class="list-group-item media"><form action="?i=dolj&id='.$a['id'].'" method="POST">';
if ($a['level']<=$b['level']) {
echo 'Выберите должность:<br/><select name="level"class="form-control" >';
$lv = [0=>'Пользователь',1=>'Модератор', 2=>'Старший модератор', 3=>'Администратор', 4=>'Главный Администратор', 5=>'Разработчик'];
$str = strtr($a['level'],$lv);
echo '<option value="'.$a['level'].'">'.$str.'</option>';
for($i = 0;$i <= ($b['level']-1);$i++) {
echo '<option value="'.$i.'">'. strtr($i,$lv) .'</option>';
}
echo '</select>';
$checked = ($a['jur'] != 0) ? ' checked="checked"' : '';
echo '<input type="checkbox" name="jur" value="1"'.$checked.'/> Журналист газеты<br/>';
echo '<select name="row"class="form-control">';
foreach($status as $st => $k) {
$selected = ($a['row'] == $st) ? 'selected="selected"' : NULL;
echo '<option '.$selected.' value="'.$st.'">'.$k.'</option>';
}
echo '</select><br/><input type="submit" name="save" class="btn btn-primary" value="Отправить"/></form></div>';
}
break;
case 'ank':
if ($b['level'] < 4 && $b['level'] < $a['level']){
header('location: /');
}
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Анкетные данные '.$a['nick'].'</div></div></div>';
if (isset($_GET['save'])) echo '<div class="alert alert-success"> Данные успешно обновлены.</div>';
if (isset($_POST['save'])) {
$form = ['name' => isset($_POST['name']) ? check($_POST['name']) : null, 'country' => isset($_POST['country']) ? check($_POST['country']) : null, 'city' => isset($_POST['city']) ? check($_POST['city']) : null, 'birthday' => isset($_POST['birthday']) ? check($_POST['birthday']) : null, 'about' => isset($_POST['about']) ? check($_POST['about']) : null, 'family' => isset($_POST['family']) ? check($_POST['family']) : null, 'icq' => isset($_POST['icq']) ? abs((int)$_POST['icq']) : null, 'mobtel' => isset($_POST['mobtel']) ? abs((int)$_POST['mobtel']) : null, 'skype' => isset($_POST['skype']) ? check($_POST['skype']) : null, 'spec' => isset($_POST['spec']) ? abs((int)$_POST['spec']) : null, 'nickcolor1' => isset($_POST['nickcolor1']) ? check($_POST['nickcolor1']) : null, 'nickcolor2' => isset($_POST['nickcolor2']) ? check($_POST['nickcolor2']) : null];
if (mb_strlen($form['name']) > 15 && mb_strlen($form['family']) > 15) {
err('Имя и фамилия: не больше 15 символов.');
} elseif (!empty($form['name']) && !preg_match('/[A-zА-я-]/i', $form['name'])) {
err('Запрещенные символы в имени.');
} elseif (!empty($form['family']) && !preg_match('/[A-zА-я-]/i', $form['family'])) {
err('Запрещенные символы в фамилии.');
} else if (!empty($form['city']) && !preg_match('/[A-zА-я-]/i', $form['city'])) {
err('Запрещенные символы в поле город.');
} elseif (!empty($form['birthday']) && !preg_match('/[0-9.]/i', $form['birthday'])) {
err('Запрещенные символы в поле дата рождения.');
} elseif (!empty($form['icq']) && !preg_match('/[0-9]/i', $form['icq'])) {
err('Запрещенные символы в поле ICQ.');
} elseif (!empty($form['mobtel']) && !preg_match('/[0-9+]/i', $form['mobtel'])) {
err('Запрещенные символы в поле мобильный телефон.');
} else {
$form['nickcolor1'] = str_replace('#', '', $form['nickcolor1']);
$form['nickcolor2'] = str_replace('#', '', $form['nickcolor2']);
DB::$dbs->query("UPDATE blogger SET name = ?, birthday = ?, country = ?, city = ?,
about = ?, family = ?, icq = ?, skype = ?, mobtel = ?, spec = ?, nickcolor1 = ?, nickcolor2 = ? WHERE id = ?", [$form['name'],$form['birthday'],$form['country'],$form['city'],$form['about'],$form['family'],$form['icq'],$form['skype'],$form['mobtel'],$form['spec'],$form['nickcolor1'],$form['nickcolor2'],$a['id']]);
header('location: ?i=ank&id='.$a['id'].'&save');
die();
}
}
echo '<div class="list-group-item media"><form action="?i=ank&id='.$a['id'].'" method="POST">Имя:<br/><input type="text" class="form-control" name="name" value="'.$a['name'].'"/><br/>Фамилия:<br/><input type="text" class="form-control" name="family" value="'.$a['family'].'"/><br/>Дата рождения (прим. 01.01.1970):<br/><input type="text" class="form-control" name="birthday" value="'.$a['birthday'].'"/><br/>Страна:<br/><input type="text" class="form-control" name="country" value="'.$a['country'].'"/><br/>Город:<br/><input type="text" class="form-control" name="city" value="'.$a['city'].'"/><br/>О себе:<br/><input type="text" class="form-control"name="about" value="'.$a['about'].'"/><br/>';
echo 'Выберите специальность:<br/><select name="spec" class="form-control" >';
$sp = [0=>'Ничего не умею', 1=>'Кодер', 2=>'Дизайнер', 3=>'Хостер', 4=>'Селлер'];
foreach($sp as $value => $key) {
$selected = ($a['spec'] == $value) ? 'selected="selected"': NULL;
echo '<option '.$selected.' value="'.$value.'">'.$key.'</option>';
}
echo '</select></div>';
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Контакты '.$a['nick'].'</div></div></div>';
echo'<div class="list-group-item media">ICQ:<br/><input type="text" name="icq" class="form-control" value="'.$a['icq'].'"/><br/>Skype:<br/><input type="text" class="form-control" name="skype" value="'.$a['skype'].'"/><br/>Моб. телефон:<br/><input type="text" class="form-control" name="mobtel" value="'.$a['mobtel'].'"/></div>';
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: Градиент ника '.$a['nick'].'</div></div></div>';
echo'<div class="list-group-item media">Начальный цвет:<br/><input type="text" class="form-control" name="nickcolor1" value="'.$a['nickcolor1'].'"/><br/>Конечный цвет:<br/><input type="text" class="form-control"name="nickcolor2" value="'.$a['nickcolor2'].'"/><br/><input type="submit" class="btn btn-primary" name="save" value="Отправить"/></form></div>';
break;
case 'wm':
if ($b['level'] < 4 && $b['level'] < $a['level']){
header('location: /');
}
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> :: <a href="/administration/"style="text-decoration:none; color:white;"> Дата-центр</a> :: WMID '.$a['nick'].'</div></div></div>';
if (isset($_GET['save'])) echo '<div class="alert alert-success"> Данные успешно обновлены.</div>';
if (isset($_POST['save'])) {
DB::$dbs->query("UPDATE blogger SET wmid = ?, wmr = ?, rur = ? WHERE id = ?", [$_POST['wmid'],$_POST['wmr'],$_POST['rur'],$a['id']]);
header('location: ?i=wm&id='.$a['id'].'&save');
die();
}
echo '<div class="list-group-item media"> <form action="?i=wm&id='.$a['id'].'" method="POST">
WMID:<br/><input type="text" class="form-control" name="wmid" value="'.$a['wmid'].'"/><br/>
WMR:<br/><input type="text" class="form-control" name="wmr" value="'.$a['wmr'].'"/><br/>
Баланс :<br/><input type="text" class="form-control" name="rur" value="'.round($a['rur']).'"/><br/>
<input type="submit" name="save" class="btn btn-primary" value="Изменить"/></form></div>';
break;
}
$title->GetMenu();
$title->GetFooter();
?>