View file admin/user/user.php

File size: 35.95Kb
<?
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">&nbsp;<a href="'.CP_DERICTORY.'user/index.php?do=user&act=office">Управление пользователями</a></div>';
echo '<div class="subpost"><img src="'.ICON_ADMIN.'user/rating.png">&nbsp;<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">&nbsp;<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">&nbsp; Новый пользователь сразу попадет в группу "Пользователи"<br/>');
			$form->text('<img src="../icons/user/frame.png">&nbsp; Указанные параметры <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: &nbsp;'.$edituser['logged_ip'].'<br/>
	Последний визин: &nbsp; '.date::make_date($edituser['lastdate']).'<br/>
	Дата регистрации: &nbsp; '.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;

?>