<?
if( ! defined( 'SHCMS_ENGINE' ) ) {
die('SHCMS Engine No access');
}
//Пользователи
switch($act):
default:
echo '<div class="mainname">'.Lang::__('Пользователи').'</div>';
echo '<div class="mainpost">';
echo '<div class="subpost"><img src="'.ICON_ADMIN.'user/addressbook.png"> <a href="'.CP_DERICTORY.'user/index.php?do=user&act=office">Управление пользователями</a></div>';
echo '<div class="subpost"><img src="'.ICON_ADMIN.'user/rating.png"> <a href="'.CP_DERICTORY.'user/index.php?do=user&act=status">Cтатус пользователя</a></div>';
echo '<div class="subpost"><img src="'.ICON_ADMIN.'user/add_user.png"> <a href="'.CP_DERICTORY.'user/index.php?do=user&act=new_user">Создание пользователя</a></div>';
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'index.php'));
break;
/*
* Управление Пользователями + Создание пользователя
*/
case 'office':
echo '<div class="mainname">'.Lang::__('Поиск Пользователей').'<span class="box-toolbar"><span class="box-toolbar-link"><a href="index.php?do=user&act=new_user">Создать нового</a></span></span></div>';
echo '<div class="mainpost">';
//Поиск
$form = new form('index.php?do=user&act=office');
$form->input(Lang::__('Ник пользователя:'),'login','text');
$form->submit(Lang::__('Начать поиск'),'submit');
$form->display();
echo '</div>';
echo '<div class="mainname">'.Lang::__('Список Пользователей').'</div>';
echo '<div class="mainpost">';
echo "<table style='text-shadow: 0px 0px 0px #fff;' class='little-table' cellspacing='0'>";
echo "<tr>
<th>".Lang::__('Логин')." </th>
<th>".Lang::__('Группа')."</th>
<th>".Lang::__('Действие')."</th>
</tr>";
if($_POST['submit'])
{
$submit = $_POST['submit'];
}
if( isset( $submit ) )
{
//Проверка существуйте ли название поиска
if( isset( $_POST['login'] ) )
{
$login = $_POST['login'];
}
//Глобальная обработка названии
$login = trim($login);
$login = $db->safesql($login);
$login = htmlspecialchars($login);
//Если поиск превышает больше 20 символов выводит ошибку
if ( !empty( $login ) )
{
if ( strlen( $login ) > 20 )
{
echo '<br/>';
echo engine::error(Lang::__('Длинный запрос!')); // error
} else {
//Запрос в базу по названию
$result = $db->query("SELECT `id`,`name`, `nick`,`reg_date`,`group` FROM `users` WHERE `name` LIKE '%$login%' OR `nick` LIKE '%$login%'");
//Обработка .......
if ( $db->num_rows() > 0 )
{
$row = $db->get_array($result); //Получение всех данных
$num = $db->num_rows($result); // Получение счетчика
do {
// Делаем запрос, получающий пользователей
$search = "SELECT * FROM `users` WHERE `id` = '$row[id]'";
$searchl = $db->query($search);
//Проверка на доступность данных
if ( $db->num_rows() > 0 )
{
$wsearch = $db->get_array($searchl);
}
$igroup = user::users($row['id'],array('group'));
if( $igroup != 15 )
{
echo '<tr class="even">';
//Получение Ника
$nick = user::users($row['id'],array('nick'),true);
//Вывод ника и подбираем цвет
echo '<td><font color="6E2A06";><b>'.$nick.'</b></font></td>';
//Получаем права к каждому пользователю
$group = array(15 => '<font color="green";>'.Lang::__('Админы').'</font>', 1 => '<font color="720479";>'.Lang::__('Юзеры').'</font>', 0 => '<font color="red";>'.Lang::__('Гости').'</font>');
//Выводим права и подбираем к правам цвета необходимые
echo '<td>'.$group[$row['group']].'</td>';
//Действие над пользователем (Удаление / Редактирование)
echo '<td>';
echo '<a style="margin-bottom:5px;" class="Button_secondary" href="index.php?do=user&act=edituser&id='.$row['id'].'">Изменить</a>
<a class="Button_secondary" href="index.php?do=user&act=delete_user&id='.$row['id'].'">Удалить</a><br/>
<a class="Button_secondary" href="index.php?do=ban&id='.$row['id'].'">Блокировать</a>';
echo '</td>';
echo '</tr>';
}
} while ( $row = $db->get_array( $result ) );
}
}
}
echo '</table><br/>';
}else {
//Выводим счетчик постов
if ($result = $db->query("SELECT COUNT(*) FROM `users`")) {
/* Переход к строке №400 */
$result->data_seek(399);
/* Получение строки */
$row = $result->fetch_row();
}
$newlist = new Navigation($row[0],10, true);
$user_all = $db->query("SELECT * FROM `users` ". $newlist->limit()."");
while($all_user = $db->get_array($user_all)) {
$nick = user::users($all_user['id'],array('nick'),true);
$igroup = user::users($all_user['id'],array('group'));
if($igroup != 15) {
echo '<tr class="even">';
echo '<td><font color="6E2A06";>'.$nick.'</font></td>';
$group = array(15 => '<font color="green";>'.Lang::__('Админы').'</font>', 1 => '<font color="720479";>'.Lang::__('Юзеры').'</font>', 0 => '<font color="red";>'.Lang::__('Гости').'</font>');
echo '<td>'.$group[$all_user['group']].'</td>';
echo '<td>';
echo '<a style="margin-bottom:5px;" class="Button_secondary" href="index.php?do=user&act=edituser&id='.$all_user['id'].'">Изменить</a>
<a class="Button_secondary" href="index.php?do=user&act=delete_user&id='.$all_user['id'].'">Удалить</a><br/>
<a class="Button_secondary" href="index.php?do=ban&id='.$all_user['id'].'">Блокировать</a>';
echo '</td>';
echo '</tr>';
}
}
//Далее закрываем таблицу
echo "</table> </div>";
//Вывод навигации
echo $newlist->pagination('do=user&act=office');
}
echo engine::home(array(Lang::__('Назад'),'index.php?do=user'));
echo '</div>';
break;
//Создаем нового пользователя
case 'new_user':
echo '<div class="mainname">'.Lang::__('Создать пользователя').'</div>';
echo '<div class="mainpost">';
$error = array();
if(isset($_POST['submit_new'])) {
$nick = filter_input( INPUT_POST, 'login', FILTER_SANITIZE_STRING );
$email = filter_input( INPUT_POST, 'email', FILTER_SANITIZE_EMAIL );
$email = filter_var( $email, FILTER_VALIDATE_EMAIL );
$password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
if( strlen($password) < 5 ) $error['password'][] = 'Пароль должен быть выше 5 символов';
if( engine::strlen_shcms( $nick,'utf-8' ) > 30 or engine::strlen_shcms( trim( $nick ), 'utf-8' ) < 3) $error['login'][] = 'Недопустимая длина ника. Логин должен быть больше 3 символов и меньше 30 символов!';
if( preg_match( "/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $nick ) ) $error['login'][] = 'Ваш ник недопустим к регистрации';
if( preg_match('/[0-9]+/',engine::format_r($nick))) $error['login'][] = 'В начале запрещено использовать числовые значение';
if( empty( $email ) or strlen( $email ) > 50 OR @count( explode( '@',$email ) ) != 2 ) $error['email'][] = 'Введенный Email неверный';
if( strpos( strtolower( $nick ), '.php' ) !== false ) $error['login'][] = 'Введенный ник недопустим';
if( stripos( urlencode($nick), '%AD') !== FALSE) {
$error['login'][] = 'Введенный ник недопустим';
}
if( function_exists('mb_strtolower') ) {
$nick = engine::trim(mb_strtolower($nick, 'utf-8'));
} else {
$nick = engine::trim(strtolower( $nick ));
}
$cnick = $db->super_query( "SELECT COUNT(*) as count FROM `users` WHERE nick = '$nick'" );
if( $cnick['count'] ) $error['login'][] = 'Введенный Логин уже существует';
$row = $db->super_query( "SELECT COUNT(*) as count FROM `users` WHERE email = '$email'" );
if( $row['count'] ) $error['email'][] = 'Введенный Email уже существует';
$regt = time();
if(empty($error)) {
$shgen = engine::shgen($password);
$ok_reg = $db->query("INSERT INTO `users` (`nick`,`password`,`email`,`reg_date`,`lastdate`) VALUES ('".$db->safesql($nick)."', '".$shgen."', '".$db->safesql($email)."','".time()."','".time()."')");
if($ok_reg == true) {
echo engine::success(Lang::__('Пользователь зарегестрирован!'));
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'index.php?do=user&act=new_user'));
exit;
}else {
//header("Locaion: index.php?do=user&act=new_user");
exit;
}
}
}
$form = new form('index.php?do=user&act=new_user');
//Ник при регистрации
$form->input('<b>Имя пользователя <font color="red">*</font></b>','login','text',htmlspecialchars($nick),(isset($error['login']) ? '<span style="color:red"><small>' . implode('<br />', $error['login']) . '</small></span><br />' : ''));
//Описание...
$form->text('<div style="font-size:11px;color: #a4a4a4;">Между 3 и 30 символами</div><br/>');
//Email нужен при регистрации для уведомлений
$form->input('<b>E-mail адрес <font color="red">*</font></b>','email','text',htmlspecialchars($email),(isset($error['email']) ? '<span style="color:red"><small>' . implode('<br />', $error['email']) . '</small></span><br />' : ''));
//Описание....
$form->text('<div style="font-size:11px;color: #a4a4a4;">Email необходим для восстановления пароля, подтвержать не нужно</div>');
//Пароль при регистрации (Надежные)
$form->input('<br/><b>Пароль <font color="red">*</font></b>','password','password',false,(isset($error['password']) ? '<span style="color:red"><small>' . implode('<br />', $error['password']) . '</small></span><br />' : ''));
//Описание...
$form->text('<div style="font-size:11px;color: #a4a4a4;">Вы должны использовать сложный пароль, содержащий не менее 3 и не более 32 символов</div>');
$form->text('<hr/><img src="../icons/user/warning.png"> Новый пользователь сразу попадет в группу "Пользователи"<br/>');
$form->text('<img src="../icons/user/frame.png"> Указанные параметры <font color="red">обязательно</font> нужно заполнять!');
$form->text('</div><div class="submit">');
$form->submit(Lang::__('Создать'),'submit_new');
//Путь если хотите оставить все как есть
$form->text('или <span class="cancel"><a href="index.php?do=user&act=office">Отменить</a></span></div>');
$form->display();
echo '</div>';
break;
//Редактирование пользователя
case 'edituser':
$id = intval($_GET['id']);
$edituser = $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '".intval($id)."'"));
if($edituser['id'] == false) {
header('Location: index.php?do=user&act=office');
exit;
}
if($edituser['group'] == 15) {
header('Location: index.php?do=user&act=office');
exit;
}
if(isset($_POST['edit_submit'])) {
//Обрабатывет на правильность ICQ
$icq_uin = engine::icq($_POST['icq']);
//Обрабатывает поле Skype
//Если с ошибками она то выведит ошибку
if(isset($_POST['skype'])) {
if(!empty($_POST['skype'])) {
if(!engine::skype($_POST['skype'])) {
echo engine::error(Lang::__('Некорректно указан Skype'));
echo engine::home(array(Lang::__('Назад'),'?act=core'));
exit;
}
}
}
//Обрабатывает поле Обо мне
//Если в текст будет превышен допустимых символов то выведит ошибку
if(isset($_POST['desc'])) {
if(substr($_POST['desc'], 0, 1000) > 1000) {
echo engine::error(Lang::__('Обо мне: Не должно превышать 1 000 символов'));
echo engine::home(array(Lang::__('Назад'),'index.php?do=user&act=edituser&id='.$id.''));
exit;
}else {
$desc = $_POST['desc'];
}
}
//Если все правильно то обновляем данные
$mysql = $db->query('UPDATE `users` SET `icq` = "'.intval($icq_uin).'",`site` = "'.$_POST['site'].'",`skype` = "'.$_POST['skype'].'",`city` = "'.$db->safesql($_POST['city']).'", `pol` = "'.$_POST['pol'].'", `desc` = "'.$db->safesql($desc).'" WHERE `id` = '.intval($id).'');
//При правильности
if($mysql == true) {
echo engine::success(Lang::__('Настройки сохранены'));
echo engine::home(array('Назад','index.php?do=user&act=edituser&id='.$id.''));
exit;
//При ошибки
}else {
echo engine::error(Lang::__('Настройки не сохранены'));
echo engine::home(array('Назад','index.php?do=user&act=edituser&id='.$id.''));
exit;
}
}
//Полезные данные выдаются при регистрации
echo '<div class="mainname">'.Lang::__('Редактирование пользователя').'</div>'; // 1
echo '<div class="mainpost">';
//Выводит IP, Когда последний раз были в сети, Дата регистрации
echo '<div class="subpost">
IP: '.$edituser['logged_ip'].'<br/>
Последний визин: '.date::make_date($edituser['lastdate']).'<br/>
Дата регистрации: '.date::make_date($edituser['reg_date']).'</div>
<div class="subpost">
<div style="padding: 8px;">Логин: '.$edituser['nick'].'<span style="float:right;"><a href="index.php?do=user&act=editlogin&id='.$id.'"><img src="../icons/user/edit.png"></a></span></div>
<div style="padding: 8px;">Пароль: ******** <span style="float:right;"><a href="index.php?do=user&act=editpassword&id='.$id.'"><img src="../icons/user/edit.png"></a></span></div>
<div style="padding: 8px;">Email: '.$edituser['email'].' <span style="float:right;"><a href="index.php?do=user&act=editemail&id='.$id.'"><img src="../icons/user/edit.png"></a></span></div>
</div>';
//Форма редактировании
$form = new form('index.php?do=user&act=edituser&id='.$id.''); //Путь
$form->text('<div class="subpost">');
$form->textarea(Lang::__('О себе:'),'desc',$edituser['desc']); //О себе
$form->input(Lang::__('Сайт:'),'site','text',$edituser['site']); //Поле сайт
$form->input(Lang::__('ICQ:'),'icq','text',$edituser['icq']); // Поле для ввода уина(ICQ)
$form->input(Lang::__('Skype:'),'skype','text',$edituser['skype']); //Скайп
$form->input(Lang::__('Место жительства:'),'city','text',$edituser['city']); //Ваше Место жительства (Город где живете)
$form->text('<hr/>');
//Пол в 2 разряда (2 => Мужской - 3 => Женский )
$form->select(Lang::__('Пол:'),'pol',array(Lang::__('Не определился') => 1, Lang::__('Мужской') => 2, Lang::__('Женский') => 3),$edituser['pol']);
$form->text('</div>');
$form->text('</div><div class="submit">');
//Счетчик
$form->submit(Lang::__('Изменить'),'edit_submit');
//Путь если хотите оставить все как есть
$form->text('или <span class="cancel"><a href="index.php?do=user&act=office">Отменить</a></span></div>');
$form->display(); //Обработка форма и вывод полей;
break;
//Редактирование логина
case 'editlogin':
//проверяем в ID нумерное значение
$id = intval($_GET['id']);
//Вывод данных по выбранному id
$editlogin = $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '".intval($id)."'"));
//Если по вашему id ничего нет то назад
if($editlogin['id'] == false) {
header('Location: index.php?do=user&act=office');
exit;
}
//Обработка формы
//Проверка на нажатия кнопки
if(isset($_POST['login_submit'])) {
//Обрабатывает ник
$nick = isset($_POST['new_login']) ? trim($_POST['new_login']) : '';
//Проверяем Логин
if(empty($nick)) {
echo engine::error(Lang::__('Не введен логин'));
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.''));
exit;
}elseif(mb_strlen($nick) < 2 || mb_strlen($nick) > 30) { //Разрешение максимального введения символа
echo engine::error(Lang::__('Недопустимая длина логина'));
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.''));
exit;
}
//Если есть запрещенные символы то выводит ошибку
if($nick != $db->safesql($nick)) {
echo engine::error(Lang::__('В Имени содержатся запрещенные символы'));
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.''));
exit;
}
//Выводим данные по нику
$regnick = $db->query("SELECT * FROM `users` WHERE `nick`='" . $db->safesql($nick) ."'");
//Проверка сводобен ли введенный ник
if ($db->get_array($regnick) != 0) {
echo engine::error(Lang::__('Введенный вами Логин занят'));
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.''));
exit;
}
//Заливаем, и обрабатываем данные по базе по определенному id
$db_user = $db->query("UPDATE `users` SET `nick` = '".$db->safesql($nick)."' WHERE `id` = '".intval($id)."'"); // UDDATE MYSQLI
if($db_user == true) {
echo engine::success('Логин изменен успешно'); // _1
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.'')); // _2
exit;
}else {
echo engine::error('Ошибка при редактировании логина'); // _1
echo engine::home(array('Назад','index.php?do=user&act=editlogin&id='.$id.'')); // _2
exit;
}
}
//Форма редактирования логина
echo '<div class="mainname">'.Lang::__('Редактирование Логина').'</div>';
echo '<div class="mainpost">';
$form = new form('index.php?do=user&act=editlogin&id='.$editlogin['id'].'');
$form->input(Lang::__('Логин'),'new_login','text',$editlogin['nick']);
$form->text('</div><div class="submit">');
$form->submit(Lang::__('Сохранить'),'login_submit');
$form->text('</div>');
$form->display(); //Получаем данные и выводим форму
//Переадресация
echo engine::home(array('Назад','index.php?do=user&act=edituser&id='.$id.''));
break;
//Редактирование Пароля
case 'editpassword':
//проверяем в ID нумерное значение
$id = intval($_GET['id']);
//Выводим данные по определенному id
$editpassword = $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '".intval($id)."'"));
if($editpassword['group'] == 15) {
header('Location: index.php?do=user&act=office');
exit;
}
//Проверка на доступность данные по id
if($editpassword['id'] == false) {
header('Location: index.php?do=user&act=office');
exit;
} $error = array();
//Обрабатывает форму
if(isset($_POST['pass_submit'])) {
//
$password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
if( strlen($password) < 5 ) $error['password'][] = 'Пароль должен быть выше 5 символов';
$shgen = engine::shgen($password);
if(empty($error)) {
//Заливаем данные и обновляем данные
$db_user = $db->query("UPDATE `users` SET `password` = '".$shgen."' WHERE `id` = '".intval($id)."'");
if($db_user == true) {
echo engine::success('Пароль изменен успешно'); // Ok
echo engine::home(array('Назад','index.php?do=user&act=editpassword&id='.$id.'')); //__Hom
exit; //Exit
}else {
echo engine::error('Ошибка при редактировании пароля'); // Error
echo engine::home(array('Назад','index.php?do=user&act=editpassword&id='.$id.'')); //__hom
exit; //Exit
} //
}
}
//Форма редактирование пароля
echo '<div class="mainname">'.Lang::__('Редактирование Пароля').'</div>';
echo '<div class="mainpost">';
$form = new form('index.php?do=user&act=editpassword&id='.$editpassword['id'].'');
$form->input('<b>Пароль <font color="red">*</font></b>','password','text',false,(isset($error['password']) ? '<span style="color:red"><small>' . implode('<br />', $error['password']) . '</small></span><br />' : ''));
$form->text('</div><div class="submit">');
$form->submit(Lang::__('Сохранить'),'pass_submit');
$form->text('</div>');
$form->display(); //Получаем данные и выводим форму
//Переадресация
echo engine::home(array('Назад','index.php?do=user&act=edituser&id='.$id.''));
break;
case 'editemail':
//проверяем в ID нумерное значение
$id = intval($_GET['id']);
//Получение данных по id
$editemail = $db->get_array($db->query("SELECT * FROM `users` WHERE `id` = '".intval($id)."'"));
//Если в id есть пользователь выводит все что неободимо
//Если нет выводит ошибку
if($editemail['id'] == false) {
header('Location: index.php?do=user&act=office');
exit;
}
//Проверям идет ли работа с формой
if(isset($_POST['email_submit'])) {
// $mail true
$mail = isset($_POST['email']) ? trim($_POST['email']) : '';
//Проверяем правильно ли введен Email
$valid_email = filter_var($mail, FILTER_VALIDATE_EMAIL);
if($valid_email === false) { //__False / _True
echo engine::error(Lang::__('Некорректный E-mail адрес')); //__Err
echo engine::home(array('Назад','index.php?do=user&act=editemail&id='.$id.''));
exit;
}
//Если введенный емаил уже есть в базе данных то выводит ошибку
$reqmail = $db->query("SELECT * FROM `users` WHERE `email`='" . $db->safesql($mail) ."'");
if ($db->get_array($reqmail) != 0) { // Num != 0
echo engine::error(Lang::__('Введенный вами Email занят')); // __Err
echo engine::home(array('Назад','index.php?do=user&act=editemail&id='.$id.''));
exit;
}
// Заливаем данные и обновляем таблицу email
$db_user = $db->query("UPDATE `users` SET `email` = '".$db->safesql($mail)."' WHERE `id` = '".intval($id)."'");
if($db_user == true) {
echo engine::success('Email изменен успешно');
echo engine::home(array('Назад','index.php?do=user&act=editemail&id='.$id.''));
exit;
}else {
echo engine::error('Ошибка при редактировании email`а');
echo engine::home(array('Назад','index.php?do=user&act=editemail&id='.$id.''));
exit;
}
}
//Форма редактирования
echo '<div class="mainname">'.Lang::__('Редактирование Email').'</div>';
echo '<div class="mainpost">';
$form = new form('index.php?do=user&act=editemail&id='.$editemail['id'].'');
$form->input(Lang::__('Email'),'email','text',$editemail['email']);
$form->text('</div><div class="submit">');
$form->submit(Lang::__('Сохранить'),'email_submit');
$form->text('</div>');
$form->display(); //Получаем данные и выводим поля
//Переадресация
echo engine::home(array('Назад','index.php?do=user&act=edituser&id='.$id.''));
break;
//Удаление определенного пользователя
case 'delete_user':
$id = intval($_GET['id']);
$delete = $db->get_array($db->query( "SELECT * FROM `users` WHERE `id` = '{$id}'" ));
if($delete['group'] == 15) {
header('Location: index.php?do=user&act=office');
exit;
}
if(isset($_POST['yes_delete'])) {
$db->query("DELETE FROM `users` WHERE `id` = '".intval($id)."'"); // Удаление пользователя
$db->query("DELETE FROM `chat` WHERE `id_user` = '".intval($id)."'"); //Удаление всех сообщений пользователя
$db->query("DELETE FROM `forum_post` WHERE `id_user` = '".intval($id)."'"); // Удаление всех постов в форуме пользователя
$db->query("DELETE FROM `forum_topics` WHERE `id_user` = '".intval($id)."'"); //Удаление всех тем в форуме пользователя
$db->query("DELETE FROM `like` WHERE `id_user` = '".intval($id)."'"); //Удаление все понравившиеся темы пользователя
$db->query("DELETE FROM `log_auth` WHERE `id_user` = '".intval($id)."'");//Удаление логов входа пользователя
$db->query("DELETE FROM `log_user` WHERE `id_user` = '".intval($id)."'"); //Удаление новых уведомлений пользователя
$db->query("DELETE FROM `messaging` WHERE `id_user` = '".intval($id)."'"); //Удаление всех почт пользователя
$db->query("DELETE FROM `messaging_topics` WHERE `id_user` = '".intval($id)."'"); //Удаление созданных тем пользователя
$db->query("DELETE FROM `messaging_topics_user` WHERE `id_user` = '".intval($id)."'"); //Удаление тем пользователя
$db->query("DELETE FROM `news_comment` WHERE `id_user` = '".intval($id)."'"); //Удаление всех комментарий пользователя
//Переадресация автоматическая
header("Location: index.php?do=user&act=office");
}
if(isset($_POST['no_delete'])) {
header('Location: index.php?do=user&act=office');
exit;
}
//Подтверждение
echo '<div class="mainname">'.Lang::__('Подтверждение удаление').'</div>';
echo '<div class="mainpost">';
echo Lang::__('Вы действительно хотите удалить выбранного пользователя? Данное действие невозможно будет отменить.').'<hr/>';
//Форма удаление
echo '<div style="text-align:right;">';
$form = new form('index.php?do=user&act=delete_user&id='.$id.'');
$form->submit(Lang::__('Да'),'yes_delete');
$form->submit(Lang::__('Нет'),'no_delete');
$form->display();
echo '</div></div>';
break;
/*
* Статус пользователя
*/
case 'status':
echo '<div class="mainname">'.Lang::__('Статус пользователя').'<span class="box-toolbar"><span class="box-toolbar-link"><a href="index.php?do=user&act=new_status">Добавить статус</a></span></span></div>';
echo '<div class="mainpost">';
echo "<table style='text-shadow: 0px 0px 0px #fff;' class='little-table' cellspacing='0'>";
echo "<tr>
<th>".Lang::__('Название:')." </th>
<th>".Lang::__('Баллы:')."</th>
</tr>";
$reput = $db->query("SELECT * FROM `status_user`");
while($status = $db->get_array($reput)) {
echo '<tr class="even">';
echo '<td>'.$status['name'].'</td>';
echo '<td>'.engine::number($status['points']).'</td>';
echo '<td style="padding: 1px;">
<a title="'.Lang::__('Редактировать').'" class="Button_secondary"href="index.php?do=user&act=edit_status&id='.$status['id'].'"><img src="../icons/user/edit_status.png"></a>
<a title="'.Lang::__('Удалить').'" class="Button_secondary"href="index.php?do=user&act=delete_status&id='.$status['id'].'"><img src="../icons/user/editdelete.png"></a>
</td>';
echo '</tr>';
}
echo "</table>";
echo '</div>';
echo engine::home(array('Назад','index.php?do=user'));
break;
//Добавить новый статус для пользователя
case 'new_status':
if(isset($_POST['new_submit'])) {
$name = engine::proc_name($_POST['name']);
$points = intval($_POST['points']);
if(empty($name)) {
echo engine::error(Lang::__('Введите названия'));
echo engine::home(array('Назад','index.php?do=user&act=new_status'));
exit;
}
if(empty($points)) {
echo engine::error(Lang::__('Введите баллы'));
echo engine::home(array('Назад','index.php?do=user&act=new_status'));
exit;
}
$edit_status = $db->query("INSERT INTO `status_user` (`name`,`points`) VALUES ('".$db->safesql($name)."','".intval($points)."')");
if($edit_status == true) {
echo engine::success('Параметры успешно изменены');
echo engine::home(array('Назад','index.php?do=user&act=new_status'));
exit;
}else {
echo engine::error('Ошибка при изменение параметр');
echo engine::home(array('Назад','index.php?do=user&act=new_status'));
exit;
}
}
echo '<div class="mainname">'.Lang::__('Новый статус').'</div>';
echo '<div class="mainpost">';
$form = new form('index.php?do=user&act=new_status');
$form->input(Lang::__('Название статуса:'),'name','text');
$form->input(Lang::__('Количество баллов:'),'points','text');
$form->submit(Lang::__('Добавить'),'new_submit');
$form->display();
echo '</div>';
//Переадресация
echo engine::home(array('Назад','index.php?do=user&act=status'));
break;
//Редактировать статус
case 'edit_status':
$id = intval($_GET['id']);
$status = $db->get_array($db->query("SELECT * FROM `status_user` WHERE `id` = '".intval($id)."'"));
if(isset($_POST['edit_status'])) {
$name = engine::proc_name($_POST['name']);
$points = intval($_POST['points']);
if(empty($name)) {
echo engine::error(Lang::__('Введите названия'));
echo engine::home(array('Назад','index.php?do=user&act=edit_status&id='.$status['id'].''));
exit;
}
if(empty($points)) {
echo engine::error(Lang::__('Введите количество баллов'));
echo engine::home(array('Назад','index.php?do=user&act=edit_status&id='.$status['id'].''));
exit;
}
$edit_status = $db->query("UPDATE `status_user` SET `name` = '".$db->safesql($name)."',`points` = '".intval($points)."' WHERE `id` = '".intval($id)."'");
if($edit_status == true) {
echo engine::success('Параметры успешно изменены');
echo engine::home(array('Назад','index.php?do=user&act=edit_status&id='.$status['id'].''));
exit;
}else {
echo engine::error('Ошибка при изменение параметр');
echo engine::home(array('Назад','index.php?do=user&act=edit_status&id='.$status['id'].''));
exit;
}
}
echo '<div class="mainname">'.Lang::__('Редактирование статуса').'</div>';
echo '<div class="mainpost">';
$form = new form('index.php?do=user&act=edit_status&id='.$status['id'].'');
$form->input(Lang::__('Название'),'name','text',$status['name']);
$form->input(Lang::__('Количество баллов'),'points','text',$status['points']);
$form->submit(Lang::__('Применить'),'edit_status');
$form->display();
echo '</div>';
//Переадресация
echo engine::home(array('Назад','index.php?do=user&act=status'));
break;
//Удаление статуса
case 'delete_status':
$id = intval($_GET['id']); //Проверка на нумерное значение в $id
//Удаление статуса
$db->query("DELETE FROM `status_user` WHERE `id` = '".intval($id)."'");
//Переадресация
header("Location: index.php?do=user&act=status");
break;
endswitch;
?>