<?php
session_start();
require 'libs/db.php';
if(isset($us['id'])){
header('Location: /');
exit;
}
if(isset($_GET['register'])){
$nick = isset($_POST['login']) ? htmlspecialchars(trim($_POST['login'], " ")) : NULL;
$mail = isset($_POST['mail']) ? htmlspecialchars(trim($_POST['mail'], " ")) : NULL;
$pass = isset($_POST['pass']) ? htmlspecialchars(trim($_POST['pass'], " ")) : NULL;
$pass2 = isset($_POST['pass2']) ? htmlspecialchars(trim($_POST['pass2'], " ")) : NULL;
if(R::count('accounts', "nick = ? ", array($nick)) > 0){
$_SESSION['err'] = 'Ник занят!';
header('Location: ?');
exit;
}
if(R::count('accounts', "email = ? ", array($mail)) > 0){
$_SESSION['err'] = 'Почта занята!';
header('Location: ?');
exit;
}
if($nick == NULL OR $mail == NULL OR $pass2 == NULL OR $pass == NULL OR empty($nick) OR empty($pass) OR empty($pass2) OR empty($mail)){
$_SESSION['err'] = 'Ошибка, не введено поле!';
header('Location: ?');
exit;
}
if(mb_strlen($nick) < 2 OR mb_strlen($nick) > 20){
$_SESSION['err'] = 'Ошибка, ник должен быть более 2-х символов но меньше 20!';
header('Location: ?');
exit;
}
if(!preg_match("/[a-zA-ZА-Яа-я]/i", $nick)){
$_SESSION['err'] = 'Используются запрещённые символы!';
header('Location: ?');
exit;
}
if(!preg_match("/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$/i", $mail)){
$_SESSION['err'] = 'Почта не соответствует скелету';
header('Location: ?');
exit;
}
if($pass != $pass2){
$_SESSION['err'] = 'Пароли не совпадают';
header('Location: ?');
exit;
}
if(mb_strlen($pass) < 6 OR mb_strlen($pass) > 20){
$_SESSION['err'] = 'Ошибка, пароль должен быть не менее 6 и не более 20-ти символов';
header('Location: ?');
exit;
}
$accounts = R::dispense('accounts');
$accounts->nick = $nick;
$accounts->pass = password_hash($pass, PASSWORD_DEFAULT);
$accounts->lvl = 0;
$accounts->rub = 0;
$accounts->rang = 0;
$accounts->ip = $_SERVER['REMOTE_ADDR'];
$accounts->ua = $_SERVER['HTTP_USER_AGENT'];
$accounts->regtime = time();
$accounts->email = $mail;
$accounts->email = $mail;
$accounts->online = time();
R::store($accounts);
setcookie('login', $nick, time()+36000);
setcookie('password', password_hash($pass, PASSWORD_DEFAULT), time()+36000);
header('Location: ?');
exit;
}
echo '<head>
<meta charset="utf-8" />
<title>Создание аккаунта</title>
<meta name="description" content="app, web app, responsive, responsive layout, admin, admin panel, admin dashboard, flat, flat ui, ui kit, AngularJS, ui route, charts, widgets, components" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link rel="stylesheet" href="libs/assets/animate.css/animate.css" type="text/css" />
<link rel="stylesheet" href="libs/assets/font-awesome/css/font-awesome.min.css" type="text/css" />
<link rel="stylesheet" href="libs/assets/simple-line-icons/css/simple-line-icons.css" type="text/css" />
<link rel="stylesheet" href="libs/jquery/bootstrap/dist/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="css/font.css" type="text/css" />
<link rel="stylesheet" href="css/app.css" type="text/css" />
</head>';
echo'<body>
<div class="app app-header-fixed ">
<div class="container w-xxl w-auto-xs" ng-controller="SignupFormController" ng-init="app.settings.container = false;">
<div class="navbar-brand block m-t">UltyShop</div>
<div class="m-b-lg">
<div class="wrapper text-center">
<strong>Присоединяйтесь к нам и продавайте свои проекты в короткие сроки</strong>
</div>
<form name="form" class="form-validation" action = "?register" method="POST">
<div class="text-danger wrapper text-center" ng-show="authError">';
if(isset($_SESSION['err'])){
echo '<b><i>'.$_SESSION['err'].'</i></b>';
}
unset($_SESSION['err']);
echo '</div>
<div class="list-group list-group-sm">
<div class="list-group-item">
<input placeholder="Ник" name="login" class="form-control no-border" ng-model="user.name" required>
</div>
<div class="list-group-item">
<input type="email" placeholder="Почта" name="mail" class="form-control no-border" ng-model="user.email" required>
</div>
<div class="list-group-item">
<input type="password" placeholder="Пароль" name="pass" class="form-control no-border" ng-model="user.password" required>
</div>
<div class="list-group-item">
<input type="password" placeholder="Повторите пароль" name="pass2" class="form-control no-border" ng-model="user.password" required>
</div>
</div>
<div class="checkbox m-b-md m-t-none">
<label class="i-checks">
<input type="checkbox" ng-model="agree" required><i></i> Согласен с <a href>правилами и политикой проекта</a></label></div>
<button type="submit" class="btn btn-lg btn-primary btn-block" ng-click="signup()" ng-disabled="form">Регистрация</button>
<div class="line line-dashed"></div>
<p class="text-center"><small>Уже имеется аккаунт?</small></p>
<a ui-sref="access.signin" class="btn btn-lg btn-default btn-block">Авторизация</a></form></div>
<div class="text-center">
<p>
<small class="text-muted">Сони пикчер телевижен)<br>© 2017</small>
</p></div></div></div>';
echo'<script src="libs/jquery/jquery/dist/jquery.js"></script>
<script src="libs/jquery/bootstrap/dist/js/bootstrap.js"></script>
<script src="js/ui-load.js"></script>
<script src="js/ui-jp.config.js"></script>
<script src="js/ui-jp.js"></script>
<script src="js/ui-nav.js"></script>
<script src="js/ui-toggle.js"></script>
<script src="js/ui-client.js"></script>
</body>
</html>';
?>