Файл: sysadm/users.php
Строк: 247
<?php
define('GCMS',true);
define('ROOT','../');
require_once (ROOT.'system/power.php');
if ($ya['level'] > 3) {
switch($do) {
// Список Юзеров //
case 'red':
if ($ya['level'] > 3) {
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
$user = $sql -> fetch_assoc();
$diz -> head('Проверка');
$diz -> title('Проверка');
if ($ya['level'] > $user['level'] or $ya['id']==1) {
echo '<div class="fon">
<div>»Пользователь: '.$func->famname($user['id']).' (ID: '.$user['id'].')</div>';
if (!empty($user['browser']))if ($ya['level'] > 2){echo '<div>»Браузер: '.strtok($user['browser'],' ').' ('.$func->browser($user['browser']).')</div>';}
$style = $db -> query("SELECT * FROM `styles` where `url`='$user[style]'")->fetch_assoc();
if (!empty($user['ip']))if ($ya['level'] > 4){echo '<div>»IP: <a href="/sysadm/poisk.php?do=ips&id='.$user['id'].'">'.strtok($user['ip'],' ').'</a></div>';}
if ($ya['level'] > 1){echo '<div>»Стиль: '.$style['name'].'</div>';}
if($user['ip']!=null){
$online = $db -> query("SELECT `login` FROM `online` WHERE `login` = '".$user['login']."' LIMIT 1") -> num_rows;
if ($online == 0)echo '<div>»Последняя активность: '.date('d.m.Y в H:i:s',$user['lasttime']).'</div>';
if($user['act']=='no'){
echo '<div>»Профиль не был одобрен администрацией</div>';
}elseif($user['act']=='yes' and $user['actid']!='0'){
echo '<div>»Профиль одобрил '.$func->user($user['actid']).'</div>';
}
echo '<div>»Время в онлайне: '.$func->ontime($user['online']).'</div>';
echo'<div>»Дата регистрации: '.$func->times(date('d m Y',$user['time'])).'</div>';
}else{
echo '<div>»Пользователь ещё не заходил</div>';
}
$online = $db -> query("SELECT * FROM `online` WHERE `id` = '".$id."'");
if($online->num_rows>0){
$only=$online->fetch_assoc();
echo '<div>»Онлайн: '.$only['where'].'</div>';
}else echo '<div>»Сейчас не в сети.</div>';
echo'</div>';
///////////
echo '<div class="zap">';
$ban = $db -> query("SELECT * FROM `ban` WHERE `iduser` = '".$id."' LIMIT 1");
if ($ban -> num_rows == 0) {
if ($ya['level']>=2 or $ya['id']==1)echo '<a class="zap_b" href="?do=ban&id='.$id.'">Забанить</a>';
}else{
if ($ya['level']>=3 or $ya['id']==1)echo '<a class="zap_b" href="?do=razban&id='.$id.'">Разбанить</a>';
}
if($ya['level']>5)echo'<a class="zap_b" href="?do=nulled&id='.$id.'">Аннулировать</a>';
if($ya['level']>4)echo'<a class="zap_b" href="?do=del&id='.$id.'">Удалить</a>';
echo'</div>';
///////////
if (empty($_POST['level']) || empty($_POST['login'])) {
if ($ya['level'] == 4) {
$array = array('1' => 'Пользователь', '2' => 'V.I.P', '3' => 'Модер');
$stat = null;
foreach ($array as $key => $value) {
if ($user['level'] == $key) $stat .= '<option selected value="'.$key.'">'.$value.'</option>';
else $stat .= '<option value="'.$key.'">'.$value.'</option>';
}}elseif ($ya['level'] == 5) {
$array = array('1' => 'Пользователь', '2' => 'V.I.P', '3' => 'Модер', '4' => 'Ст. Модер');
$stat = null;
foreach ($array as $key => $value) {
if ($user['level'] == $key) $stat .= '<option selected value="'.$key.'">'.$value.'</option>';
else $stat .= '<option value="'.$key.'">'.$value.'</option>';
}}elseif ($ya['level'] == 6) {
$array = array('1' => 'Пользователь', '2' => 'V.I.P', '3' => 'Модер', '4' => 'Ст. Модер', '5' => 'Админ');
$stat = null;
foreach ($array as $key => $value) {
if ($user['level'] == $key) $stat .= '<option selected value="'.$key.'">'.$value.'</option>';
else $stat .= '<option value="'.$key.'">'.$value.'</option>';
}}
elseif ($ya['level'] == 7) {
$array = array('1' => 'Пользователь', '2' => 'V.I.P', '3' => 'Модер', '4' => 'Ст. Модер', '5' => 'Админ', '6' => 'Ст. Админ', '7' => 'Создатель сайта');
$stat = null;
foreach ($array as $key => $value) {
if ($user['level'] == $key) $stat .= '<option selected value="'.$key.'">'.$value.'</option>';
else $stat .= '<option value="'.$key.'">'.$value.'</option>';
}}
echo '<div class="fon"><form action="?do=red&id='.$id.'" method="post">
Логин:<br/><input type="text" name="login" value="'.$user['login'].'" maxlength="12"/></br>
Баллов:<br/><input type="text" name="balls" value="'.$user['balls'].'" maxlength="9"/></br>';
if ($ya['level'] > 5) {
echo 'Новый пароль:<br/><input type="text" name="pass" value="" maxlength="12"/></br>';
}
echo 'Должность:</br><select name="level">'.$stat.'</select>
<br/><input type="submit" value="Изменить"/></form></div>';
}else{
$login = shit(trim($_POST['login']));
if($login!=$user['login']){
$sql = $db -> query("SELECT * FROM `users` WHERE `login` = '".$login."'");
if ($sql -> num_rows > 0) {
echo '<div class="fon">Ник занят!</div>';
echo '<div class="levo"><a href="?do=users&mode=anketa&id='.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
else{
$login = $db->real_escape_string(shit($_POST['login']));
$db -> query("UPDATE `users` SET `login` = '".$login."' WHERE `id` = '".$id."'");
echo '<div class="fon">Ник пользователя успешно изменён!</div>';
echo '<div class="levo"><a href="?do=users&mode=anketa&id='.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
}else $login=$user['login'];
$level = (!empty($_POST['level'])) ? abs(intval(htmlentities($db -> real_escape_string($_POST['level'])))) : null;
$b = (!empty($_POST['balls'])) ? abs(intval(htmlentities($db -> real_escape_string($_POST['balls'])))) : null;
if(isset($_POST['pass']) and mb_strlen($func->delprobel($_POST['pass']))>2 and $ya['level']>5)$pass=md5(md5($_POST['pass'])); else $pass=$user['pass'];
$db -> query("UPDATE `users` SET `level` = '".$level."',`login` = '".$login."',`balls`='".$b."',`pass` = '".$pass."' WHERE `id` = '".$id."'");
echo '<div class="fon">Изменения приняты!</div>';
echo '<div class="levo"><a href="?do=red&id='.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
} else {echo '<div class="fon">Нельзя менять и просматривать инфо тех,кто старше тебя по должности!</div>';}
} else header('Location: ./?do=users');
echo '<div class="levo"><a href="users.php" class="levo_tuch">'.$diz -> img('back.png').' Пользователи</a></div>';
}else header('location: index.php');
break;
////////////Бан
case 'ban':
$diz -> head('Админ-Панель');
$diz -> title('Бан пользователя');
if ($id) {
$sql = $db -> query("SELECT * FROM `ban` WHERE `iduser` = '".$id."' LIMIT 1");
if ($sql -> num_rows == 0) {
$sql = $db -> query("SELECT `level`,`login`,`ip`, `browser` FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$name = $sql -> fetch_assoc();
if ($ya['id']!=$id) {
if ($ya['level']>=2 or $ya['id']==1) {
if ($ya['level']>$name['level'] or $id!=1) {
$type = array('id' => 'По id','ip' => 'По IP');
if (!isset($_POST['submit'])) {
$val = null;
foreach ($type as $key => $value) {
$val .= '<option value="'.$key.'">'.$value.'</option>';
}
echo '<div class="fon"><form action="?do=ban&id='.$id.'" method="post"
<strong>Ник: '.$name['login'].' (id'.$id.')</strong></br>
IP: '.$name['ip'].' </br>
Браузер: '.strtok($name['browser'],' ').'<hr/>
Выберите тип:<br/><select name="type">'.$val.'</select><br/>
Время бана(в минутах):<br/>
<input type="text" style="width:45px;" name="time" value="10" maxlength="6"/><br/>
Причина:<br/><textarea name="text" rows="3" cols="20"></textarea><br/>
<input type="submit" name="submit" value="Банить"/>
</form></div>';
} else {
$text = shit($_POST['text']);
$tip = shit($_POST['type']);
$time=abs(intval(htmlentities($db -> real_escape_string(time() + ($_POST['time']*60)))));
if($type=='ip'){
$ip=$name['ip'];
}else{$ip='';}
$db -> query("INSERT INTO `ban` set `yaid` = '".$ya['id']."',`iduser` = '".$id."',`type` = '".$tip."',`ip`='".$ip."',`text`='".$text."',`bantime`='".$time."',`time`='".time()."'");
echo '<div class="fon">'.$name['login'].' забанен</div>';
}
} else echo '<div class="fon">Тех,кто старше тебя по должности банить запрещено!</div>';
} else echo '<div class="fon">Ваш уровень слишком мал!</div>';
} else echo '<div class="fon">Самого себя забанить нельзя!</div>';
} else echo '<div class="fon">Пользователя с этим id не существует</div>';
} else echo '<div class="fon">Пользователь уже забанен!</div>';
} else echo '<div class="fon">Не задан id пользователя</div>';
echo '<div class="levo"><a href="users.php" class="levo_tuch">'.$diz -> img('back.png').' Пользователи</a></div>';
break;
//////Разбан
case 'razban':
$sql = $db -> query("SELECT * FROM `ban` WHERE `iduser` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ya['level']>=3){
if ($ya['level']>$name['level'] or $ya['id']==1) {
if ($ya['id']!=$id) {
if (!isset($_GET['true'])) {
$diz -> head('Разбан пользователя');
$diz -> title('Разбан пользователя');
echo '<div class="fon">Вы точно хотите разбанить данного пользователя?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=razban&id='.$id.'&true">Да</a>
<a class="dialog_m" href="/id'.$id.'">Нет</a>
</div>';
} else {
$db -> query("DELETE FROM `ban` WHERE `iduser` = '".$id."' LIMIT 1");
$diz -> head('Разбан пользователя');
$diz -> title('Разбан пользователя');
echo '<div class="fon">Пользователь был успешно разбанен!</div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Самого себя разбанить нельзя!</div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Произошла ошибка!</div>';
}
echo '<div class="levo"><a href="users.php" class="levo_tuch">'.$diz -> img('back.png').' Пользователи</a></div>';
} else header('location: /id'.$id.'');
} else header('location: /id'.$id.'');
break;
//////Аннуляция
case 'nulled':
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ya['level']>5){
if ($ya['level']>$name['level'] or $ya['id']==1) {
if ($ya['id']!=$id) {
if (!isset($_GET['true'])) {
$diz -> head('Аннуляция пользователя');
$diz -> title('Аннуляция пользователя');
echo '<div class="fon">Вы действительно желаете удалить всю информацию от пользователя?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=nulled&id='.$id.'&true">Да</a>
<a class="dialog_m" href="/id'.$id.'">Нет</a>
</div>';
} else {
$files = $db -> query("SELECT * FROM `files` where `user`='".$id."'");
while ($f = $files -> fetch_assoc()) {
unlink(ROOT.'downloads/'.$f['what'].'/'.$f['url']);
}
$db -> query("DELETE FROM `files` WHERE `user` = '".$id."'");
$db -> query("DELETE FROM `lenta` WHERE `uid` = '".$id."'");
$db -> query("Update `users` SET `foto`='0' where `id`='".$id."'");
$db -> query("DELETE FROM `reit` WHERE `kto` = '".$id."' or `komy` = '".$id."'");
$db -> query("DELETE FROM `comes` WHERE `user` = '".$id."' or `idwh` = '".$id."'");
$db -> query("DELETE FROM `nuts` WHERE `user` = '".$id."' or `idwh` = '".$id."'");
$db -> query("DELETE FROM `mail` WHERE `fid` = '".$id."' or `oid` = '".$id."'");
$db -> query("DELETE FROM `dialogs` WHERE `user` = '".$id."' or `oid` = '".$id."'");
$db -> query("DELETE FROM `albom_pav` WHERE `user` = '".$id."'");
$diz -> head('Аннуляция пользователя');
$diz -> title('Аннуляция пользователя');
echo '<div class="fon">Пользователь был успешно аннулирован!</div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Аннуляция самого себя невозможна!</div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Произошла ошибка!</div>';
}
echo '<div class="levo"><a href="users.php" class="levo_tuch">'.$diz -> img('back.png').' Пользователи</a></div>';
} else header('location: /id'.$id.'');
} else header('location: /id'.$id.'');
break;
//////Удаление
case 'del':
$sql = $db -> query("SELECT * FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ya['level']>4){
if ($ya['id']!=$id) {
if (!isset($_GET['true'])) {
$diz -> head('Удаление пользователя');
$diz -> title('Удаление пользователя');
echo '<div class="fon">Вы точно хотите удалить данного пользователя и всю информацию,которая связана с ним?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=del&id='.$id.'&true">Да</a>
<a class="dialog_m" href="/id'.$id.'">Нет</a>
</div>';
} else {
$files = $db -> query("SELECT * FROM `files` where `user`='".$id."'");
while ($f = $files -> fetch_assoc()) {
unlink(ROOT.'downloads/'.$f['what'].'/'.$f['url']);
}
$db -> query("DELETE FROM `files` WHERE `user` = '".$id."'");
$db -> query("DELETE FROM `lenta` WHERE `uid` = '".$id."'");
$db -> query("DELETE FROM `reit` WHERE `kto` = '".$id."' or `komy` = '".$id."'");
$db -> query("DELETE FROM `comes` WHERE `user` = '".$id."' or `idwh` = '".$id."'");
$db -> query("DELETE FROM `nuts` WHERE `user` = '".$id."' or `idwh` = '".$id."'");
$db -> query("DELETE FROM `mail` WHERE `fid` = '".$id."' or `oid` = '".$id."'");
$db -> query("DELETE FROM `dialogs` WHERE `user` = '".$id."' or `oid` = '".$id."'");
$db -> query("DELETE FROM `albom_pav` WHERE `user` = '".$id."'");
$db -> query("DELETE FROM `ban` WHERE `iduser` = '".$id."'");
$db -> query("DELETE FROM `users` WHERE `id` = '".$id."' LIMIT 1");
$diz -> head('Удаление пользователя');
$diz -> title('Удаление пользователя');
echo '<div class="fon">Поьзователь был успешно удалён!</div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Самого себя удалять запрещено!</div>';
}
echo '<div class="levo"><a href="users.php" class="levo_tuch">'.$diz -> img('back.png').' Пользователи</a></div>';
} else header('location: /id'.$id.'');
} else header('location: /id'.$id.'');
break;
// главная
default:
$diz -> head('Админ-Панель');
$diz -> title('Админка');
$count = $db -> dbcount('COUNT(`id`)','users');
echo '<div class="fon">Всего пользователей: <span class="count">'.$count.'</span></div>';
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$sql = $db -> query("SELECT `id`,`login`,`time` FROM `users` ORDER BY `id` LIMIT ".$start.",".$num);
while ($users = $sql -> fetch_assoc()) {
echo '<div class="levo">
<a href="/id'.$users['id'].'" class="levo_tuch">id'.$users['id'].' '.$func -> famname($users['id'],0).' <span class="count">'.$func -> times(date('d m Y',$users['time'])).'</span></a></div>';
echo '<div class="zap">
<a class="zap_b" href="?do=red&id='.$users['id'].'">Редактировать</a>';
$ban = $db -> query("SELECT * FROM `ban` WHERE `iduser` = '".$users['id']."' LIMIT 1");
if ($ban -> num_rows == 0) {
if ($ya['level']>=2 or $ya['id']==1)echo '<a class="zap_b" href="?do=ban&id='.$users['id'].'">Забанить</a>';
}else{
if ($ya['level']>=3 or $ya['id']==1)echo '<a class="zap_b" href="?do=razban&id='.$users['id'].'">Разбанить</a>';
}
if($ya['level']>5)echo'<a class="zap_b" href="?do=nulled&id='.$users['id'].'">Аннулировать</a>';
if($ya['level']>4)echo'<a class="zap_b" href="?do=del&id='.$users['id'].'">Удалить</a>';
echo'</div>';
}
$act = '?';
echo $func -> pagenav($act,$page,$total);
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> img('back.png').' Админка</a></div>';
echo '<div class="levo"><a href="/index.php" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
} else header('location: ../index.php');
?>