<?php

define('_CONSTANT_', 1);

require_once '../../core/start.php';

checkIn();

head('Регистрация', 'Регистрация'); 
?>
<div class="headerImg">
    <img src="<?=HOME?>/img/shadow.png" alt="[header-img]" height="70px">
</div>
<?php

if ($settings['registration'] == 0) 
{
    error('Регистрация временно закрыта администратором сайта.', '/');
}
else 
{
    $gift     = 0;             # Enable or disable registration gift;
    $giftGold = 500;           # Money gift;
    $giftVip  = time() + 3600; # Vip gift;

    # Referrer;
    if (isset($_GET['ref'])) 
    {
        $ref = $Filter->clearInt($_GET['ref']);
        $ank = DB::$dbs->queryFetch("SELECT `id` FROM ". USERS ." WHERE `id` = ?", [$ref]);

        if (empty($ank)) 
        {
            $ref = 0;
        } 
        else 
        {
            $ref = $ank['id'];
        }
    }

    # Registration;
    if (isset($_POST['try'])) 
    {
        $data          = $_POST;
        $data['login'] = $Filter->clearString($data['login']);
        $data['sex']   = $Filter->clearString($data['sex']);

        # Error;
        if (empty($data['login'])) 
        {
            errorNoExit('Введите логин.');
        } 
        else if (empty($data['password'])) 
        {
            errorNoExit('Введите пароль.');
        } 
        else if ($data['password'] != $data['rePassword']) 
        {
            errorNoExit('Пароли не совпали.');
        } 
        else if (strlen($data['login']) > 15 || strlen($data['login']) < 4) 
        {
            errorNoExit('Длина логина должна быть в диапазоне [4-15].');
        } 
        else if (strlen($data['password']) > 20 || strlen($data['password']) < 6) 
        {
            errorNoExit('Длина пароля должна быть в диапазоне [6-20].');
        } 
        else if (empty($data['secretWord']) || strlen($data['secretWord']) > 20 || strlen($data['secretWord']) < 4) 
        {
            errorNoExit('Длина секретного слова должна быть в диапазоне [4-20].');
        } 
        else if ($data['sex'] != 'male' && $data['sex'] != 'female') 
        {
            errorNoExit('Обнаружена подмена данных или выбрано не верное значение пола персонажа.');
        } 
        else if (empty($data['rules'])) 
        {
            errorNoExit('Продолжение регистрации не возможно, так как вы не согласились с правилами игры.');
        } 
        else if (DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ". USERS ." WHERE `login` = ?", [$data['login']]) == true) 
        {
            errorNoExit('Персонаж с таким ником уже зарегистрирован в игре');
        }
        else 
        {
            DB::$dbs->query("INSERT INTO ".USERS." (`login`, `sex`, `password`, `money`, `secret_word`, `registration`, `strike`, `health`, `max_health`, `defend`, `max_inv`, `side`, `class`, `ref`, `design`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", [$data['login'], $data['sex'], crypt($data['password'], '$1$game$'), 0, crypt($data['secretWord'], '$1$sec$'), '1', 14, 110, 110, 13, 20, $data['side'], $data['class'], $ref, 'touch-blue']);
            $lastId = DB::$dbs->lastInsertId();
            $_SESSION['id'] = $lastId;
            $journal = 'После того как вы подошли к Алероту, старец куда-то исчез. Наверное у него свои дела есть. Для начала вы можете осмотрется в игре. Для вас доступны форум и чат, соответственно если вы не понимаете что дальше делать можете спросить. На арену пока наверное лучше не идти, так как вы еще очень слабы. Лучше всего пойти по пути Истории, или же можно сражаться на окресностях Алерота. Больше информации вы можете получить на форуме в игре.';
            $User->addUserJournal($journal, $lastId);

            # Gift; 
            if ($gift == 1) 
            {
                $ank = DB::$dbs->queryFetch("SELECT * FROM ". USERS ." WHERE `id` = ?", [$lastId]);

                DB::$dbs->query("UPDATE ". USERS ." SET `money` = ?, `vip` = ? WHERE `id` = ?", [($ank['money'] + $giftGold), ($ank['vip'] + $giftVip), $ank['id']]);
                $journal = 'Вам начислен бонус за регистрацию в игре, в размере '. $giftGold .' золота и VIP на час.';
                $User->addUserJournal($journal, $ank['id']);
            }

            setcookie("login", $data['login'], time()+9999999);
            setcookie("password", $data['password'], time()+9999999);
            success('Вы успешно зарегистрированы.', '/game/');
        }
    } 
    ?> 

    <form action="" method="POST"> 
        <div class="wrap">
            Логин[4-15]:<br/>
            <input class="dark" type="text" name="login" maxlength="15" placeholder="Введите логин" value="<?=(!empty($data['login']) ? $data['login'] : null)?>"><br/> 
        </div>
        <div class="wrap">
            Пол:<br/>
            <select name="sex">
                <option value="male">Мужской</option>
                <option value="female">Женский</option>
            </select><br/>
        </div>
        <div class="wrap">
            Сторона:<br/>
            <select name="side">
                <option value="dark">Тьма</option>
                <option value="white">Свет</option>
            </select><br/>
        </div>
        <div class="wrap">
            Класс:<br/>
            <select name="class"> 
                <option value="warior">Воин</option>
            </select><br/>
        </div>
        <div class="wrap">
            Пароль[6-20]:<br/> 
            <input class="dark" type="password" name="password" maxlength="20" placeholder="Введите пароль"><br/>
        </div>
        <div class="wrap">
            Повтор пароля:<br/> 
            <input class="dark" type="password" name="rePassword" maxlength="20" placeholder="Повторите пароль"><br/>
        </div>
        <div class="wrap">
            *Секретное слово[4-20]:<br/>
            <input class="dark" type="text" name="secretWord" placeholder="Введите текст..."><br/>
        </div>
        <div class="wrap">
            <input type="radio" name="rules" value="1"> Я согласен с <a href="<?=HOME?>/modules/agreement/index.php"><u>правилами</u></a> игры!<br/>
        </div>
        <div class="wrap">
            <input type="submit" name="try" value="Зарегистрироваться">
        </div>
    </form> 
    <div class="wrap">
        <?=ico('info.png')?>* - Нужно для восстановления пароля. Сменить будет не возможно!<br/>
        <?=ico('info.png')?> Регистрируясь вы подтверждаете свое согласие с <a href="#"><u>пользовательським соглашением!</u></a><br/>
    </div>
<?php
}

require_once '../../core/foot.php';