<?php
define('GAME', true);
include_once('_incl_data/__config.php');
include_once('_incl_data/class/__db_connect.php');

if (isset($_GET['login'])) {
    //
    $_GET['login'] = htmlspecialchars($_GET['login']);
    //
    $bad = [
        'Мусорщик' => 1,
        'Мироздатель' => 1,
    ];
    //
    function en_ru($txt)
    {
        $g = false;
        $en = preg_match("/^(([0-9a-zA-Z _-])+)$/i", $txt);
        $ru = preg_match("/^(([0-9а-яА-Я _-])+)$/i", $txt);
        if (($ru && $en) || (!$ru && !$en)) {
            $g = true;
        }
        return $g;
    }

    //
    function testBad($txt)
    {
        $white = '-_ 0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю';
        $r = false;
        $i = 0;
        while ($i != -1) {
            if (isset($txt[$i])) {
                $g = false;
                $j = 0;
                while ($j != -1) {
                    if (isset($white[$j])) {
                        if ($white[$j] == $txt[$i]) {
                            $g = true;
                        }
                    } else {
                        $j = -2;
                    }
                    $j++;
                }
                if ($g == false) {
                    $r = true;
                }
            } else {
                $i = -2;
            }
            $i++;
        }
        return $r;
    }

    //
    $login = mysql_fetch_array(mysql_query('SELECT `id` FROM `users` WHERE `login` = "' . mysql_real_escape_string($_GET['login']) . '" LIMIT 1'));
    if (isset($login['id']) || isset($bad[$_GET['login']])) {
        echo '<b style="color:red">Логин занят.</b>';
    } else {
        $true = true;
        //
        /*
        Логин может содержать от 2 до 16 символов, и состоять только из букв русского ИЛИ английского алфавита, цифр, символов '_', '-' и пробела.
        Логин не может начинаться или заканчиваться символами '_', '-' или пробелом.
        */
        //
        $_GET['login'] = str_replace('	', ' ', $_GET['login']);
        $_GET['login'] = str_replace('%', ' ', $_GET['login']);
        $_GET['login'] = str_replace('&nbsp;', ' ', $_GET['login']);
        //
        if (strlen($_GET['login']) > 16) {
            $true = false;
        } elseif (strlen($_GET['login']) < 2) {
            $true = false;
        } elseif (strripos($_GET['login'], '  ') == true) {
            $true = false;
        } elseif (substr($_GET['login'], 1) == ' ' || substr($_GET['login'], -1) == ' ') {
            $true = false;
        } elseif (substr($_GET['login'], 1) == '-' || substr($_GET['login'], -1) == '-') {
            $true = false;
        } elseif (substr($_GET['login'], 1) == '_' || substr($_GET['login'], -1) == '_') {
            $true = false;
        } elseif (testBad($_GET['login']) == true) {
            $true = false;
        } elseif (en_ru(str_replace('ё', 'е', str_replace('Ё', 'Е', $_GET['login']))) == true) {
            $true = false;
        }
        //
        if ($true == false) {
            echo '<b style="color:red">Неверный логин.</b>';
        } else {
            echo '<b style="color:green">Логин свободен!</b>';
        }
    }
}
