Файл: panel/site/content/access_user.php
Строк: 116
<?php
ECHO "<div class='navi'>";
ECHO "<a href='?'>".ICONS('home', 25)."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "<a href='?path=site'>".LG('Настройки сайта')."</a> ";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "".LG('Привилегии пользователей')."";
ECHO "</div>";
/*
--------------
Настройка прав
--------------
*/
IF (GET('access_set')){
$access = DB::GET_STRING("SELECT * FROM `PANEL_ACCESS_USER` WHERE `ID` = '".INTVAL(GET('access_set'))."' LIMIT 1");
IF (!ISSET($access['ID']) && $access['ACCESS'] == 1 || $access['ACCESS'] >= 98){
ERROR('Неизвестная ошибка', 'session');
REDIRECT('?path=site§ion=access_user');
}
IF (POST('ok')){
DB::GET_SET("DELETE FROM `PANEL_ACCESS_USER_LIST` WHERE `ID_ACCESS` = '".$access['ACCESS']."'");
$data = DB::GET_STRING_ALL("SELECT * FROM `PANEL_ACCESS_LIST`");
WHILE ($list = $data->FETCH()){
$name = $list['NAME'];
IF (POST($name) == 1){
DB::GET_ADD("INSERT INTO `PANEL_ACCESS_USER_LIST` (`ID_ACCESS`, `ID_ACCESS_LIST`) VALUES ('".$access['ACCESS']."', '".$list['ID']."')");
}
}
SUCCESS('Изменения успешно приняты', 'session');
REDIRECT('?path=site§ion=access_user&access_set='.$access['ID'].'');
}
$count = DB::GET_COLUMN("SELECT COUNT(*) FROM `PANEL_ACCESS_LIST`");
ECHO "<div class='fon2'>";
ECHO "<div class='list-title'><b>".LG(TEXT_ABSOLUTE($access['NAME']))." - ".LG('Права')." <span class='count2'>$count</span></b></div>";
IF ($count == 0){
HTML::EMPTY();
}
ECHO "<form method='post'>";
$data = DB::GET_STRING_ALL("SELECT * FROM `PANEL_ACCESS_LIST` ORDER BY `ID` DESC");
WHILE ($list = $data->FETCH()){
ECHO "<div class='list'>";
ECHO "<label class='custom-checkbox'><input type='checkbox' name='".TEXT_ABSOLUTE($list['NAME'])."' value='1'".(DB::GET_COLUMN("SELECT COUNT(*) FROM `PANEL_ACCESS_USER_LIST` WHERE `ID_ACCESS` = '".$access['ACCESS']."' AND `ID_ACCESS_LIST` = '".$list['ID']."' LIMIT 1") == 1?" checked='checked'" : NULL)."><span>";
ECHO "<b>".LG(TEXT_ABSOLUTE($list['FACT_NAME']))."</b></span></label><br /><small>".TEXT_ABSOLUTE($list['NAME'])."</small>";
ECHO "</div>";
}
ECHO "<div class='list'>";
HTML::BUTTON('panel-button2', 'ok', 'save', 'Сохранить изменения');
ECHO "</div>";
ECHO "</form>";
ECHO "</div>";
ECHO "<a href='?path=site§ion=access_user'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
---------------------
Добавление привилегии
---------------------
*/
IF (GET('get') == "add"){
IF (POST('ok')){
$err_data = 0;
$name = ADSL(POST('name'));
$access = INTVAL(POST('access'));
IF (STR($name) < 1){
ERROR('Имя не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($name) > 100){
ERROR('Имя не может быть больше 100 символов', 'session');
$err_data = 1;
}
IF (DB::GET_COLUMN("SELECT COUNT(`ACCESS`) FROM `PANEL_ACCESS_USER` WHERE `ACCESS` = '".$access."' LIMIT 1") == 1){
ERROR('Такие права уже есть', 'session');
$err_data = 1;
}
IF (DB::GET_COLUMN("SELECT COUNT(`ACCESS`) FROM `PANEL_ACCESS_USER` WHERE `NAME` = '".$name."' LIMIT 1") == 1){
ERROR('Такое имя уже есть', 'session');
$err_data = 1;
}
IF ($access > 99){
ERROR('Код прав доступа не может быть больше #99', 'session');
$err_data = 1;
}
IF ($access < 1){
ERROR('Код прав доступа не может быть меньше #1', 'session');
$err_data = 1;
}
IF ($err_data == 1){
REDIRECT('?path=site§ion=access_user&get=add');
}
DB::GET_ADD("INSERT INTO `PANEL_ACCESS_USER` (`NAME`, `ACCESS`) VALUES ('".$name."', '".$access."')");
SUCCESS('Успешно', 'session');
REDIRECT('?path=site§ion=access_user');
}
ECHO "<div class='fon'>";
ECHO "<form method='post'>";
HTML::INPUT('name', NULL, 'Имя:', NULL, NULL, 'form-control-100', 'text');
HTML::INPUT('access', 0, 'Права:', NULL, NULL, 'form-control-30', 'text');
HTML::BUTTON('panel-button2', 'ok', 'plus', 'Добавить');
ECHO "</form>";
ECHO "</div>";
ECHO "<a href='?path=site§ion=access_user'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
-------------------------
Редактирование привилегии
-------------------------
*/
IF (GET('edit')){
$access = DB::GET_STRING("SELECT * FROM `PANEL_ACCESS_USER` WHERE `ID` = '".INTVAL(GET('edit'))."' LIMIT 1");
IF (!ISSET($access['ID']) && $access['ACCESS'] == 1 || $access['ACCESS'] >= 98){
ERROR('Неизвестная ошибка', 'session');
REDIRECT('?path=site§ion=access_user');
}
IF (POST('ok')){
$err_data = 0;
$name = ADSL(POST('name'));
$access2 = INTVAL(POST('access'));
IF (STR($name) < 1){
ERROR('Имя не может быть меньше 1 символа', 'session');
$err_data = 1;
}
IF (STR($name) > 100){
ERROR('Имя не может быть больше 100 символов', 'session');
$err_data = 1;
}
IF ($access2 != $access['ACCESS'] && DB::GET_COLUMN("SELECT COUNT(`ACCESS`) FROM `PANEL_ACCESS_USER` WHERE `ACCESS` = '".$access2."' LIMIT 1") == 1){
ERROR('Такие права уже есть', 'session');
$err_data = 1;
}
IF ($name != $access['NAME'] && DB::GET_COLUMN("SELECT COUNT(`ACCESS`) FROM `PANEL_ACCESS_USER` WHERE `NAME` = '".$name."' LIMIT 1") == 1){
ERROR('Такое имя уже есть', 'session');
$err_data = 1;
}
IF ($access2 > 99){
ERROR('Код прав доступа не может быть больше #99', 'session');
$err_data = 1;
}
IF ($access2 < 1){
ERROR('Код прав доступа не может быть меньше #1', 'session');
$err_data = 1;
}
IF ($err_data == 1){
REDIRECT('?path=site§ion=access_user&edit='.$access['ID'].'');
}
DB::GET_SET("UPDATE `PANEL_ACCESS_USER` SET `ACCESS` = '".$access2."', `NAME` = '".$name."' WHERE `ID` = '".$access['ID']."' LIMIT 1");
SUCCESS('Успешно', 'session');
REDIRECT('?path=site§ion=access_user');
}
ECHO "<div class='fon'>";
ECHO "<form method='post'>";
HTML::INPUT('name', NULL, 'Имя:', NULL, TEXT_ABSOLUTE($access['NAME']), 'form-control-100', 'text');
HTML::INPUT('access', 0, 'Права:', NULL, $access['ACCESS'], 'form-control-30', 'text');
HTML::BUTTON('panel-button2', 'ok', 'save', 'Сохранить изменения');
ECHO "</form>";
ECHO "</div>";
ECHO "<a href='?path=site§ion=access_user'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
-------------------
Удаление привилегии
-------------------
*/
IF (GET('delete')){
$access = DB::GET_STRING("SELECT * FROM `PANEL_ACCESS_USER` WHERE `ID` = '".INTVAL(GET('delete'))."' LIMIT 1");
IF (!ISSET($access['ID']) && $access['ACCESS'] == 1 || $access['ACCESS'] >= 98){
ERROR('Неизвестная ошибка', 'session');
REDIRECT('?path=site§ion=access_user');
}
IF (GET('get') == "delete"){
DB::GET_SET("DELETE FROM `PANEL_ACCESS_USER_LIST` WHERE `ID_ACCESS` = '".$access['ID']."'");
DB::GET_SET("DELETE FROM `PANEL_ACCESS_USER` WHERE `ID` = '".$access['ID']."'");
SUCCESS('Успешно', 'session');
REDIRECT('?path=site§ion=access_user');
}
ECHO "<div class='fon'>";
ECHO LG('Вы действительно хотите удалить права')." #".$access['ACCESS']."?<br /><br />";
ECHO "<a href='?path=site§ion=access_user&delete=".$access['ID']."&get=delete' class='panel-button2'>".ICONS('trash', 15, 'fa-fw')." ".LG('Удалить')."</a> ";
ECHO "<a href='?path=site§ion=access_user' class='panel-button2'>".ICONS('mail-forward', 15, 'fa-fw')." ".LG('Отменить')."</a> ";
ECHO "</div>";
ECHO "<a href='?path=site§ion=access_user'><div class='fon'>".ICONS('arrow-left', 15, 'fa-fw')." ".LG('Назад')."</div></a>";
REQUIRE (ROOT.'/style/panel/include/footer.php');
EXIT;
}
/*
-----------------
Список привилегий
-----------------
*/
ECHO "<div class='fon'>";
ECHO "<a href='?path=site§ion=access_user&get=add' class='panel-button2'>".ICONS('plus', 15, 'fa-fw')." ".LG('Добавить привилегию')."</a>";
ECHO "</div>";
$count = DB::GET_COLUMN("SELECT COUNT(*) FROM `PANEL_ACCESS_USER`");
ECHO "<div class='fon2'>";
ECHO "<div class='list-title'><b>".LG('Список привилегий')." <span class='count2'>$count</span></b></div>";
IF ($count == 0){
HTML::EMPTY();
}
$data = DB::GET_STRING_ALL("SELECT * FROM `PANEL_ACCESS_USER` ORDER BY `ACCESS` DESC");
WHILE ($list = $data->FETCH()){
ECHO "<div class='list'>";
IF ($list['ACCESS'] == 1 || $list['ACCESS'] >= 98){
ECHO ICONS('lock', 15, 'fa-fw');
}
ECHO " <b>".LG('Права')." #".$list['ACCESS']."</b><br />";
ECHO "".TEXT_ABSOLUTE($list['NAME'])."";
IF ($list['ACCESS'] > 1 && $list['ACCESS'] < 98){
ECHO "<br /><br /><a href='?path=site§ion=access_user&edit=".$list['ID']."' class='panel-button'>".ICONS('gear', 15, 'fa-fw')." ".LG('Редактировать')."</a> ";
ECHO "<a href='?path=site§ion=access_user&access_set=".$list['ID']."' class='panel-button'>".ICONS('lock', 15, 'fa-fw')." ".LG('Настройка прав')."</a> ";
ECHO "<a href='?path=site§ion=access_user&delete=".$list['ID']."' class='panel-button'>".ICONS('trash', 15, 'fa-fw')." ".LG('Удалить')."</a> ";
}
ECHO "</div>";
}
ECHO "</div>";
ECHO "<div class='fon'>";
ECHO "".LG('Пользователи с правами #99 и #98 имеют доступ к панели управления сайтом')."";
ECHO "</div>";
?>