Вход Регистрация
Файл: system/class/admin.php
Строк: 109
<?
////////////////////////////////////////////////////////////////
////////////////Файл,отвечающий за функции и операции///////////
///////////////////по работе с админкой/////////////////////////
final class admin {

///проверка может ли выполнять конкретный пользователь конкретное действие
public function user_can($function_name,$user_id,$refresh=true,$url=ROOT){
global 
$db;
$level=false;
///проверяем,существует ли функция под кодом fction
$sql1 $db -> query("SELECT `id` FROM `function` WHERE `function` = '".$function_name."' LIMIT 1");
if (
$sql1-> num_rows 0) { 
///запоминаем код функции
$func_id=$sql1->fetch_assoc();
///проверяем,входит ли пользователь в группу
$sql2 $db -> query("SELECT `group` FROM `groups_users` WHERE `uid` = '".$user_id."'");
if (
$sql2-> num_rows 0) {
//запоминаем id Группы
$group=$sql2->fetch_assoc();
//проверяем,может ли данная группа выполнять эту функцию
$sql3 $db -> query("SELECT `id` FROM `groups_function` WHERE `group` = '".$group['group']."' and `function` = '".$func_id['id']."'");
if (
$sql3-> num_rows 0) {
$level=true;
$func=$sql3->fetch_assoc();
}
}
}
//если нужна переадресация и булиан=false
if($level==false and $refresh==true){
header('Location: '.$url);
//во всех остальных случаях выводим итог в булиан (true/false)
}else {
return 
$level;
}
}
//проверяем отображается ли админ панель хотя бы по одной из функций
public function panel($user_id){
global 
$db;
///проверяем,входит ли пользователь в группы и какие у неё функции
$sql $db -> query("Select `id` from `function` where `admin_panel`='1' and `id` in(SELECT `function` FROM `groups_function` WHERE `group` in(select `group` from `groups_users` where `uid`='".$user_id."'))");
if (
$sql-> num_rows 0) { 
$function=$sql->fetch_assoc();
return 
true;
}else return 
false;
}
///вывод id привелегий группы массивом
public function group_functions($group){
global 
$db;
$array=array();
//проверка существования группы
$sql $db -> query("SELECT * FROM `user_groups` where `id`='".$group."'");
if (
$sql -> num_rows 0) {
//создание массива из id функций группы
$sql2 $db -> query("SELECT `function` FROM `groups_function` where `group`='".$group."'");
while (
$group $sql2 -> fetch_assoc()) {
array_push($array$group['function']);
}
}
return 
$array;
}
//вывод названия функции под id
public function function_name($function_id){
global 
$db;
//проверка существования функции по id
$sql $db -> query("SELECT * FROM `function` where `id`='".$function_id."'");
if (
$sql -> num_rows 0) {
//вывод названия функции по id
$function $db -> query("SELECT `name` FROM `function` where `id`='".$function_id."'")-> fetch_assoc();
return 
$function['name'];
}
}
//вывод названия группы под id
public function group($id){
global 
$db;
//проверка существования функции по id
$sql $db -> query("SELECT `name` FROM `user_groups` where `id`='".$id."'");
if (
$sql -> num_rows 0) {
$group=$sql->fetch_assoc();
return 
$group['name'];
}else return 
'null';
}
//////////////////
///изменение привилегии
public function user_update($user,$group=0){
global 
$db;
$sql1 $db -> query("SELECT `id` FROM `users` WHERE `id` = '".$user."'");
if (
$sql1-> num_rows 0) {
if(
$group!=0)$sql2 $db -> query("SELECT `id` FROM `user_groups` WHERE `id` = '".$group."'");
if(
$sql2-> num_rows or $group==0) {
$db -> query("DELETE FROM `groups_users` WHERE `uid` = '".$user."' and `group`<>'".$group."'");
if(
$group!=0)$db -> query("INSERT INTO `groups_users` set `uid` = '".$user."',`group` = '".$group."',`yaid` = '".$ya['id']."',`time`='".time()."'");
return 
true;
exit;
}
}
return 
false
}
///вывод ID группы пользователя
public function group_user_id($user){
global 
$db;
$sql $db -> query("SELECT `group` FROM `groups_users` WHERE `uid` = '".$user."'");
if (
$sql-> num_rows 0) {
$group=$sql->fetch_assoc();
$group_id=$group['group'];
}else 
$group_id=0
return 
$group_id;
}
//////////////////
///проверка вхождения пользователя в группы
public function level($user){
global 
$db;
$sql $db -> query("SELECT `group` FROM `groups_users` WHERE `uid` = '".$user."'");
if (
$sql-> num_rows 0) {
return 
true;
}else return 
false;
}
/////////////
}
?>
Онлайн: 2
Реклама