add-from-group.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief окно - Массовое добавление в группу пользователей другой группы
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 if (!($row = Wrong\Models\Groups::find($_GET['id']))) {
11  exit('<script>errorToast("Ошибка!");</script>');
12 }
13 
14 if ($user->access()->is_system($row)) {
15  exit('<script>errorToast("Этот функционал недоступен для системных групп!");</script>');
16 }
17 
18 if (!$user->access()->write($row)) {
19  exit('<script>errorToast("Недостаточно прав!");</script>');
20 }
21 
22 ?>
23 <div class="modal fade" id="<?= $basename ?>" tabindex="-1" data-backdrop="static" data-keyboard="false">
24  <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
25  <div class="modal-content">
26  <div class="modal-header">
27  <h5 class="modal-title">Добавить пользователям группы <b>"<?= $row->name ?>"</b></h5>
28  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
29  <span aria-hidden="true">&times;</span>
30  </button>
31  </div>
32  <div class="modal-body pt-2">
33  <form action="<?= Wrong\Models\Actions::find(51)->request ?>">
34  <input type="hidden" name="id" value="<?= $row->id ?>">
35  <div class="input-group input-group-sm">
36  <div class="input-group-prepend w-50">
37  <span class="input-group-text w-100">Группу</span>
38  </div>
39  <select name="source_group" class="custom-select">
40  <?php
41  foreach ($user->subordinate_groups as $id) {
42  $row = Wrong\Rights\Group::row($id);
43  if ($row->id == $_GET['id']) continue;
44  echo '<option value="' . $row->id . '">' . Wrong\Rights\Group::text($row->id) . '</option>';
45  }
46  ?>
47  </select>
48  </div>
49  <button type="submit" class="btn btn-sm btn-block btn-success mt-3">Сохранить</button>
50  </form>
51  </div>
52  </div>
53  </div>
54  <script>
55  $("#<?= $basename ?> form").submit(function(e) {
56  lockSubmit($("#<?= $basename ?> form [type=submit]"));
57  e.preventDefault();
58  $.ajax({
59  type: "POST",
60  url: $(this).attr("action"),
61  data: $(this).serialize(),
62  dataType: "json",
63  statusCode: {
64  404: errorToast,
65  403: errorToast
66  }
67  })
68  .done(response => {
69  if (response.error) {
70  errorToast(response.error);
71  return;
72  }
73  $('.dataTable').DataTable().ajax.reload(null, false);
74  $('.toast').toast('hide');
75  successToast(response.message);
76  $("#<?= $basename ?>").modal("hide");
77  })
78  .always(() => {
79  unlockSubmit($("#<?= $basename ?> form [type=submit]"));
80  });
81  });
82  </script>
83 </div>
static row($id)
Definition: Group.php:245
static text($id)
Definition: Group.php:233
$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