Файл: panel/right.php
Строк: 23
<?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($_GET['id']))
{
message('Вы не указали пользователя!', '/panel/users.php');
}
/* Ищем пользователя в БД */
$query = $db->query("SELECT * FROM `users` WHERE `id`='".num($_GET['id'])."'");
if($db->num($query) != 1)
{
message('Указанный пользователь не найден!', '/panel/users.php');
}
$user_result = $db->fetch($query);
/* Получаем список прав пользователя */
$array = array();
$query = $db->query("SELECT * FROM `rights` WHERE `user_id`='".num($_GET['id'])."'");
while($result = $db->fetch($query))
{
$array[] = $result['right'];
}
$data['array'] = $array;
$data['login'] = out($user_result['login']);
/* Если переданы права */
if(isset($_POST['right']))
{
$right = $_POST['right'];
/* Проверяем указанные права */
$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("DELETE FROM `rights` WHERE `user_id`='".$user_result['id']."'");
/* Записываем новые права */
foreach($rights as $value)
{
$db->query("INSERT INTO `rights` SET `user_id`='".$user_result['id']."', `right`='".$value."'");
}
/* Записываем в логи кто изменил права доступа */
$action = $user['login'].' изменил права доступа для пользователя: "'.$user_result['login'].'".';
$db->query("INSERT INTO `users_log` SET `user_id`='".$user['id']."', `action`='".in($action)."', `time`='".time()."'");
/* Выводим сообщение */
message('Права доступа успешно изменены!', '/admin/users.php');
}
/* Выводим страницу */
$data['title'] = 'Изменить права';
$tpl->display('panel/right', $data);
?>