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 header("Content-type: application/json");
11 
12 if (empty($_POST['email']) || !filter_var(trim($_POST['email']), FILTER_VALIDATE_EMAIL)) {
13  exit(json_encode(['error' => 'email']));
14 }
15 
16 if (empty($_POST['password']) || mb_strlen(trim($_POST['password']), 'utf-8') < 5) {
17  exit(json_encode(['error' => 'password']));
18 }
19 
20 if (empty($_POST['password2']) || $_POST['password'] != $_POST['password2']) {
21  exit(json_encode(['error' => 'password2']));
22 }
23 
24 if (!Wrong\Auth\Hcaptcha::check() && (empty($_POST['h-captcha-response']) || !Wrong\Auth\Hcaptcha::get($_POST['h-captcha-response']))) {
25  exit(json_encode(['error' => 'hcaptcha']));
26 }
27 
29 
30 if ($user = Wrong\Auth\User::match($_POST['email'])) {
31  exit(json_encode(['error' => 'auth']));
32 }
33 
34 if ($id = Wrong\Auth\User::session(Wrong\Models\Users::create($_POST['email'], $_POST['password'], Wrong\Start\Env::$e->GROUPS_USERS, Wrong\Start\Env::$e->OWNER_GROUP_USERS))) {
35  $user = new Wrong\Auth\User($id);
37  if ($user->access()->page('/system')) {
38  Wrong\Task\Stackjs::add('location.href="/system";', 0, 'location');
39  } else {
40  Wrong\Task\Stackjs::add('location.reload();', 0, 'location');
41  }
42  Wrong\Task\Stackjs::add('$(function(){successToast("Приятной работы в системе!");});', 1, 'sign-up');
43  exit(json_encode(['result' => 'ok']));
44 }
$_POST['groups']
Definition: add-action.php:16
User отвечает за работу с данными пользователя
Definition: User.php:21
static confirm($user)
Definition: Send.php:42
static add($code, $timeout=0, $key='')
Definition: Stackjs.php:25
$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