Файл: other/reg.php
Строк: 109
<?php 
// by Mike O. (mides), coolcms.org
$title = 'Регистрация';
require_once '../includes/sys.php';
require_once '../includes/header.php';
if (isset($u['id'])) {
    redirect(HTTPHOME);
}
if (empty($config['regoff'])) {
    switch ($act) {
        default:
            tp('Регистрация');
            echo '<div class="body">';
            if ($config['email_ver']) {
                echo '<b>Включено подтверждение по E-mail!</b><br />';
            }
            if ($config['activation']) {
                echo '<b>Включена активация администратором!</b><br />';
            }
            echo '<form name="form" action="?act=do" method="post">
            Логин(min3, max12, a-z, 0-9):<br /><input name="username" type="text" maxlength="12" size="12" /><br />
            Пароль(min3, max20, a-z, 0-9):<br /><input name="password" type="text" maxlength="20" /><br />
            E-mail(max50):<br /><input name="email" type="text" maxlength="50" /><br />
            Страна (За каторую будете играть):</br>';
            echo 'США <input name="strana" type="radio" value="1" checked /></br>';
               echo 'БРИТАНИЯ <input name="strana" type="radio" value="2" checked /></br>';
               echo 'СССР <input name="strana" type="radio" value="3" checked /></br>';
            echo 'ЯПОНИЯ <input name="strana" type="radio" value="4" checked /></br>';
            echo 'ГЕРМАНИЯ <input name="strana" type="radio" value="5" checked /></br>';
            echo '<br />
            Провер. код:<br />
            <img src="../images/code.php" alt="" /><br />
            <input name="code" maxlength="5" /><br />
            Я согласен(а) с <a href="info.php?act=rules">правилами</a><br />
            <input type="submit" value="Регистрация"/>
            </form>
            </div>';
        break;
        case 'do':
            $username = check($_POST['username']);
            $password = check($_POST['password']);
            $email = check($_POST['email']);
            $code = abs(intval($_POST['code']));
            $strana = abs(intval($_POST['strana']));
            # checking if there's a user with such a username
            $query = mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `username` = '$username'"); 
            if (mysql_result($query, 0) > 0) {
                error('Этот логин уже занят.');
                nav('?');
                break;
            }
            # checking if 
            if (!preg_match('|^[a-z0-9-]+$|i', $username)) {
                error('Логин может состоять только из букв английского алфавита и цифр.');
                nav('?');
                break;
            }
            # проверяем длину логина
            if (strlen($username) < 3 or strlen($username) > 12) {
                    error('Логин должен быть не меньше 3-х и не больше 12-и символов.');
                    nav('?');
                    break;
            }
            # проверяем выбрал ли строну на всякий случай Flowap
            if (strlen($strana) == 0) {
                    error('Пидор сука решил взломать уйбак тогда сосни хуйца нечего у тебя неполучиться лох сука');
                    nav('?');
                    break;
            }
            # проверка пароля
            if (!preg_match('|^[a-z0-9-]+$|i', $password)) {
                    error('Пароль может состоять только из букв английского алфавита и цифр.');
                    nav('?');
                    break;
            }
            # проверяем длину пароля
            if (strlen($password) < 3 or strlen($password) > 20) {
                    error('Пароль должен быть не меньше 3-х и не больше 20-и символов.');
                    nav('?');
                    break;
            }
            # проверяем e-mail;
            if (!preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $email)) {
                    error('E-mail введён не верно.');
                    nav('?');
                    break;
            }
            # проверяем, правильно ли введен защитный код
            if ($_SESSION['code'] != $code or empty($code)) {
                error('Вы ввели неверный проверочный код.');
                nav('?');
                break;
            }
            
            $ok = !empty($config['activation']) ? 0 : 1;
            $email_ver = !empty($config['email_ver']) ? generate(10) : 1;
                    
            mysql_query("INSERT INTO `users` SET `username` = '$username', `strana` = '$strana', `password` = '".md5(md5($password))."', `email` = '$email', `regtime` = '".TIME."', `style` = '$config[style]', `language` = '$config[language]', `onpage` = '$config[onpage]', `email_ver` = '$email_ver', `ok` = '$ok'") or die(mysql_error());
            $userid = mysql_insert_id();
            tp($lang['info']);
            echo '<div class="body">Вы успешно зарегистрированы.<br />
            Логин: '.$username.'<br />
            Пароль: '.$password.'<br />
            Автологин:<br /><input name="auto" type="text" value="'.HTTPHOME.'/a.php?l='.$username.'&p='.$password.'" /><br />
            <a href="../a.php?l='.$username.'&p='.$password.'">Ввойти по автологину</a>';
            if ($email_ver != 1) {
                $email_ver_text = '---
                Вам необходимо перейти по ссылке ниже для подтверждения вашего E-mail.
                '.HTTPHOME.'/other/profile.php?act=email_ver&id='.$userid.'&ver='.$email_ver;
                echo '<hr /><b>Включено подтверждение по E-mail.</b><br /> На вашу почту отправлено письмо со ссылкой, по которой необходимо перейти чтобы подтвердить ваш E-mail.';
            }
            if (empty($ok)) {
                echo '<hr /><b>Включена активация аккаунтов.</b><br /> Дождитесь проверки вашего аккаунта администратором.';
            }
            
            echo '</div>';
            // sending e-mail
            $email_a = 'admin@&'.HOME;
            $message = 'Уважаемый пользователь!
            Вы зарегистрировались на '.HOME.', данные для доступа:
            Логин: '.$username.'
            Пароль: '.$password.'
            E-mail: '.$email.'
            Автологин: '.HTTPHOME.'/a.php?l='.$username.'&p='.$password.'
            '.$email_ver_text.'
            
            С уважением, '.HOME;
            mail($email, '=?utf-8?B?'.base64_encode('Регистрация на '.HOME).'?=', $message, "From: $email_arnContent-type: text/plain; charset=utf-8;rnX-Mailer: PHP;");
            unset($_SESSION['code']);
        break;
    }
} else {
    error($lang['regoff']);
}
require_once '../includes/tail.php';
?>