<?php
$t = "Регистрация";
#var_dump([intval($VarIO->DefS("user_registration", 1)), intval($VarIO->DefS("user_registration", 1)) == 0]);
if ($VarIO->DefS("user_registration", 1) == 0){
	twig("/reg.lm", ["block"	=>	"reg_disabled"]);
}
if ($user->auth()){
	twig("/reg.lm", ["block"	=>	"user_is_loggined"]);
}
if (isset($_POST["reg"])){
	if (!isset($_POST["username"]) || empty($_POST["username"])){
		$core->regError("Не введен логин","Не введен логин",1,"Auth");
	} elseif (!isset($_POST["password"]) || empty($_POST["password"])){
		$core->regError("Не введен пароль","Не введен пароль",2,"Auth");
		// last 3 error
	} elseif (!isset($_POST["password2"]) || empty($_POST["password2"])){
		$core->regError("Повторите пароль","Повторите пароль",4,"Auth");
	} elseif (!isset($_POST["email"]) || empty($_POST["email"])){
		$core->regError("Не введена электронная почта","Не введена электронная почта",5,"Auth");
	} elseif (!isset($_POST["code"]) || empty($_POST["code"])){
		$core->regError("Не введен код с картинки","Не введен код с картинки",6,"Auth");
	} elseif (strlen(trim($_POST['username'])) < 4) {
		$core->regError("Слишком короткий логин","Слишком короткий логин",7,"Auth");
	} elseif (strlen(trim($_POST['username'])) > 32) {
		$core->regError("Слишком длинный логин","Слишком длинный логин",8,"Auth");
	} elseif (!preg_match("#^([A-z0-9\_-])+$#ui", $_POST['username'])) {
		$core->regError("Только латиница, цифры и вверхнее и нижние подчеркивание","Только латиница, цифры и вверхнее и нижние подчеркивание",9,"Auth");
	} elseif (strlen($_POST['password']) < 6) {
		$core->regError("Слишком короткий пароль","Слишком короткий пароль",7,"Auth");
	} elseif ($core->StringHash($core->FilterString($_POST["password"])) != $core->StringHash($core->FilterString($_POST["password2"]))){
		$core->regError("Пароли не совпадают","Пароли не совпадают",10,"Auth");
	} elseif (!filter_var($core->FilterString($_POST['email']), FILTER_VALIDATE_EMAIL)) {
		$core->regError("Адрес электронной почты указан неправильно","Адрес электронной почты указан неправильно",11,"Auth");
	} elseif ($_POST["code"] != $_SESSION['captcha']){
		$core->regError("Неправильно введен код с картинки","Неправильно введен код с картинки",12,"Auth");
	} elseif ($db->Count("users","WHERE `login` = '".$core->FilterString($_POST["username"])."' AND `sid` = '".$site->id."' LIMIT 1") != 0){
		$core->regError("Данный логин уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.","Данный логин уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.",12,"Auth");
	} elseif ($db->Count("users","WHERE `email` = '".$core->FilterString($_POST["email"])."' AND `sid` = '".$site->id."' LIMIT 1") != 0){
		$core->regError("Данная электронная почта уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.","Данная электронная почта уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.",12,"Auth");
	} else {
		$db->Query("INSERT INTO `users`(`sid`, `login`, `password`, `email`, `lastVisit`, `regTime`,`ipreg`) VALUES ('".$site->id."','".$core->FilterString($_POST["username"])."','".$core->StringHash($core->FilterString($_POST["password"]))."','".$core->FilterString($_POST['email'])."','".(time())."','".(time())."','".$core->getIP(1)."')");
		setcookie('gLL', $core->FilterString($_POST["username"]), time()+60*60*24*7,'/',$real_name);
        setcookie('gLP', $core->StringHash($core->FilterString($_POST["password"])), time()+60*60*24*7,'/',$real_name);
		twig("/reg.lm", ["block"	=>	"reg_is_successful"]);
	}
}
twig("/reg.lm", ["block"	=>	"base"]);
?>
