edit-groups.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief обработчик установки групп доступа для модели
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 header("Content-type: application/json");
11 
12 if (!($row = Wrong\Database\Controller::find($_POST['id'], 'id', $_POST['table']))) {
13  exit(json_encode(['error' => 'Ошибка']));
14 }
15 
16 if (!$user->access()->write($row, true)) {
17  exit(json_encode(['error' => 'Недостаточно прав!']));
18 }
19 
20 if ($_POST['table'] == 'users') {
21  $groups = array_map('intval', array_values(array_intersect($user->subordinate_groups, empty($_POST['groups']) ? [] : array_keys($_POST['groups']))));
22 } else {
23  $groups = array_map('intval', array_values(array_intersect(array_column(Wrong\Rights\Group::$groups_not_system, 'id'), empty($_POST['groups']) ? [] : array_keys($_POST['groups']))));
24 }
25 
26 if (in_array(1, json_decode($row->groups)) && !in_array(1, array_keys($_POST['groups']))) {
27  $groups[] = 1; // если система ранее была в группе то добавляем
28 }
29 
31 exit(json_encode(['result' => 'ok', 'message' => 'Группы доступа установлены']));
$_POST['groups']
Definition: add-action.php:16
static set_groups($id, $arr, $table_name)
Definition: Group.php:292
$user
Definition: from-user.php:38
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']
Definition: from-user.php:36
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit
Definition: install.php:198
if(!($row=Wrong\Database\Controller::find($_GET['id'], 'id', $_GET['table']))) $groups
Definition: edit-groups.php:14