edit-data.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 $_POST['data'] = array_map('trim', $_POST['data']);
25 $_POST['data'] = array_filter($_POST['data']);
26 foreach ($_POST['data'] as $key => $item) {
27  $arr = array_map('trim', explode(':', $item, 2));
28  $_POST['data'][$arr[0]] = $arr[1];
29  unset($_POST['data'][$key]);
30 }
31 $_POST['data'] = json_encode($_POST['data']);
32 
33 $sth = $dbh->prepare("UPDATE `crontabs` SET `data` = :data WHERE `id` = :id");
34 $sth->bindValue(':data', $_POST['data']);
35 $sth->bindValue(':id', $row->id);
36 $sth->execute();
37 
38 if ($sth->errorCode() == '00000') {
39  $mem = new Wrong\Memory\Cache('cron');
40  $mem->delete($row->id);
41  exit(json_encode(['result' => 'ok', 'message' => 'Данные успешно установлены']));
42 }
43 
44 exit(json_encode(['error' => 'Ошибка']));
45 
46 
if(!($row=Wrong\Models\Crontabs::find($_POST['id']))) if(! $user->access() ->write($row)) $_POST['data']
Definition: edit-data.php:24
$sth
Definition: edit-data.php:33
$mem
Definition: settings.php:129
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
$arr
Definition: actions.php:25
$dbh
Definition: session.php:19