Файл: modules/admin/users.php
Строк: 1141
<?php
########################################
## WAP-ENGINE ##
########################################
## ##
## Автор : CHUMA (Токарев Владимир) ##
## e-mail : crazychuma@gmail.com ##
## WAP : http://wap-engine.ru ##
## ##
########################################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = '| Редактор пользователей';
$m_polozhenie = 'Редактирует пользователя';
####################
$kogo = filter($_GET['nick']);
$ip_str = filter($_GET['ip']);
####################
if(empty($_GET['act']))
{
######
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2' || $status == '3'))
{
include '../../themes/'.$themes.'.php';
echo'<p class="modul_name">Редактор пользователей</p>';
if($_GET['set'] == 1)
{
echo'<p class="b">Пользователь успешно удален.</p>';
}
if($_GET['err'] == 1)
{
echo'<p class="err">Ошибка!!! Вы не указали пользователя.</p>';
}
if($_GET['err'] == 2)
{
echo'<p class="err">Ошибка!!! Данный пользователь не существует.</p>';
}
if($_GET['help'] == 'find')
{
echo'<p class="b">Помощь. Для того, чтобы найти какого либо пользователя из списка,
не обязательно вводить полностью ник этого пользователя. Достаточно ввести первые несколько букв.
Например, нам нужно найти пользователя CHUMA. Для этого можно ввести в поле поиска фрагмент: chu.
Еще одна особенность поиска - это то, что он не учитывает регистр. Это значит, введя запрос chuma,
система найдет и пользователя CHUMA, и пользователя chuma, а также CHumA, chUMA, Chuma и т.д.</p>';
}
$users_f = file('../../data/nicks.php');
array_splice($users_f, 0, 2);
array_splice($users_f, -2, 2);
sort($users_f);
$users_on_f = file('../../data/user_online.txt');
$user_on_arr = implode('|', $users_on_f);
$kto = filter($_GET['kto']);
$users_count = count($users_f);
$kols = $kolusers;
$stranic = ceil($users_count/$kols);
if(!empty($kto))
{
for($ii = 0; $ii <= $users_count; $ii++)
{
if(stristr($users_f[$ii], $kto))
{
$users_arr[] = $users_f[$ii];
}
}
$users_f = $users_arr;
$users_count = count($users_f);
$stranic = ceil($users_count/$kols);
}
echo'<form method="get" action="users.php?&'.session_name().'='.session_id().'"><p align="center" class="a">';
echo'<input name="kto" maxlength="20" value="'.$kto.'" /><br />';
echo'<input value="Поиск" type="submit" />
<a href="users.php?help=find&'.session_name().'='.session_id().'">[?]</a></p></form>';
if(!empty($kto))
{
echo'<p align="center"><a href="users.php?'.session_name().'='.session_id().'">Все пользователи</a></p>';
}
if($users_count == 0 && !empty($kto))
{
echo'<p class="err">По данному запросу не найдено ни одного пользователя.</p>';
}
if(empty($_GET['page']))
{
$page_get = 1;
}
else
{
$page_get = $_GET['page'];
}
if($page_get > $stranic)
{
$page_get = $stranic;
}
if($page_get < 1)
{
$page_get = 1;
}
$do = $kols * ($page_get - 1);
$end = $kols * $page_get;
$page_nazad = $page_get - 1;
$page_dalee = $page_get + 1;
if (preg_match("#^[0-9]*$#", $page_get))
{
for($i = $do; $i < $end; $i++)
{
if (!empty($users_f[$i]))
{
echo'<p class="b">';
echo'Ник: <a href="users.php?act=edit&nick='.$users_f[$i].'&'.session_name().'='.session_id().'">'.trim($users_f[$i]).'</a>';
echo' <a href="../kabinet/send_privat.php?nick='.$users_f[$i].'&'.session_name().'='.session_id().'">[ЛС]</a>';
if(strstr($user_on_arr, '|'.trim($users_f[$i]).'|'))
{
echo'<font color="'.$color_green.'">[online]</font><br />';
}
else
{
echo'<font color="'.$color_red.'">[offline]</font><br />';
}
echo'</p>';
}
}
if($stranic > 1)
{
echo '<p align="center" class="d">';
echo 'Страницы:<br />';
if($page_get > 4)
{
echo '<a href="users.php?page=1&kto='.$kto.'&'.session_name().'='.session_id().'">1</a>...';
}
$start_1 = $page_get - 3;
$end_1 = $page_get - 1;
if($start_1 < 1)
{
$start_1 = 1;
}
for($i = $start_1; $i <= $end_1; $i++)
{
echo'<a href="users.php?page='.$i.'&kto='.$kto.'&'.session_name().'='.session_id().'">'.$i.'</a> ';
}
echo"$page_get";
$start_2 = $page_get + 1;
$end_2 = $page_get + 3;
if($start_2 < 1)
{
$start_2 = 1;
}
if($end_2 > $stranic)
{
$end_2 = $stranic;
}
for($i = $start_2; $i <= $end_2; $i++)
{
echo' <a href="users.php?page='.$i.'&kto='.$kto.'&'.session_name().'='.session_id().'">'.$i.'</a>';
}
if($stranic > $page_get && $page_get < ($stranic-3))
{
echo '...<a href="users.php?page='.$stranic.'&kto='.$kto.'&'.session_name().'='.session_id().'">'.$stranic.'</a>';
}
echo '<br />';
if($page_get > 1)
{
echo '<a href="users.php?page='.$page_nazad.'&kto='.$kto.'&'.session_name().'='.session_id().'">Назад</a>';
}
echo ' | ';
if($stranic > $page_get)
{
echo '<a href="users.php?page='.$page_dalee.'&kto='.$kto.'&'.session_name().'='.session_id().'">Дальше</a>';
}
echo '</p>';
}
}
else
{
echo'<p align="center">Неправельный формат страницы!!!<br />';
}
echo'<p>Всего пользователей: '.$users_count.'<br />';
echo'<a href="index.php?'.session_name().'='.session_id().'">В админку</a><br />';
echo'<a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a></p>';
include '../../templates/foot.php';
}
else
{
include '../../themes/'.$themes.'.php';
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include ('../../templates/foot.php');
}
######
}
####################
if($_GET['act'] == 'edit')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2' || $status == '3'))
{
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header("Location: users.php?err=1&".session_name()."=".session_id()."");
}
elseif($user_est == 0)
{
header("Location: users.php?err=2&".session_name()."=".session_id()."");
}
else
{
include '../../themes/'.$themes.'.php';
$status_in = $status;
$time = date ('YmdHis', time() + ($sdvigclock*3600));
user_data('../../data/users/'.$kogo.'.php');
if($_GET['set'] == 1)
{
echo"<p class="b">Профиль успешно сохранен.</p>";
}
if($_GET['set'] == 2)
{
echo"<p class="b">Пароль успешно изменен.</p>";
}
if($_GET['set'] == 3)
{
echo"<p class="b">Статус успешно изменен.</p>";
}
if($_GET['set'] == 4)
{
echo"<p class="b">Пользователь успешно забанен.</p>";
}
if($_GET['set'] == 5)
{
echo"<p class="b">Пользователь успешно разбанен.</p>";
}
if($_GET['err'] == 1)
{
echo"<p class="err">Ошибка!!! Логин не может быть меньше 3 или больше 20 символов.<br />В поле Логин разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!.</p>";
}
if($_GET['err'] == 2)
{
echo"<p class="err">Ошибка!!! Неправильный формат e-mail.</p>";
}
if($_GET['err'] == 3)
{
echo"<p class="err">Ошибка!!! Имя не может быть больше 30 символов. А также имя может состоять только из знаков русского или латинского алфавита, пробела, скобок и знаков _ -.</p>";
}
if($_GET['err'] == 4)
{
echo"<p class="err">Ошибка!!! Не правильный формат адреса сайта.</p>";
}
if($_GET['err'] == 5)
{
echo"<p class="err">Ошибка!!! Номер ICQ введен не верно.</p>";
}
if($_GET['err'] == 6)
{
echo"<p class="err">Ошибка!!! Поле "Откуда" не может быть больше 30 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
}
if($_GET['err'] == 7)
{
echo"<p class="err">Ошибка!!! Модель телефона не может быть больше 30 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
}
if($_GET['err'] == 8)
{
echo"<p class="err">Ошибка!!! Оператор не может быть больше 20 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок и знаков _ -.</p>";
}
if($_GET['err'] == 9)
{
echo"<p class="err">Ошибка!!! Не правильно введена дата рождения.</p>";
}
if($_GET['err'] == 10)
{
echo"<p class="err">Ошибка!!! Вы выбрали не существующий пол.</p>";
}
if($_GET['err'] == 11)
{
echo"<p class="err">Ошибка!!! Репутация может быть только числом.</p>";
}
if($_GET['err'] == 12)
{
echo"<p class="err">Ошибка!!! Вы не ввели новый пароль.</p>";
}
if($_GET['err'] == 13)
{
echo"<p class="err">Ошибка!!! Вы не ввели повтор нового пароля пароль.</p>";
}
if($_GET['err'] == 14)
{
echo"<p class="err">Ошибка!!! Новый пароль и повтор пароля не совпадают.</p>";
}
if($_GET['err'] == 15)
{
echo"<p class="err">Ошибка!!! В поле "Новый пароль" разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!</p>";
}
if($_GET['err'] == 16)
{
echo"<p class="err">Ошибка!!! Вы пытаетесь дать пользователю не существующий статус.</p>";
}
if($_GET['err'] == 17)
{
echo"<p class="err">Ошибка!!! Дата, до которой нужно забанить, должна состоять только из цифр.</p>";
}
if($_GET['err'] == 18)
{
echo"<p class="err">Ошибка!!! Причина бана не может быть больше 250 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, точки, запятой, двоеточия, пробела, скобок и знаков _ -.</p>";
}
if($_GET['err'] == 19)
{
echo"<p class="err">Ошибка!!! Нельзя редактировать главного администратора сайта.</p>";
}
if($_GET['err'] == 20)
{
echo"<p class="err">Ошибка!!! Нельзя удалить главного администратора сайта.</p>";
}
if($_GET['err'] == 21)
{
echo"<p class="err">Ошибка!!! Плюсы "+" могут быть только числом.</p>";
}
if($_GET['err'] == 22)
{
echo"<p class="err">Ошибка!!! Минусы "-" могут быть только числом.</p>";
}
if($_GET['err'] == 23)
{
echo"<p class="err">Ошибка!!! Поле "О себе" не может быть больше 500 символов. А также может состоять только из знаков русского или латинского алфавита, цифр, пробела, скобок, знаков пунктуации и знаков _ -.</p>";
}
if($_GET['err'] == 24)
{
echo"<p class="err">Ошибка!!! Рейтинг может быть только числом.</p>";
}
if($bantime > $time)
{
echo"<p class="err">Данного пользователя забанил $banwho за $bantxt! Окончание бана: $bantime[6]$bantime[7].$bantime[4]$bantime[5].$bantime[0]$bantime[1]$bantime[2]$bantime[3] в $bantime[8]$bantime[9]:$bantime[10]$bantime[11] по времени сервера.</p>";
}
if($status_in == '1' || $status_in == '2')
{
echo"<form method="post" action="users.php?act=set&nick=$kogo&".session_name()."=".session_id()."">";
echo'<p class="modul_name">Редактирование профиля</p>';
echo"<p class="b">Логин: $login<br />";
echo"E-mail:<br /><input name="email" value="$email" /><br />";
if($show_mail == "1")
{ echo"<input type="checkbox" name="show_mail" value="1" checked="checked" /> "; } else
{ echo"<input type="checkbox" name="show_mail" value="1" /> "; }
echo"Показывать e-mail на сайте<br />";
echo"Настоящее имя:<br /><input name="name" value="$name" maxlength="30" /><br />";
echo"Сайт:<br /><input name="site" value="$site" /><br />";
echo"ICQ:<br /><input name="icq" value="$icq" maxlength="15" /><br />";
echo"Откуда:<br /><input name="otkuda" value="$otkuda" maxlength="30" /><br />";
echo"Модель телефона:<br /><input name="modelphone" value="$modelphone" maxlength="30" /><br />";
echo"Оператор:<br /><input name="operator" value="$operator" maxlength="20" /><br />";
echo"Дата рожд.(дд-мм-гггг):<br /><input name="data_rozhd" value="$data_rozhd" maxlength="10" /><br />";
echo"Пол:<br />";
if($pol=="1"){echo"<input name="pol" type="radio" value="1" checked="checked" />";} else {echo"<input name="pol" type="radio" value="1" />";} echo"Мужской<br />";
if($pol=="0"){echo"<input name="pol" type="radio" value="0" checked="checked" />";} else {echo"<input name="pol" type="radio" value="0" />";} echo"Женский<br />";
echo"Репутация:<br /><input name="reputacia" value="$reputacia" /><br />";
echo"Плюсы +:<br /><input name="plusov" value="$plusov" /><br />";
echo"Минусы -:<br /><input name="minusov" value="$minusov" /><br />";
echo"Рейтинг:<br /><input name="rating" value="$rating" /><br />";
echo"О себе:<br /><input name="o_sebe" value="$o_sebe" maxlength="500" /><br />";
echo"<input value="Применить" type="submit" /></p></form>";
echo"<form method="post" action="users.php?act=set_pass&nick=$kogo&".session_name()."=".session_id()."">";
echo'<p class="modul_name">Смена пароля</p>';
echo"<p class="b">Внимание! В поле пароль разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!<br /></p><p class="b">";
echo"Новый пароль:<br /><input name="newpass" type="password" value="" /><br />";
echo"Повторите новый пароль:<br /><input name="newpass2" type="password" value="" /><br />";
echo"<input value="Применить" type="submit" /></p></form>";
}
if($status_in == '1')
{
echo"<form method="post" action="users.php?act=set_status&nick=$kogo&".session_name()."=".session_id()."">";
echo'<p class="modul_name">Изменить статус</p>';
echo"<p class="b">Выберите статус:<br /><select name="status" class="textbox">";
if($status == 5)
{ echo"<option selected="selected">Новичок</option>"; } else
{ echo"<option>Новичок</option>"; }
if($status == 4)
{ echo"<option selected="selected">Пользователь</option>"; } else
{ echo"<option>Пользователь</option>"; }
if($status == 3)
{ echo"<option selected="selected">Модератор</option>"; } else
{ echo"<option>Модератор</option>"; }
if($status == 2)
{ echo"<option selected="selected">Главный модератор</option>"; } else
{ echo"<option>Главный модератор</option>"; }
if($status == 1)
{ echo"<option selected="selected">Администратор</option>"; } else
{ echo"<option>Администратор</option>"; }
echo "</select><br />";
echo"<input value="Применить" type="submit" /></p></form>";
}
echo"<form method="post" action="users.php?act=ban&nick=$kogo&".session_name()."=".session_id()."">";
echo'<p class="modul_name">Забанить</p>';
echo"<p class="b">До какого времени:<br />";
echo"Год: <select name="god" class="textbox">";
for($g=2010; $g <= 2020; $g++)
{
if($g == date ("Y", time() + ($sdvigclock*3600)))
{ echo"<option selected="selected">$g</option>"; } else
{ echo"<option>$g</option>"; }
}
echo "</select>";
echo "Сейчас: ".date ("Y", time() + ($sdvigclock*3600))."<br />";
echo"Месяц: <select name="mes" class="textbox">";
for($m=1; $m <= 12; $m++)
{
if($m < 10) { $m = "0".$m; }
if($m == date ("m", time() + ($sdvigclock*3600)))
{ echo"<option selected="selected">$m</option>"; } else
{ echo"<option>$m</option>"; }
}
echo "</select>";
echo "Сейчас: ".date ("m", time() + ($sdvigclock*3600))."<br />";
echo"День: <select name="den" class="textbox">";
for($d=1; $d <= 31; $d++)
{
if($d < 10) { $d = "0".$d; }
if($d == date ("d", time() + ($sdvigclock*3600)))
{ echo"<option selected="selected">$d</option>"; } else
{ echo"<option>$d</option>"; }
}
echo "</select>";
echo "Сейчас: ".date ("d", time() + ($sdvigclock*3600))."<br />";
echo"Час: <select name="chas" class="textbox">";
for($ch=0; $ch <= 23; $ch++)
{
if($ch < 10) { $ch = "0".$ch; }
if($ch == date ("H", time() + ($sdvigclock*3600)))
{ echo"<option selected="selected">$ch</option>"; } else
{ echo"<option>$ch</option>"; }
}
echo "</select>";
echo "Сейчас: ".date ("H", time() + ($sdvigclock*3600))."<br />";
echo"Минут: <select name="minut" class="textbox">";
for($mi=0; $mi <= 59; $mi++)
{
if($mi < 10) { $mi = "0".$mi; }
if($mi == date ("i", time() + ($sdvigclock*3600)))
{ echo"<option selected="selected">$mi</option>"; } else
{ echo"<option>$mi</option>"; }
}
echo "</select>";
echo "Сейчас: ".date ("i", time() + ($sdvigclock*3600))."<br />";
echo"За (что?):<br /><input name="why" value="плохое поведение" /><br />";
echo"<input value="Применить" type="submit" /></p></form>";
echo"<p class="b"><a href="users.php?act=razban&nick=$kogo&".session_name()."=".session_id()."">РАЗБАНИТЬ</a><br /></p>";
if($status_in == '1' || $status_in == '2')
{
echo"<p class="b"><a href="users.php?act=del&nick=$kogo&".session_name()."=".session_id()."">УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ</a><br /></p>";
}
echo"<p><br /><a href="users.php?".session_name()."=".session_id()."">Выбрать пользователя</a><br />";
echo"<a href="index.php?".session_name()."=".session_id()."">В админку</a><br />";
echo"<a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include '../../templates/foot.php';
}
}
else
{
include '../../themes/'.$themes.'.php';
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'set')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2'))
{
#######
$login_in = $login;
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header("Location: users.php?err=1&".session_name()."=".session_id()."");
exit;
}
elseif($user_est == 0)
{
header("Location: users.php?err=2&".session_name()."=".session_id()."");
exit;
}
user_data('../../data/users/'.$kogo.'.php'); # Считывание данных пользователя находится в файле templates/func.php
$name = filter($_POST['name']);
$email = filter($_POST['email']);
$site = filter($_POST['site']);
$icq = filter($_POST['icq']);
$otkuda = filter($_POST['otkuda']);
$modelphone = filter($_POST['modelphone']);
$operator = filter($_POST['operator']);
$reputacia = filter($_POST['reputacia']);
$plusov = filter($_POST['plusov']);
$minusov = filter($_POST['minusov']);
$o_sebe = filter($_POST['o_sebe']);
$rating = filter($_POST['rating']);
if($_POST['show_mail'] == 1)
{ $show_mail = "1"; } else
{ $show_mail = "0"; }
if(empty($site))
{
$site = "http://";
}
$data_rozhd = filter($_POST['data_rozhd']);
$pol = filter($_POST['pol']);
if(!preg_match("#^[-a-zA-Z0-9_.]*@[-a-zA-Z0-9_.]*.[a-zA-Z0-9]{2,4}$#", $email))
{
header("Location: users.php?act=edit&nick=$kogo&err=2&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[-a-zA-Zа-яА-ЯЁё_ ()]{0,30}$#u", $name))
{
header("Location: users.php?act=edit&nick=$kogo&err=3&".session_name()."=".session_id()."");
}
elseif($site != "http://" and !preg_match("#^http://[-a-zA-Z0-9_.]*.[a-zA-Z0-9]{2,4}$#", $site))
{
header("Location: users.php?act=edit&nick=$kogo&err=4&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[-0-9]{0,15}$#", $icq))
{
header("Location: users.php?act=edit&nick=$kogo&err=5&".session_name()."=".session_id()."");
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,30}$/u", $otkuda))
{
header("Location: users.php?act=edit&nick=$kogo&err=6&".session_name()."=".session_id()."");
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,30}$/u", $modelphone))
{
header("Location: users.php?act=edit&nick=$kogo&err=7&".session_name()."=".session_id()."");
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_ ()]{0,20}$/u", $operator))
{
header("Location: users.php?act=edit&nick=$kogo&err=8&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0-9]{2}-[0-9]{2}-[0-9]{4}$#", $data_rozhd))
{
header("Location: users.php?act=edit&nick=$kogo&err=9&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0]{1}|[1]{1}$#", $pol))
{
header("Location: users.php?act=edit&nick=$kogo&err=10&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0-9]*$#", $reputacia))
{
header("Location: users.php?act=edit&nick=$kogo&err=11&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0-9]*$#", $plusov))
{
header("Location: users.php?act=edit&nick=$kogo&err=21&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0-9]*$#", $minusov))
{
header("Location: users.php?act=edit&nick=$kogo&err=22&".session_name()."=".session_id()."");
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_.,:!? ()]{0,500}$/u", $o_sebe))
{
header("Location: users.php?act=edit&nick=$kogo&err=23&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[0-9]*$#", $rating))
{
header("Location: users.php?act=edit&nick=$kogo&err=24&".session_name()."=".session_id()."");
}
elseif($kogo == $nickadmina && $login_in != $nickadmina)
{
header("Location: users.php?act=edit&nick=$kogo&err=19&".session_name()."=".session_id()."");
}
else
{
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
$user_file = fopen('../../data/users/'.$kogo.'.php', 'w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$base = '../../data/emails.php';
$back = @file_get_contents($base);
$back = str_replace($email_now, $email, $back);
$file_mails = fopen($base,'w');
flock($file_mails, LOCK_EX);
fputs($file_mails, $back);
fflush ($file_mails);
flock($file_mails, LOCK_UN);
fclose($file_mails);
$date = date("d.m.Y / H:i:s", time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login_in|$date|Изменил профиль пользователя $loginrn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ("Location: users.php?act=edit&nick=$kogo&set=1&".session_name()."=".session_id()."");
}
#######
}
else
{
include '../../themes/'.$themes.'.php';
echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'set_pass')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == "1" || $status == "2"))
{
$login_in = $login;
$nicks = file("../../data/nicks.php");
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header("Location: users.php?err=1&".session_name()."=".session_id()."");
exit;
}
elseif($user_est == 0)
{
header("Location: users.php?err=2&".session_name()."=".session_id()."");
exit;
}
$newpass = filter($_POST['newpass']);
$newpass2 = filter($_POST['newpass2']);
user_data('../../data/users/'.$kogo.'.php'); # Считывание данных пользователя находится в файле templates/func.php
if(empty($newpass))
{
header("Location: users.php?act=edit&nick=$kogo&err=12&".session_name()."=".session_id()."");
}
elseif(empty($newpass2))
{
header("Location: users.php?act=edit&nick=$kogo&err=13&".session_name()."=".session_id()."");
}
elseif($newpass != $newpass2)
{
header("Location: users.php?act=edit&nick=$kogo&err=14&".session_name()."=".session_id()."");
}
elseif(!preg_match("#^[-a-zA-Z0-9]*$#", $newpass))
{
header("Location: users.php?act=edit&nick=$kogo&err=15&".session_name()."=".session_id()."");
}
elseif($kogo == $nickadmina && $login_in != $nickadmina)
{
header("Location: users.php?act=edit&nick=$kogo&err=19&".session_name()."=".session_id()."");
}
else
{
$passw = md5(md5($newpass));
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
$user_file = fopen('../../data/users/'.$kogo.'.php','w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$date = date("d.m.Y / H:i:s", time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login_in|$date|Изменил пароль пользователя $loginrn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= "$adm_log_f[$i]";
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php',"w");
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ("Location: users.php?act=edit&nick=$kogo&set=2&".session_name()."=".session_id()."");
}
}
else
{
include '../../themes/'.$themes.'.php';
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'set_status')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && $status == '1')
{
$login_in = $login;
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header('Location: users.php?err=1&'.session_name().'='.session_id().'');
exit;
}
elseif($user_est == 0)
{
header('Location: users.php?err=2&'.session_name().'='.session_id().'');
exit;
}
user_data('../../data/users/'.$kogo.'.php'); # Считывание данных пользователя находится в файле templates/func.php
if($_POST['status'] == 'Администратор')
{ $status = '1'; }
elseif($_POST['status'] == 'Главный модератор')
{ $status = '2'; }
elseif($_POST['status'] == 'Модератор')
{ $status = '3'; }
elseif($_POST['status'] == 'Пользователь')
{ $status = '4'; }
elseif($_POST['status'] == 'Новичок')
{ $status = '5'; }
if($_POST['status'] != 'Новичок' && $_POST['status'] != 'Пользователь' && $_POST['status'] != 'Модератор' && $_POST['status'] != 'Главный модератор' && $_POST['status'] != 'Администратор')
{
header('Location: users.php?act=edit&nick='.$kogo.'&err=16&'.session_name().'='.session_id().'');
}
elseif($kogo == $nickadmina && $login_in != $nickadmina)
{
header('Location: users.php?act=edit&nick='.$kogo.'&err=19&'.session_name().'='.session_id().'');
}
else
{
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
$user_file = fopen('../../data/users/'.$kogo.'.php','w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$base = '../../data/admins.php';
$admins_f = file($base);
$count_admins = count($admins_f);
$back = @file_get_contents($base);
$back = str_replace('*/
?>', '', $back);
if(strstr($back, $kogo))
{
for($i=2; $i < $count_admins-2; $i++)
{
$admin_arr = explode('|', $admins_f[$i]);
if(strstr($admins_f[$i], $kogo) && ($status == 1 || $status == 2 || $status == 3))
{
$admins[] = trim($admin_arr[0].'|'.$status);
}
elseif(!strstr($admins_f[$i], $kogo))
{
$admins[] = trim($admin_arr[0].'|'.$admin_arr[1]);
}
}
$admins_str = trim(implode("rn", $admins));
if(empty($admins_str))
{ $admins_str = ''; } else
{ $admins_str = "rn$admins_str"; }
$str_put = "<?phprn/*$admins_strrn*/rn?>";
}
elseif($status == 1 || $status == 2 || $status == 3)
{
$str_put = $back."$kogo|$statusrn*/rn?>";
}
else
{
$str_put = $back."*/rn?>";
}
$file_nicks = fopen('../../data/admins.php','w');
flock($file_nicks, LOCK_EX);
fputs($file_nicks, $str_put);
fflush ($file_nicks);
flock($file_nicks, LOCK_UN);
fclose($file_nicks);
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login_in|$date|Изменил статус пользователя $login с $stat_now на $statusrn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ('Location: users.php?act=edit&nick='.$kogo.'&set=3&'.session_name().'='.session_id().'');
}
}
else
{
include '../../themes/'.$themes.'.php';
echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'ban')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2' || $status == '3'))
{
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header('Location: users.php?err=1&'.session_name().'='.session_id().'');
exit;
}
elseif($user_est == 0)
{
header('Location: users.php?err=2&'.session_name().'='.session_id().'');
exit;
}
$login_in = $login;
user_data('../../data/users/'.$kogo.'.php'); # Считывание данных пользователя находится в файле templates/func.php
$god = filter($_POST['god']);
$mes = filter($_POST['mes']);
$den = filter($_POST['den']);
$chas = filter($_POST['chas']);
$minut = filter($_POST['minut']);
$bantxt = filter($_POST['why']);
$banwho = $login_in;
$bantime = $god.$mes.$den.$chas.$minut.'00';
if(!preg_match("#^[0-9]*$#", $bantime))
{
header('Location: users.php?act=edit&nick='.$kogo.'&err=17&'.session_name().'='.session_id().'');
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_.,: ()]{0,250}$/u", $bantxt))
{
header('Location: users.php?act=edit&nick='.$kogo.'&err=18&'.session_name().'='.session_id().'');
}
else
{
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
$user_file = fopen('../../data/users/'.$kogo.'.php','w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$time = date ('YmdHis', time() + ($sdvigclock*3600));
$base = file('../../data/banned.php');
$user_b_count = count($base);
for($i=2; $i < $user_b_count - 2; $i++)
{
$user_n = explode('|', $base[$i]);
if($user_n['0'] == $kogo && $user_n['2'] > $time)
{
$banned_users[] = trim($user_n['0'].'|'.$user_n['1'].'|'.$time.'|'.$user_n['3']);
}
else
{
$banned_users[] = trim($base[$i]);
}
}
if(!empty($banned_users))
{ $back = "rn".implode("rn", $banned_users); } else
{ $back = ''; }
$file_banned = fopen('../../data/banned.php','w');
flock($file_banned, LOCK_EX);
fputs($file_banned, "<?phprn/*$backrn*/rn?>");
fflush ($file_banned);
flock($file_banned, LOCK_UN);
fclose($file_banned);
$base = '../../data/banned.php';
$back = @file_get_contents($base);
$back = str_replace('*/
?>', '', $back);
$file_banned = fopen('../../data/banned.php','w');
flock($file_banned, LOCK_EX);
fputs($file_banned, $back."$login|$banwho|$bantime|$bantxtrn*/rn?>");
fflush ($file_banned);
flock($file_banned, LOCK_UN);
fclose($file_banned);
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login_in|$date|Забанил пользователя $login за $bantxtrn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ('Location: users.php?act=edit&nick='.$kogo.'&set=4&'.session_name().'='.session_id().'');
}
}
else
{
include '../../themes/'.$themes.'.php';
echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'razban')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2' || $status == '3'))
{
$login_in = $login;
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header('Location: users.php?err=1&'.session_name().'='.session_id().'');
exit;
}
elseif($user_est == 0)
{
header('Location: users.php?err=2&'.session_name().'='.session_id().'');
exit;
}
user_data('../../data/users/'.$kogo.'.php'); # Считывание данных пользователя находится в файле templates/func.php
$bantime = date ('YmdHis', time() + ($sdvigclock*3600));
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
$user_file = fopen('../../data/users/'.$kogo.'.php','w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$base = file('../../data/banned.php');
$user_b_count = count($base);
for($i=2; $i < $user_b_count - 2; $i++)
{
$user_n = explode('|', $base[$i]);
if($user_n['0'] == $kogo && $user_n['2'] > $bantime)
{
$banned_users[] = trim($user_n['0'].'|'.$user_n['1'].'|'.$bantime.'|'.$user_n['3']);
}
else
{
$banned_users[] = trim($base[$i]);
}
}
if(!empty($banned_users))
{ $back = "rn".implode("rn", $banned_users); } else
{ $back = ''; }
$file_banned = fopen('../../data/banned.php','w');
flock($file_banned, LOCK_EX);
fputs($file_banned, "<?phprn/*$backrn*/rn?>");
fflush ($file_banned);
flock($file_banned, LOCK_UN);
fclose($file_banned);
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login_in|$date|Разбанил пользователя $loginrn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ('Location: users.php?act=edit&nick='.$kogo.'&set=5&'.session_name().'='.session_id().'');
}
else
{
include '../../themes/'.$themes.'.php';
echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
include '../../templates/foot.php';
}
}
####################
if($_GET['act'] == 'razban_ip')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2' || $status == '3'))
{
$banlist ='../../data/ban.txt';
$ban_file = file($banlist);
$ip_b_count = count($ban_file);
for($i=0; $i <= $ip_b_count; $i++)
{
if($i != $ip_str)
{
$banned_ip[] = trim($ban_file[$i]);
}
}
if(!empty($banned_ip))
{ $back = implode("rn", $banned_ip); } else
{ $back = ''; }
$file_banned = fopen('../../data/ban.txt','w');
flock($file_banned, LOCK_EX);
fputs($file_banned, $back);
fflush ($file_banned);
flock($file_banned, LOCK_UN);
fclose($file_banned);
$ban_exp = explode('||', $ban_file[$ip_str]);
$ban_ip = trim($ban_exp[0]).' - '.trim($ban_exp[1]);
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login|$date|Разбанил IP $ban_iprn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ('Location: ip_banned.php?set=1&'.session_name().'='.session_id().'');
}
else
{
include '../../themes/'.$themes.'.php';
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include ('../../templates/foot.php');
}
}
####################
if($_GET['act'] == 'del')
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw && ($status == '1' || $status == '2'))
{
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($kogo == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
if(empty($kogo))
{
header('Location: users.php?err=1&'.session_name().'='.session_id().'');
exit;
}
elseif($user_est == 0)
{
header('Location: users.php?err=2&'.session_name().'='.session_id().'');
exit;
}
elseif($kogo == $nickadmina)
{
header('Location: users.php?act=edit&nick='.$kogo.'&err=20&'.session_name().'='.session_id().'');
exit;
}
$user_f = @file('../../data/users/'.$kogo.'.php');
$email = trim($user_f[3]);
$basedel = '../../data/nicks.php';
$buff = @file_get_contents($basedel);
$buff = str_replace("rn$kogo",'',$buff);
$file = fopen($basedel,'w');
fputs($file,$buff);
fclose($file);
$basedel = '../../data/emails.php';
$buff = @file_get_contents($basedel);
$buff = str_replace("rn$email",'',$buff);
$file = fopen($basedel,'w');
fputs($file,$buff);
fclose($file);
$file = fopen('../../data/users/'.$kogo.'.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/users/'.$kogo.'.php');
$file = fopen('../../data/inbox/'.$kogo.'.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/inbox/'.$kogo.'.php');
$file = fopen('../../data/outbox/'.$kogo.'.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/outbox/'.$kogo.'.php');
if(file_exists('../../data/users/'.$kogo.'_friends.php'))
{
$file = fopen('../../data/users/'.$kogo.'_friends.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/users/'.$kogo.'_friends.php');
}
if(file_exists('../../data/users/'.$kogo.'_notepad.php'))
{
$file = fopen('../../data/users/'.$kogo.'_notepad.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/users/'.$kogo.'_notepad.php');
}
if(file_exists('../../data/users/'.$kogo.'_reputaciya.php'))
{
$file = fopen('../../data/users/'.$kogo.'_reputaciya.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/users/'.$kogo.'_reputaciya.php');
}
if(file_exists('../../data/users/'.$kogo.'_settings.php'))
{
$file = fopen('../../data/users/'.$kogo.'_settings.php','w');
fputs($file,'');
fclose($file);
@unlink('../../data/users/'.$kogo.'_settings.php');
}
$banned = file('../../data/banned.php');
$count_banned = count($banned);
for($i=2; $i < $count_banned - 2; $i++)
{
$banned_arr = explode('|', $banned[$i]);
if($kogo != trim($banned_arr['0']))
{
$banned_users[] = trim($banned[$i]);
}
}
if(!empty($banned_users))
{ $back = "rn".implode("rn", $banned_users); } else
{ $back = ''; }
$file_banned = fopen('../../data/banned.php','w');
flock($file_banned, LOCK_EX);
fputs($file_banned, "<?phprn/*$backrn*/rn?>");
fflush ($file_banned);
flock($file_banned, LOCK_UN);
fclose($file_banned);
$date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
$adm_log_f = @file('../../data/adm_log.php');
$adm_log_count = count($adm_log_f) - 2;
$mes_to_adm_log = "$login|$date|Удалил пользователя $kogorn";
for($i=2; $i < $adm_log_count; $i++)
{
$mes_to_adm_log .= $adm_log_f[$i];
}
$mes_to_adm_log = trim($mes_to_adm_log);
$adm_log_file = fopen('../../data/adm_log.php','w');
flock ($adm_log_file,LOCK_EX);
fputs($adm_log_file,"<?phprn/*rn$mes_to_adm_logrn*/rn?>");
fflush ($adm_log_file);
flock ($adm_log_file,LOCK_UN);
fclose($adm_log_file);
header ('Location: users.php?set=1&'.session_name().'='.session_id().'');
}
else
{
include '../../themes/'.$themes.'.php';
echo'<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>';
echo'<p><a href="../kabinet/index.php?'.session_name().'='.session_id().'">В кабинет</a><br /></p>';
include ('../../templates/foot.php');
}
}
####################
?>