Файл: install/inc/step_4.php
Строк: 108
<?php
$set['title'] = 'Регистрация Администратора';
include_once 'inc/head.php';
if (!isset($_SESSION['shif'])) {
    $_SESSION['shif'] = $passgen;
}
$set['shif'] = $_SESSION['shif'];
$db = mysql_connect($_SESSION['host'], $_SESSION['user'], $_SESSION['pass']);
mysql_select_db($_SESSION['db'], $db);
mysql_query('set charset utf8');
mysql_query('SET names utf8');
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_connection="utf8"');
mysql_query('set character_set_result="utf8"');
if (isset($_SESSION['adm_reg_ok']) && $_SESSION['adm_reg_ok'] == true) {
    if (isset($_GET['step']) && $_GET['step'] == '5') {
        $tmp_set['title'] = strtoupper($_SERVER['HTTP_HOST']) . ' - Главная';
        $tmp_set['mysql_host'] = $_SESSION['host'];
        $tmp_set['mysql_user'] = $_SESSION['user'];
        $tmp_set['mysql_pass'] = $_SESSION['pass'];
        $tmp_set['mysql_db_name'] = $_SESSION['db'];
        $tmp_set['shif'] = $_SESSION['shif'];
        if (save_settings($tmp_set)) {
            unset($_SESSION['install_step'], $_SESSION['host'], $_SESSION['user'], $_SESSION['pass'], $_SESSION['db'], $_SESSION['adm_reg_ok'], $_SESSION['mysql_ok']);
            if ($_SERVER["SERVER_ADDR"] != '127.0.0.1') {
                delete_dir(H . 'install/');
            }
            header("Location: /index.php?" . SID);
            exit;
        } else {
            $msg['Невозможно сохранить настройки системы'];
        }
    }
} elseif (isset($_POST['reg'])) {
    if (!isset($_POST['nick']) || $_POST['nick'] == null) {
        $err[] = 'Введите логин';
    } elseif (!preg_match('#^([A-zА-я0-9-_ ])+$#ui', $_POST['nick'])) {
        $err[] = 'В логине присутствуют запрещенные символы';
    } else {
        if (text::utf8_strlen($_POST['nick']) < 3) {
            $err[] = 'Логин короче 3-х символов';
        } elseif (text::utf8_strlen($_POST['nick']) > 16) {
            $err[] = 'Логин длиннее 16-ти символов';
        } elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '" . mysql_real_escape_string($_POST['nick']) . "' LIMIT 1"), 0) != 0) {
            $err[] = 'Выбранный логин уже занят другим пользователем';
        } else {
            $nick = $_POST['nick'];
        }
    }
    if (!isset($_POST['password']) || $_POST['password'] == null) {
        $err[] = 'Введите пароль';
    } else {
        if (text::utf8_strlen($_POST['password']) < 6) {
            $err[] = 'Пароль короче 6-ти символов';
        } elseif (text::utf8_strlen($_POST['password']) > 16) {
            $err[] = 'Пароль длиннее 16-ти символов';
        } elseif (!isset($_POST['password_retry'])) {
            $err[] = 'Введите подтверждение пароля';
        } elseif ($_POST['password'] !== $_POST['password_retry']) {
            $err[] = 'Пароли не совпадают';
        } else {
            $password = $_POST['password'];
        }
    }
    if (!isset($_POST['sex']) || !is_numeric($_POST['sex']) || ($_POST['sex'] !== '0' && $_POST['sex'] !== '1')) {
        $err[] = 'Ошибка при выборе пола';
    } else {
        $sex = intval($_POST['sex']);
    }
    if (!isset($err)) { // если нет ошибок
        mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_aut`, `date_last`, `sex`, `level`, `group_access`, `money`) VALUES('$nick', '" . crypt::hash($_POST['password']) . "', $time, $time, $time, '$sex', '4', '15', '500')");
        $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '$nick' AND `pass` = '" . crypt::hash($_POST['password']) . "' LIMIT 1"));
        $q = mysql_query("SELECT `type` FROM `all_accesses`");
        while ($ac = mysql_fetch_assoc($q)) {
            mysql_query("INSERT INTO `user_acсess` (`id_user`, `type`) VALUES ('$user[id]','$ac[type]')");
        }
        $_SESSION['id_user'] = $user['id'];
        $_SESSION['adm_reg_ok'] = true;
    }
}
if (isset($_SESSION['adm_reg_ok']) && $_SESSION['adm_reg_ok'] == true) {
    echo "<div class='msg'>Регистрация администратора прошла успешно</div>n";
    if (isset($msg)) {
        foreach ($msg as $key => $value) {
            echo "<div class='msg'>$value</div>n";
        }
    }
    echo "<form method="get" class = 'razd' action="index.php">n";
    echo "<input name='gen' value='$passgen' type='hidden' />n";
    echo "<input name="step" value="" . ($_SESSION['install_step'] + 1) . "" type="hidden" />n";
    echo "<button class = 'clik'>Завершить</button>";
    echo "</form><div class = 'razd'>";
    echo "* после установки обязательно удалите папку /install/</div>";
} else {
    if (isset($err)) {
        foreach ($err as $key => $value) {
            echo "<div class='err'>$value</div>n";
        }
    }
    echo "<form action='index.php?$passgen' class = 'razd' method='post'>n";
    echo "Логин (3-16 символов):<br />n<input type='text' aria-required = 'true' aria-invalid = 'false' required = 'required' name='nick'" . ((isset($nick)) ? " value='" . $nick . "'" : " value='ADMIN'") . " maxlength='16' /><br />n";
    echo "Пароль (6-16 символов):<br />n<input type='password'" . ((isset($password)) ? " value='" . $password . "'" : null) . " name='password' aria-required = 'true' aria-invalid = 'false' required = 'required' maxlength='16' /><br />n";
    echo "* использование простого пароля облегчает жизнь хакерам<br />n";
    echo "Подтверждение пароля:<br />n<input type='password'" . ((isset($password)) ? " value='" . $password . "'" : null) . " name='password_retry' aria-required = 'true' aria-invalid = 'false' required = 'required' maxlength='16' /><br />n";
    echo "Ваш пол:<br />n";
    echo "<select name='sex'>n";
    echo "<option value='1'" . ((isset($sex) && $sex === 1) ? " selected='selected'" : null) . ">Мужской</option>n";
    echo "<option value='0'" . ((isset($sex) && $sex === 0) ? " selected='selected'" : null) . ">Женский</option>n";
    echo "</select><br />n";
    echo "* Все поля обязательны к заполнению<br />n";
    echo "<button class = 'clik' name='reg'>Регистрация</button>";
    echo "</form>";
}
require_once 'inc/foot.php'; // нижняя часть темы оформления