Файл: 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'; // нижняя часть темы оформления