toggle.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 (in_array($_POST['table'], ['users', 'groups']) && $user->access()->is_system($row)) {
17  exit(json_encode(['error' => 'Системных пользователей и группы отключать нельзя!']));
18 }
19 
20 if (!$user->access()->write($row, true)) {
21  exit(json_encode(['error' => 'Недостаточно прав!']));
22 }
23 
24 if ($_POST['table'] == 'crontabs') {
25  $mem = new Wrong\Memory\Cache('cron');
26  $mem->delete($row->id);
28 }
29 
30 $act = intval(Wrong\Database\Controller::toggle($_POST['id'], $_POST['table'])->act);
31 $message = $act ? 'Функционал включен' : 'Функционал отключен. Группа - владелец <b>' . Wrong\Rights\Group::text($row->owner_group) . '</b> по прежнему имеет доступ';
32 
33 exit(json_encode(['id' => $_POST['id'], 'act' => $act, 'table' => $_POST['table'], 'message' => $message]));
$_POST['groups']
Definition: add-action.php:16
$mem
Definition: settings.php:129
Cache класс, отвечающий за кеширование
Definition: Cache.php:19
static text($id)
Definition: Group.php:233
static set_run_at()
Definition: Cron.php:107
$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(! $user->id) демо версия data toggle
Definition: comments.php:17
if(!($row=Wrong\Database\Controller::find($_POST['id'], 'id', $_POST['table']))) if(in_array($_POST['table'], ['users', 'groups']) && $user->access() ->is_system($row)) if(! $user->access() ->write($row, true)) if($_POST['table']=='crontabs') $act
Definition: toggle.php:30
$message
Definition: toggle.php:31