Файл: reg.php
Строк: 271
<?
include_once 'sys/includes/start.php';
include_once 'sys/includes/compress.php';
include_once 'sys/includes/sess.php';
include_once 'sys/includes/home.php';
include_once 'sys/includes/settings.php';
include_once 'sys/includes/db_connect.php';
include_once 'sys/includes/ipua.php';
include_once 'sys/includes/fnc.php';
include_once 'sys/includes/shif.php';
$show_all=true;
include_once 'sys/includes/user.php';
only_unreg();
$set['title']='Регистрация';
include_once 'sys/includes/header.php';
title();
if ($set['guest_select']=='1')
{
msg("Доступ к сайту разрешен только авторизованым пользователям!");
}
if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL) && isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL && !preg_match('#mail.php#',$_SERVER['HTTP_REFERER']))
{
$_SESSION['refer']=str_replace('&','&',preg_replace('#^http://[^/]*/#','/', $_SERVER['HTTP_REFERER']));
}
if ($set['reg_select']=='close')
{
$err='Регистрация временно приостановлена!';
err();
echo "<a href='/aut.php'><div class='foot'>";
echo "<img src='/s-klub/img/left.png'> Авторизация<br />";
echo "</div></a>";
include_once 'sys/includes/footer.php';
exit;
}
else if($set['reg_select']=='open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation']!=NULL)
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['id'])."' AND `activation` = '".my_esc($_GET['activation'])."'"),0)==1)
{
mysql_query("UPDATE `user` SET `activation` = null WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
$user=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"));
mysql_query("INSERT INTO `reg_mail` (`id_user`,`mail`) VALUES ('".$user['id']."','".$user['ank_mail']."')");
msg('Ваш аккаунт успешно активирован!');
$_SESSION['id_user']=$user['id'];
include_once 'sys/includes/footer.php';
exit;
}
}
if (isset($_SESSION['step']) && $_SESSION['step']==1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".$_SESSION['reg_nick']."'"),0)==0 && isset($_POST['pass1']) && $_POST['pass1']!=NULL && $_POST['pass2'] && $_POST['pass2']!=NULL)
{
if ($set['reg_select']=='open_mail')
{
if (!isset($_POST['ank_mail']) || $_POST['ank_mail']==NULL)
{
$err='Неоходимо ввести Email!';
}
else if (!preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui',$_POST['ank_mail']))
{
$err='Неверный формат Email!';
}
else if(mysql_result(mysql_query("SELECT COUNT(*) FROM `reg_mail` WHERE `mail` = '".my_esc($_POST['ank_mail'])."'"),0)!=0)
{
$err="Пользователь с этим E-mail уже зарегистрирован!";
}
}
if (strlen2($_POST['pass1'])<6)
{
$err='По соображениям безопасности пароль не может быть короче 6-ти символов!';
}
if (strlen2($_POST['pass1'])>32)
{
$err='Длина пароля превышает 32 символа!';
}
if ($_POST['pass1']!=$_POST['pass2'])
{
$err='Пароли не совпадают!';
}
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo'])
{
$err='Неверное проверочное число!';
}
if (isset($_POST['ank_name']) && $_POST['ank_name']!=NULL)
{
$ank_name=my_esc($_POST['ank_name']);
if( !preg_match("#^([A-zА-я0-9-_ ])+$#ui", $_POST['ank_name']))
{
$err='В имени присутствуют запрещенные символы!';
}
if (preg_match("#[a-z]+#ui", $_POST['ank_name']) && preg_match("#[а-я]+#ui", $_POST['ank_name']))
{
$err='Разрешается использовать символы только русского или только английского алфавита!';
}
if (strlen2($ank_name)<3)
{
$err='Короткое имя!';
}
if (strlen2($ank_name)>32)
{
$err='Длина имени превышает 32 символа';
}
}
if (isset($_POST['ank_d_r']) && (is_numeric($_POST['ank_d_r']) && $_POST['ank_d_r']>0 && $_POST['ank_d_r']<=31 && $_POST['ank_d_r']!=NULL))
{
$ank_d_r=intval($_POST['ank_d_r']);
}else{
$err='Неверный формат дня рождения!';
}
if (isset($_POST['ank_m_r']) && (is_numeric($_POST['ank_m_r']) && $_POST['ank_m_r']>0 && $_POST['ank_m_r']<=12 && $_POST['ank_m_r']!=NULL))
{
$ank_m_r=intval($_POST['ank_m_r']);
}else{
$err='Неверный формат месяца рождения!';
}
if (isset($_POST['ank_g_r']) && (is_numeric($_POST['ank_g_r']) && $_POST['ank_g_r']>0 && $_POST['ank_g_r']<=date('Y') && $_POST['ank_g_r']!=NULL))
{
$ank_g_r=intval($_POST['ank_g_r']);
}else{
$err='Неверный формат года рождения!';
}
if (!isset($err))
{
if ($set['reg_select']=='open_mail')
{
$activation=md5(passgen());
mysql_query("INSERT INTO `user` (`nick`, `ank_name`, `ank_d_r`, `ank_m_r`, `ank_g_r`, `pass`, `date_reg`, `date_last`, `pol`, `activation`, `ank_mail`) values('".$_SESSION['reg_nick']."', '".$ank_name."', '".$ank_d_r."', '".$ank_m_r."', '".$ank_g_r."', '".shif($_POST['pass1'])."', '".$time."', '".$time."', '".intval($_POST['pol'])."', '".$activation."', '".my_esc($_POST['ank_mail'])."')",$db);
$id_reg=mysql_insert_id();
$subject="Активация аккаунта";
$regmail="Здравствуйте ".$_SESSION['reg_nick']."<br />
Для активации Вашего аккаунта перейдите по ссылке:<br />
<a href='http://".$_SERVER['HTTP_HOST']."/reg.php?id=$id_reg&activation=$activation'>http://".$_SERVER['HTTP_HOST']."/reg.php?id=".mysql_insert_id()."&activation=$activation</a><br />
Если аккаунт не будет активирован в течении 24 часов, он будет удален<br />
С уважением, администрация сайта!<br />
";
$adds="From: "Password@$_SERVER[HTTP_HOST]" <password@$_SERVER[HTTP_HOST]>";
$adds="Content-Type: text/html; charset=utf-8";
mail($_POST['ank_mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
}else{
mysql_query("INSERT INTO `user` (`nick`, `ank_name`, `ank_d_r`, `ank_m_r`, `ank_g_r`, `pass`, `date_reg`, `date_last`, `pol`) values('".$_SESSION['reg_nick']."', '".$ank_name."', '".$ank_d_r."', '".$ank_m_r."', '".$ank_g_r."', '".shif($_POST['pass1'])."', '".$time."', '".$time."', '".intval($_POST['pol'])."')",$db);
}
$user=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_SESSION['reg_nick'])."' AND `pass` = '".shif($_POST['pass1'])."' LIMIT 1"));
if (isset($_SESSION['http_referer']))
{
mysql_query("INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`) VALUES ('".$time."', '".$user['id']."', 'reg', '".my_esc($_SESSION['http_referer'])."')");
}
$_SESSION['id_user']=$user['id'];
setcookie('id_user', $user['id'], time()+60*60*24*365);
setcookie('pass', cookie_encrypt($_POST['pass1'],$user['id']), time()+60*60*24*365);
if ($set['reg_select']=='open_mail')
{
msg('Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email!');
}else{
msg('Регистрация прошла успешно!');
}
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ico/gd.png'> ";
echo "<b>Если Ваш браузер не поддерживает Cookie, Вы можете создать закладку для автовхода:</b><br />";
echo "<input type='text' value='http://$_SERVER[SERVER_NAME]/login.php?id=$user[id]&pass=".htmlspecialchars($_POST['pass1'])."' /><br />";
echo "</div>";
if ($set['reg_select']=='open_mail')
{
unset($user);
}
echo "<a href='/settings.php'><div class='foot'>";
echo "<img src='/s-klub/img/set.png'> Мои настройки<br />";
echo "</div></a>";
echo "<a href='/umenu.php'><div class='foot'>";
echo "<img src='/s-klub/img/left.png'> Мое меню<br />";
echo "</div></a>";
include_once 'sys/includes/footer.php';
exit;
}
}
else if (isset($_POST['nick']) && $_POST['nick']!=NULL)
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."'"),0)==0)
{
$nick=my_esc($_POST['nick']);
if (!preg_match("#^([A-zА-я0-9-_ ])+$#ui", $_POST['nick']))
{
$err='В нике присутствуют запрещенные символы!';
}
if (preg_match("#[a-z]+#ui", $_POST['nick']) && preg_match("#[а-я]+#ui", $_POST['nick']))
{
$err='Разрешается использовать символы только русского или только английского алфавита!';
}
if (preg_match("#(^ )|( $)#ui", $_POST['nick']))
{
$err='Запрещено использовать пробел в начале и конце ника';
}
if (strlen2($nick)<3)
{
$err='Короткий ник!';
}
if (strlen2($nick)>32)
{
$err='Длина ника превышает 32 символа';
}
}else{
$err='Ник "'.stripcslashes(htmlspecialchars($_POST['nick'])).'" уже зарегистрирован!';
}
if (!isset($err))
{
$_SESSION['reg_nick']=$nick;
$_SESSION['step']=1;
msg ("Ник "".$nick."" может быть успешно зарегистрирован!");
}
}
err();
if (isset($_SESSION['step']) && $_SESSION['step']==1)
{
echo "<form method='post' action='/reg.php?$passgen'>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/text.png'> ";
echo "<b>Ваш желаемый ник:</b><br />";
echo "<input type='text' name='nick' maxlength='32' value='".$_SESSION['reg_nick']."' /><br />";
echo "<input type='submit' value='Сменить' />";
echo "</div>";
echo "</form>";
echo "<form method='post' action='/reg.php?$passgen'>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/text.png'> <b>Ваше имя:</b><br />";
echo "<input type='text' name='ank_name' maxlength='32' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/img/who.png'> ";
echo "<b>Ваш пол:</b><br />";
echo "<select name='pol'>";
echo "<option value='0'>Женский</option>";
echo "<option value='1'>Мужской</option>";
echo "</select><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/d_r.png'> <b>День рождения:</b><br />";
echo "<input type='text' name='ank_d_r' placeholder='01' size='2' maxlength='2' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/d_r.png'> <b>Месяц рождения:</b><br />";
echo "<input type='text' name='ank_m_r' placeholder='01' size='2' maxlength='2' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/d_r.png'> <b>Год рождения:</b><br />";
echo "<input type='text' name='ank_g_r' placeholder='1990' size='4' maxlength='4' /><br />";
echo "</div>";
if ($set['reg_select']=='open_mail')
{
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/mail.png'> ";
echo "<b>E-mail:</b><br />";
echo "<input type='text' name='ank_mail' /><br />";
echo "<img src='/s-klub/img/rules.png'> ";
echo "<b>Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта!</b><br />";
echo "</div>";
}
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ico/license.png'> ";
echo "<b>Введите пароль (6-32 символов):</b><br />";
echo "<input type='password' name='pass1' maxlength='32' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ico/license.png'> ";
echo "<b>Повторите пароль:</b><br />";
echo "<input type='password' name='pass2' maxlength='32' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
cap_image();
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/img/rules.png'> ";
echo "<b>Регистрируясь, Вы автоматически соглашаетесь с <a href='/rules.php'>правилами</a> сайта!</b><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<input type='submit' value='Продолжить' />";
echo "</div>";
echo "</form>";
}else{
echo "<form method='post' action='/reg.php?$passgen'>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ank/text.png'> ";
echo "<b>Желаемый ник [A-zА-я0-9 -_]:</b><br />";
echo "<input type='text' name='nick' maxlength='32' /><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/img/rules.png'> ";
echo "<b>Регистрируясь, Вы автоматически соглашаетесь с <a href='/rules.php'>правилами</a> сайта!</b><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<input type='submit' value='Проверить' />";
echo "</div>";
echo "</form>";
}
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ico/license.png'> ";
echo "<b><a href='/aut.php'>Авторизация</a></b><br />";
echo "</div>";
echo "<div class='forum_tema'>";
echo "<img src='/s-klub/ico/chmod.png'> ";
echo "<b><a href='/pass.php'>Восстановить пароль</a></b><br />";
echo "</div>";
include_once 'sys/includes/footer.php';
?>