- <?
- 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;
-
- ?>