remove-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(52)->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  echo '<option value="' . $row->id . '">' . Wrong\Rights\Group::text($row->id) . '</option>';
44  }
45  ?>
46  </select>
47  </div>
48  <button type="submit" class="btn btn-sm btn-block btn-success mt-3">Сохранить</button>
49  </form>
50  </div>
51  </div>
52  </div>
53  <script>
54  $("#<?= $basename ?> form").submit(function(e) {
55  lockSubmit($("#<?= $basename ?> form [type=submit]"));
56  e.preventDefault();
57  $.ajax({
58  type: "POST",
59  url: $(this).attr("action"),
60  data: $(this).serialize(),
61  dataType: "json",
62  statusCode: {
63  404: errorToast,
64  403: errorToast
65  }
66  })
67  .done(response => {
68  if (response.error) {
69  errorToast(response.error);
70  return;
71  }
72  $('.dataTable').DataTable().ajax.reload(null, false);
73  $('.toast').toast('hide');
74  successToast(response.message);
75  $("#<?= $basename ?>").modal("hide");
76  })
77  .always(() => {
78  unlockSubmit($("#<?= $basename ?> form [type=submit]"));
79  });
80  });
81  </script>
82 </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