8 isset(
$user) or require
$_SERVER[
'DOCUMENT_ROOT'] .
'/page/404.php';
12 header(
"Content-type: application/json");
14 if (!($row = Wrong\Models\Groups::find(
$_POST[
'id']))) {
15 exit(json_encode([
'error' =>
'Ошибка']));
18 if (
$user->access()->is_system($row)) {
19 exit(json_encode([
'error' =>
'Этот функционал недоступен для системных групп!']));
22 if (!
$user->access()->write($row)) {
23 exit(json_encode([
'error' =>
'Недостаточно прав!']));
26 if (!($source = Wrong\Models\Groups::find(
$_POST[
'source_group'])) || !
$user->access()->write($source,
true)) {
27 exit(json_encode([
'error' =>
'Ошибка']));
30 foreach (
$dbh->query(
"SELECT * FROM `users` WHERE JSON_CONTAINS(`groups`, $row->id) = 1 AND JSON_CONTAINS(`groups`, $source->id) = 0") as $item) {
31 if (in_array($item->owner_group,
$user->subordinate_groups)) {
32 $arr = json_decode($item->groups,
true);
34 $arr = array_values(array_unique(array_map(
'intval',
$arr)));
35 $dbh->query(
"UPDATE `users` SET `groups` = '" . json_encode(
$arr) .
"' WHERE `id` = $item->id");
39 exit(json_encode([
'result' =>
'ok',
'message' =>
'Пользователям группы <b>' . $row->name .
'</b> добавлена группа <b>' . $source->name .
'</b>']));
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']
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit