Файл: panel/add_user.php
Строк: 34
<?php
/**
* Author: Elime;
* ICQ: 618878;
* E-mail: elime4@gmail.com;
*/
require '../system/core.php';
/* Проверка прав доступа */
if(!$login) message('Ошибка авторизации!', '/panel/login.php');
if($user['id'] != 1) message('Недостаточно прав!', '/panel/index.php');
/* Если введены данные */
if(isset($_POST['login']) and isset($_POST['password']) and isset($_POST['right']))
{
/* Устанавливаем значения для полей */
$login = in($_POST['login']);
$password = $_POST['password'];
$right = $_POST['right'];
/* Если поля пустые, выводим ошибку */
if(empty($login))
{
message('Введите логин пользователя!');
}
if(empty($password))
{
message('Введите пароль пользователя!');
}
if(empty($right))
{
message('Укажите права для пользователя!');
}
/* Проверяем длину полей */
if(mb_strlen($login, 'utf-8') > 20)
{
message('Логин должен быть не больше 20 символов!');
}
if(mb_strlen($login, 'utf-8') < 3)
{
message('Логин должен быть не меньше 3 символов!');
}
if(mb_strlen($password, 'utf-8') < 5)
{
message('Пароль должен быть не меньше 5 символов!');
}
if(mb_strlen($password, 'utf-8') > 32)
{
message('Пароль должен быть не больше 32 символа!');
}
/* Ищем пользователя с таким же логином */
$users = $db->result("SELECT COUNT(*) FROM `users` WHERE `login`='".$login."'");
if($users > 0)
{
message('Пользователь с таким логином уже существует!');
}
/* Проверка указанных прав */
$rights = array();
foreach($right as $value)
{
$value = num($value);
if($value < 1 or $value > 10 or in_array($value, $rights))
{
message('Произошла ошибка при установке прав для пользователя!');
}
$rights[] = $value;
}
/* Записываем данные пользователя в БД */
$db->query("INSERT INTO `users` SET `login`='".$login."', `password`='".md5($password)."'");
/* Идентификатор записанного пользователя */
$user_id = $db->insert_id();
/* Записываем права для пользователя */
foreach($rights as $value)
{
$db->query("INSERT INTO `rights` SET `user_id`='".$user_id."', `right`='".$value."'");
}
/* Записываем в логи кто создал нового пользователя */
$action = $user['login'].' создал нового пользователя: "'.$login.'".';
$db->query("INSERT INTO `users_log` SET `user_id`='".$user['id']."', `action`='".in($action)."', `time`='".time()."'");
/* Выводим сообщение */
message('Пользователь успешно создан!', '/panel/users.php');
}
/* Выводим страницу */
$data['title'] = 'Создать пользователя';
$tpl->display('panel/add_user', $data);
?>