<?php
include_once '../core/core.php';
$t = "Регистрация";
if ($user->auth()){
	include_once '../core/head.php';
	echo '<div class="error">Вы уже авторизованы.</div>'.l("/cp.lm","Перейти в панель управления","key");
	include_once '../core/foot.php';
	die();
}
if (isset($_POST["reg"])){
	if (!isset($_POST["domain"]) || empty($_POST["domain"])){
		$core->regError("Не введен адерес сайта","Не введен адерес сайта",1,"Auth");
	} elseif (!isset($_POST["sdomain"]) || !isset($_domains[intval($_POST["sdomain"])])){
		$core->regError("Поддомен недоступен для регистрации","Поддомен недоступен для регистрации",2,"Auth");
	} elseif (!isset($_POST["password"]) || empty($_POST["password"])){
		$core->regError("Не введен пароль","Не введен пароль",2,"Auth");
	} 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['domain'])) < 4) {
		$core->regError("Слишком короткий адрес сайта","Слишком короткий логин",7,"Auth");
	} elseif (strlen(trim($_POST['domain'])) > 12) {
		$core->regError("Слишком длинный адрес сайта","Слишком длинный логин",8,"Auth");
	} elseif (!preg_match("#^([A-z0-9\_-])+$#ui", $_POST['domain'])) {
		$core->regError("Только латиница, цифры и вверхнее и нижние подчеркивание","Только латиница, цифры и вверхнее и нижние подчеркивание",9,"Auth");
	} elseif (strlen($_POST['password']) < 6) {
		$core->regError("Слишком короткий пароль","Слишком короткий пароль",7,"Auth");
	} elseif (!$core->wwwValid($_POST["domain"])){
		$core->regError("Попытка регистрации запрещенного домена","Данный домен недоступен для регистрации. Выберите другой",2,"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("sites","WHERE `domain` = '".$core->FilterString($_POST["domain"]).$_domains[intval($_POST["sdomain"])]."' LIMIT 1") != 0){
		$core->regError("Данный адрес сайта уже занят. Рекомендуем вам восстановить пароль если вы забыли данные от входа.","Данный логин уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.",12,"Auth");
	} elseif ($db->Count("sites","WHERE `email` = '".$core->FilterString($_POST["email"])."' LIMIT 1") != 0){
		$core->regError("Данная электронная почта уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.","Данная электронная почта уже используется в системе. Рекомендуем вам восстановить пароль если вы забыли данные от входа.",12,"Auth");
	} else {
		$domain_full = strtolower($core->FilterString($_POST["domain"]).$_domains[intval($_POST["sdomain"])]);
		// Регистрация нового сайта на сервере
		// Распоковка шаблона (<10kb)
		$_tmp = SERVER_ROOT."default/sites/default.zip";
		$_pth = SERVER_ROOT."sites/".$domain_full."/";
		$_zip = new ZipArchive();
		$_res = $_zip->open($_tmp);
		if ($_res === TRUE){
			$_zip->extractTo($_pth);
			$_zip->close();
			$db->Query("INSERT INTO `sites`(`domain`, `password`, `email`, `name`, `title`,`timeadd`,`ipreg`) VALUES ('".$domain_full."','".$core->StringHash($core->FilterString($_POST["password"]))."','".$core->FilterString($_POST["email"])."','".$domain_full."','".$domain_full."','".time()."','".$core->getIP(1)."');");
			$_id = $db->getLastID();
			$db->Query("INSERT INTO `news`(`sid`, `uid`, `ntitle`, `ntext`, `ntime`) VALUES ('$_id','-1','Сайт ".$domain_full." успешно создан.','Сайт ".$domain_full." был успешно создан и уже работает в сети интернет. Вы можете управлять своим сайтом через панель управления.','".time()."')");
			setcookie('gLPD', $domain_full, time()+60*60*24,'/');
			setcookie('gLPP', $core->StringHash($core->FilterString($_POST["password"])), time()+60*60*24,'/');
			include_once '../core/head.php';
			echo '<div class="success">Вы успешно прошли регистрацию!</div>'.l("/cp.lm","Перейти в панель управления","key");
			include_once '../core/foot.php';
			die();
		} else {
			$core->regError("Ошибка! Распоковки серверного приложения.","У панели управления недостаточно доступа к файловой системе сервера. Обратитесь к администратору для решения проблемы!",13,"Server");
		}
		
	}
	if ($core->isBooleanError()){
		include_once '../core/head.php';
		foreach ($core->showError() as $csE){
			echo '<div class="error">Произошла ошибка при обработке операции<br><b>КОД: '.$csE["code"].'</b><br>Подробнее: '.$csE["utxt"].'</div>';
		}
	}
}
include_once '../core/head.php';
echo '<div class="title">Регистрация</div>';
echo '<div class="form"><form class="auth_form" method="POST">
Сайт:<br>
<input type="text" name="domain" placeholder="Только латиница, цифры, _ -" value="'.$core->FilterString((isset($_POST["domain"])?$_POST["domain"]:null)).'"><br><select name="sdomain">';
foreach ($_domains as $dk => $dv){
	echo '<option value="'.$dk.'" '.(isset($_POST["sdomain"]) && intval($_POST["sdomain"]) == $dk?'selected':null).'>'.$dv.'</option>';
}
echo '</select><br>Пароль:<br>
<input type="password" name="password" value=""><br>
Повторите пароль:<br>
<input type="password" name="password2" value=""><br>
Эл.почта:<br>
<input type="email" name="email" value="'.$core->FilterString((isset($_POST["email"])?$_POST["email"]:null)).'"><br>
<div class="text_warning">Рекомендуется использовать почту <b style="color: #cb4747;">Yandex,Mail.Ru,Google,VK</b>.<br>В противном случае, почта может не дойти до вашего ящика.</div>
Код с картинки:<br>
<img src="/captcha.lm" alt="Код с картинки"><br><input type="text" name="code" value="" placeholder=""><br>
<div class="text_warning">При регистрации, вы соглашаетесь с <a class="text" href="/help.lm?id=1&act=view">данным соглашением</div>
<input type="submit" name="reg" value="Зарегистироваться">
</form></div>';
echo l("/login.lm","Перейти в панель управления","key").h();
include_once '../core/foot.php';
?>