<?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&section=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&section=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&section=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&section=access_user&get=add');
    
    }
    
    DB::GET_ADD("INSERT INTO `PANEL_ACCESS_USER` (`NAME`, `ACCESS`) VALUES ('".$name."', '".$access."')");
    
    SUCCESS('Успешно', 'session');
    REDIRECT('?path=site&section=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&section=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&section=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&section=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&section=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&section=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&section=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&section=access_user');
    
  }
  
  ECHO "<div class='fon'>";
  
  ECHO LG('Вы действительно хотите удалить права')." #".$access['ACCESS']."?<br /><br />";
  
  ECHO "<a href='?path=site&section=access_user&delete=".$access['ID']."&get=delete' class='panel-button2'>".ICONS('trash', 15, 'fa-fw')." ".LG('Удалить')."</a> ";
  ECHO "<a href='?path=site&section=access_user' class='panel-button2'>".ICONS('mail-forward', 15, 'fa-fw')." ".LG('Отменить')."</a> ";
  
  ECHO "</div>";
  
  ECHO "<a href='?path=site&section=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&section=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&section=access_user&edit=".$list['ID']."' class='panel-button'>".ICONS('gear', 15, 'fa-fw')." ".LG('Редактировать')."</a> ";
    ECHO "<a href='?path=site&section=access_user&access_set=".$list['ID']."' class='panel-button'>".ICONS('lock', 15, 'fa-fw')." ".LG('Настройка прав')."</a> ";
    ECHO "<a href='?path=site&section=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>";

?>