sign-up.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 ($user->access()->page('/system')) {
11  exit('<script>location.href="/system";</script>');
12 }
13 
14 ?>
15 <div class="modal fade" id="<?= $basename ?>" tabindex="-1" data-backdrop="static" data-keyboard="false">
16  <div class="modal-dialog modal-dialog-centered modal-sm" role="document">
17  <div class="modal-content text-white" style="background:#3B4346 url(/assets/system/img/bg01.jpg);">
18  <div class="modal-header">
19  <h5 class="modal-title"><i class="fa fa-key mr-2"></i>Регистрация</h5>
20  <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
21  <span aria-hidden="true">&times;</span>
22  </button>
23  </div>
24  <div class="modal-body">
25  <form action="<?= Wrong\Models\Actions::find(2)->request ?>">
26  <input type="hidden" name="h-captcha-response">
27  <div class="form-group">
28  <div class="input-group">
29  <div class="input-group-prepend">
30  <span class="input-group-text">
31  <span class="fa fa-at"></span>
32  </span>
33  </div>
34  <input type="email" class="form-control" name="email" placeholder="Email">
35  </div>
36  </div>
37  <div class="form-group">
38  <div class="input-group">
39  <div class="input-group-prepend">
40  <span class="input-group-text">
41  <i class="fa fa-key"></i>
42  </span>
43  </div>
44  <input type="password" class="form-control" name="password" placeholder="Пароль">
45  </div>
46  </div>
47  <div class="form-group">
48  <div class="input-group">
49  <div class="input-group-prepend">
50  <span class="input-group-text">
51  <i class="fa fa-key"></i>
52  </span>
53  </div>
54  <input type="password" class="form-control" name="password2" placeholder="Повторите пароль">
55  </div>
56  </div>
57  <div class="form-group">
58  <button type="submit" class="btn btn-primary btn-block">Регистрация</button>
59  </div>
60  <div class="text-right small">
61  <a data-dismiss="modal" data-toggle="modal" data-target="#sign-forgot" href="#">Забыли пароль?</a>
62  </div>
63  <?php if (Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_SECRET || Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_SECRET) : ?>
64  <p class="text-center">Или войдите при помощи:</p>
65  <div class="btn-group w-100">
66  <?php if (Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_SECRET) : ?>
67  <a data-action="oauth-google" data-response="script" href="#" class="btn btn-outline-info w-50"><i class="fa fa-google"></i>&nbsp; Google</a>
68  <?php endif; ?>
69  <?php if (Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_SECRET) : ?>
70  <a data-action="oauth-yandex" data-response="script" href="#" class="btn btn-outline-info w-50"><i class="fa-brands fa-yandex"></i>&nbsp; Yandex</a>
71  <?php endif; ?>
72  </div>
73  <?php endif; ?>
74  </form>
75  <p class="text-center text-muted small mt-3">Уже зарегистрированы? <a data-dismiss="modal" data-toggle="modal" data-target="#sign-in" href="#">Войдите!</a></p>
76  </div>
77  </div>
78  </div>
79  <script>
80  $("#<?= $basename ?> form").submit(function(e) {
81  lockSubmit($("#<?= $basename ?> form [type=submit]"));
82  $("#<?= $basename ?> .is-invalid").removeClass("is-invalid");
83  $("#<?= $basename ?> .invalid-feedback").remove();
84  e.preventDefault();
85  $.ajax({
86  type: "POST",
87  url: $(this).attr("action"),
88  data: $(this).serialize(),
89  dataType: "json",
90  statusCode: {
91  404: errorToast,
92  403: errorToast
93  }
94  })
95  .done(response => {
96  if (response.error == 'email') {
97  $("#<?= $basename ?> [name='email']").addClass("is-invalid");
98  $("#<?= $basename ?> [name='email']").parent().after('<div class="invalid-feedback">Email указан некорректно</div>');
99  $("#<?= $basename ?> [name='email']").parent().next(".invalid-feedback").fadeIn();
100  } else if (response.error == 'password') {
101  $("#<?= $basename ?> [name='password']").addClass("is-invalid");
102  $("#<?= $basename ?> [name='password']").parent().after('<div class="invalid-feedback">В пароле должно быть минимум 5 символов</div>');
103  $("#<?= $basename ?> [name='password']").parent().next(".invalid-feedback").fadeIn();
104  } else if (response.error == 'password2') {
105  $("#<?= $basename ?> [name='password']").addClass("is-invalid");
106  $("#<?= $basename ?> [name='password2']").addClass("is-invalid");
107  $("#<?= $basename ?> [name='password2']").parent().after('<div class="invalid-feedback">Пароли не совпадают</div>');
108  $("#<?= $basename ?> [name='password2']").parent().next(".invalid-feedback").fadeIn();
109  } else if (response.error == 'hcaptcha') {
110  _modal("#hcaptcha");
111  } else if (response.error == 'auth') {
112  $("#<?= $basename ?> [name='password2']").parent().after('<div class="invalid-feedback">Пользователь с этим email уже существует</div>');
113  $("#<?= $basename ?> [name='password2']").parent().next(".invalid-feedback").fadeIn();
114  } else if (response.result == 'ok') {
115  $.getScript('/api/action/stackjs');
116  $('body').hide();
117  scrollTo(0, 0);
118  } else {
119  errorToast();
120  }
121  })
122  .always(() => {
123  unlockSubmit($("#<?= $basename ?> form [type=submit]"));
124  });
125  });
126 
127  $("#<?= $basename ?> form input").focus(function() {
128  $("#<?= $basename ?> .is-invalid").removeClass("is-invalid");
129  $("#<?= $basename ?> .invalid-feedback").remove();
130  });
131 
132  window.verifyCallback = function(token) {
133  $("#<?= $basename ?> input[name=h-captcha-response]").val(token);
134  $("#hcaptcha").modal("hide");
135  $("#<?= $basename ?> form").submit();
136  $("#<?= $basename ?> input[name=h-captcha-response]").val("");
137  }
138 
139  typeof ym === 'function' && ym(92932927, 'reachGoal', 'sign-up');
140  </script>
141 </div>
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-up.php:69
$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->id) демо версия data toggle
Definition: comments.php:17
href
Definition: main.php:21