edit-performer.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief обработчик установки исполнителя для cron задачи
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 header("Content-type: application/json");
11 
12 array_walk_recursive($_POST, function (&$item) {
13  $item = trim(htmlspecialchars($item, ENT_QUOTES));
14 });
15 
16 if (!($row = Wrong\Models\Crontabs::find($_POST['id']))) {
17  exit(json_encode(['error' => 'Ошибка']));
18 }
19 
20 if (!$user->access()->write($row)) {
21  exit(json_encode(['error' => 'Недостаточно прав!']));
22 }
23 
24 if ($row->method == 'CLI') {
25  exit(json_encode(['error' => 'У CLI задач нельзя менять исполнителя!']));
26 }
27 
28 if (!empty($_POST['user_id'])) {
29  $row = Wrong\Auth\User::get($_POST['user_id']);
30  if (!$row) {
31  exit(json_encode(['error' => 'Исполнитель не найден в системе!']));
32  }
33  if (!$user->access()->write($row, true)) {
34  exit(json_encode(['error' => 'Недостаточно прав для выполнения задач от этого пользователя']));
35  }
36 } else {
37  $_POST['user_id'] = 0;
38 }
39 
40 if (Wrong\Models\Crontabs::set_performer($_POST)) {
41  $mem = new Wrong\Memory\Cache('cron');
42  $mem->delete($row->id);
43  exit(json_encode(['result' => 'ok', 'message' => 'Исполнитель успешно установлен']));
44 }
45 
46 exit(json_encode(['error' => 'Ошибка']));
$_POST['groups']
Definition: add-action.php:16
$mem
Definition: settings.php:129
static get($id)
Definition: User.php:171
Cache класс, отвечающий за кеширование
Definition: Cache.php:19
$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