Файл: pages/user/signin.php
Строк: 58
<?
$PageConfig = [
'title' => 'Регистрация',
];
PageConfig($PageConfig);
if (isset($_POST['login'], $_POST['password_1'], $_POST['password_2']) AND $_POST['login'] != null) {
$login = trim($_POST['login']);
$email = trim($_POST['email']);
$password_1 = trim($_POST['password_1']);
$password_2 = trim($_POST['password_2']);
$_SESSION['login'] = $login;
$_SESSION['email'] = $email;
if (FileSystem::TextStrlen($login) > 16) {
$err[] = ('Логин слишком длинный');
}
if (FileSystem::TextStrlen($login) < 3) {
$err[] = ('Логин слишком короткий');
}
if (FileSystem::TextStrlen($email) > 32) {
$err[] = ('Email слишком длинный');
}
if (FileSystem::TextStrlen($email) < 6) {
$err[] = ('Email слишком короткий');
}
if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:.?[a-z0-9]+)?.[a-z]{2,5})$/i", $email)) {
$err[] = ('Ошибка в поле email');
}
if(!preg_match("/^p{L}[p{L}d-_ ]+$/ui", $login)) {
$err[] = ('В нике присутствуют запрещенные символы');
}
if (preg_match("#[a-z]+#ui", $login) && preg_match("#[а-я]+#ui", $login)) {
$err[] = ('Разрешается использовать символы только русского или только английского алфавита');
}
$checklogin = $sql->rowCount("SELECT * FROM `users` where `login` = ? ", [$login]);
if ($checklogin == 1) {
$err[] = ('Логин уже занят');
}
$checkemail = $sql->rowCount("SELECT * FROM `users` where `email` = ? ", [$email]);
if ($checkemail == 1) {
$err[] = ('Email уже занят');
}
if (stripos(file_get_contents(H.'core/config/badnick.txt'), $login) !== false) {
$err[] = ('Логин запрещён к регистрации');
}
if ($password_1 != $password_2) {
$err[] = 'Пароли не совпадают';
}
if (stripos(file_get_contents(H.'core/config/if_password.txt'), $password_1) !== false || $password_1 == $login || is_numeric($password_1)) {
$err[] = 'Пароль слишком простой';
}
if (FileSystem::TextStrlen($password_1) < 6) {
$err[] = ('Пароль слишком короткий');
}
$link = translit($login,1,1);
$avatar = '_default_'.mt_rand(1,2).'.jpg';
$token = md5(time() . mt_rand(1,99999));
if (!isset($err)) {
$sql->query("INSERT INTO `users` (`avatar`,`date_create`, `link`, `login`, `token`, `email`, `password`) VALUES (?, ?, ?, ?, ?, ?, ?);",
[
$avatar, time(), $link, $login, $token, $email, shif($password_1)
]
);
$niwid = $sql->id();
$sql->query("INSERT INTO `users_password` (`id_user`, `pass`, `date_create`) values ('{$niwid}', ? , '{$system['time']}')", [shif($password_1)]);
$_SESSION['user_id'] = $niwid;
cookie('user_id', $niwid, $set['user_cookie']);
cookie('user_pass', shif($password_1), $set['user_cookie']);
unset($_SESSION['email'],$_SESSION['login']);
Redirection((isset($_SESSION['url']) ? $_SESSION['url'] : '/user/'));
}
}
if (isset($err)) {
err($err);
}
echo $t->fetch('user.signin');