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 if (!($row = Wrong\Models\Crontabs::find($_GET['id']))) {
11  exit('<script>errorToast("Ошибка!");</script>');
12 }
13 
14 if ($row->method == 'CLI') {
15  exit('<script>errorToast("У CLI задач нельзя менять данные!");</script>');
16 }
17 
18 $data = json_decode($row->data, true);
19 foreach ($data as $key => $value) {
20  $data[$key] = "$key: $value";
21 }
22 
23 ?>
24 <div class="modal fade" id="<?= $basename ?>" tabindex="-1" data-backdrop="static" data-keyboard="false">
25  <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
26  <div class="modal-content">
27  <div class="modal-header">
28  <h5 class="modal-title">Изменить данные</h5>
29  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
30  <span aria-hidden="true">&times;</span>
31  </button>
32  </div>
33  <div class="modal-body">
34  <form action="<?= Wrong\Models\Actions::find(34)->request ?>">
35  <input type="hidden" name="id" value="<?= $row->id ?>">
36  <input type="hidden" name="table" value="<?= $_GET['table'] ?>">
37  <div class="input-group input-group-sm">
38  <div class="input-group-prepend w-50">
39  <span class="input-group-text w-100">Данные json объекта или post формы(опционально)</span>
40  </div>
41  <div class="flex-fill">
42  <?php foreach ($data as $item) : ?>
43  <input type="text" name="data[]" class="form-control form-control-sm" value="<?= $item ?>" placeholder="Key: value" autocomplete="off">
44  <?php endforeach; ?>
45  <?php if (!$data) : ?>
46  <input type="text" name="data[]" class="form-control form-control-sm" value="" placeholder="Key: value" autocomplete="off">
47  <?php endif; ?>
48  </div>
49  <div class="input-group-append">
50  <button title="Убрать крайнее поле" type="button" class="btn btn-danger rm-data" style="display:none;"><i class="fa fa-minus"></i></button>
51  <button title="Добавить ещё поле" type="button" class="btn btn-primary add-data"><i class="fa fa-plus"></i></button>
52  </div>
53  </div>
54  <button type="submit" class="btn btn-sm btn-block btn-success mt-3">Сохранить</button>
55  </form>
56  </div>
57  </div>
58  </div>
59  <script>
60  $("#<?= $basename ?> form").submit(function(e) {
61  lockSubmit($("#<?= $basename ?> form [type=submit]"));
62  e.preventDefault();
63  $.ajax({
64  type: "POST",
65  url: $(this).attr("action"),
66  data: $(this).serialize(),
67  dataType: "json",
68  statusCode: {
69  404: errorToast,
70  403: errorToast
71  }
72  })
73  .done(response => {
74  if (response.error) {
75  errorToast(response.error);
76  return;
77  }
78  $('.dataTable').DataTable().ajax.reload(null, false);
79  $('.toast').toast('hide');
80  successToast(response.message);
81  $("#<?= $basename ?>").modal("hide");
82  })
83  .always(() => {
84  unlockSubmit($("#<?= $basename ?> form [type=submit]"));
85  });
86  });
87 
88  $("#<?= $basename ?> .add-data").click(() => {
89  let input = $("#<?= $basename ?> [type='text'][name='data[]']:last");
90  let clone = input.clone();
91  clone.val("");
92  input.after(clone);
93  $("#<?= $basename ?> .rm-data").show();
94  });
95 
96  $("#<?= $basename ?> .rm-data").click(() => {
97  if ($("#<?= $basename ?> [type='text'][name='data[]']").length > 1) {
98  $("#<?= $basename ?> [type='text'][name='data[]']:last").remove();
99  }
100  if ($("#<?= $basename ?> [type='text'][name='data[]']").length == 1) {
101  $("#<?= $basename ?> .rm-data").hide();
102  }
103  });
104 
105  if ($("#<?= $basename ?> [type='text'][name='data[]']").length > 1) {
106  $("#<?= $basename ?> .rm-data").show();
107  }
108  </script>
109 </div>
$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->access() ->page('/system')) if(Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_SECRET||Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_SECRET)(Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_SECRET) if(Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_SECRET) endif
Definition: sign-in.php:59
if(!($row=Wrong\Models\Crontabs::find($_GET['id']))) if($row->method=='CLI') $data
Definition: edit-data.php:18