<?
//include_once 'sys/inc/mp3.php';
//include_once 'sys/inc/zip.php';
include_once 'sys/inc/start.php';
include_once 'sys/inc/compress.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/shif.php';
$show_all=true; // показ для всех
include_once 'sys/inc/user.php';
only_unreg();
$set['title']='Регистрация';
include_once 'sys/inc/thead.php';
title();
//aut();
if ($set['guest_select']=='1')msg("Доступ к сайту разрешен только авторизованым пользователям");
if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!ereg('mail\.php',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&amp;',ereg_replace('^http://[^/]*/','/', $_SERVER['HTTP_REFERER']));


if ($set['reg_select']=='close')
{
$err='Регистрация временно приостановлена';
err();

echo "<a href='/aut.php'>Авторизация</a><br />\n";
include_once 'sys/inc/tfoot.php';
}
elseif($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/inc/tfoot.php';
}
}

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';
elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$_POST['ank_mail']))$err[]='Неверный формат Email';
elseif(mysql_result(mysql_query("SELECT COUNT(*) FROM `reg_mail` WHERE `mail` = '".my_esc($_POST['ank_mail'])."'"),0)!=0)
{
$err[]="Пользователь с этим E-mail уже зарегистрирован";
}
}




if (strlen2($_POST['ank_city'])<3)$err[]='Не заполнен ваш город  ';
if (strlen2($_POST['ank_name'])<3)$err[]='Не заполненно ваше имя ';
if (strlen2($_POST['ank_g_r'])<4)$err[]='Не заполнен год рождения ';
if (strlen2($_POST['ank_m_r'])<2)$err[]='Не заполнен месяц рождения ';
if (strlen2($_POST['ank_d_r'])<2)$err[]='Не заполнен день рождения ';






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($err))
{
if ($set['reg_select']=='open_mail')
{
$activation=md5(passgen());
mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `activation`, `ank_mail`) values('".$_SESSION['reg_nick']."', '".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&amp;activation=$activation'>http://$_SERVER[HTTP_HOST]/reg.php?id=".mysql_insert_id()."&amp;activation=$activation</a><br />
Если аккаунт не будет активирован в течении 24 часов, он будет удален<br />
С уважением, администрация сайта<br />
";
$adds="From: \"password@$_SERVER[HTTP_HOST]\" <password@$_SERVER[HTTP_HOST]>\n";
//$adds = "From: <$set[reg_mail]>\n";
//$adds .= "X-sender: <$set[reg_mail]>\n";
$adds .= "Content-Type: text/html; charset=utf-8\n";
mail($_POST['ank_mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);

}
else
mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`) values('".$_SESSION['reg_nick']."', '".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($_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))
{
$user['ank_d_r']=$_POST['ank_d_r'];
if ($user['ank_d_r']==null)$user['ank_d_r']='null';
mysql_query("UPDATE `user` SET `ank_d_r` = $user[ank_d_r] WHERE `id` = '$user[id]' LIMIT 1");
if ($user['ank_d_r']=='null')$user['ank_d_r']=NULL;
}
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))
{
$user['ank_m_r']=$_POST['ank_m_r'];
if ($user['ank_m_r']==null)$user['ank_m_r']='null';
mysql_query("UPDATE `user` SET `ank_m_r` = $user[ank_m_r] WHERE `id` = '$user[id]' LIMIT 1");
if ($user['ank_m_r']=='null')$user['ank_m_r']=NULL;
}
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))
{
$user['ank_g_r']=$_POST['ank_g_r'];
if ($user['ank_g_r']==null)$user['ank_g_r']='null';
mysql_query("UPDATE `user` SET `ank_g_r` = $user[ank_g_r] WHERE `id` = '$user[id]' LIMIT 1");
if ($user['ank_g_r']=='null')$user['ank_g_r']=NULL;
}
else $err[]='Неверный формат года рождения';

if (isset($_POST['ank_city']) && preg_match('#^([A-zА-я \-]*)$#ui', $_POST['ank_city']))
{
$user['ank_city']=$_POST['ank_city'];
mysql_query("UPDATE `user` SET `ank_city` = '".my_esc($user['ank_city'])."' WHERE `id` = '$user[id]' LIMIT 1");
}
else $err[]='Неверный формат названия города';


if (isset($_POST['ank_strana']) && preg_match('#^([A-zА-я \-]*)$#ui', $_POST['ank_strana']))
{
$user['ank_strana']=$_POST['ank_strana'];
mysql_query("UPDATE `user` SET `ank_strana` = '".my_esc($user['ank_strana'])."' WHERE `id` = '$user[id]' LIMIT 1");
}
else $err[]='Неверный формат названия страны';








if (isset($_POST['ank_name']) && preg_match('#^([A-zА-я \-]*)$#ui', $_POST['ank_name']))
{
$user['ank_name']=$_POST['ank_name'];
mysql_query("UPDATE `user` SET `ank_name` = '".my_esc($user['ank_name'])."' WHERE `id` = '$user[id]' LIMIT 1");
}
else $err[]='Неверный формат имени';

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('Регистрация прошла успешно.<br />Теперь вы можете заполнить свою анкету <a href="anketa.php">ЗДЕСЬ</a>');
}

echo "Если Ваш браузер не поддерживает Cookie, Вы можете создать закладку для автовхода<br />\n";
echo "<input type='text' value='http://$_SERVER[SERVER_NAME]/?id=$user[id]&amp;pass=".htmlspecialchars($_POST['pass1'])."' /><br />\n";
if ($set['reg_select']=='open_mail')unset($user);
echo "<div class='foot'>\n";

echo "&raquo;<a href='umenu.php'>Мое меню</a><br />\n";
echo "</div>\n";
include_once 'sys/inc/tfoot.php';
}

}
elseif (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 (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'>\n";
echo "*Ваш пол:<br /><select name='pol'><option value='1'>Мужской</option><option value='0'>Женский</option></select><br /><hr/>\n";


echo "<div class='rowup'>";



echo "*Дата рождения:<br />\n";
echo "д.<input type='text' name='ank_d_r' value='$user[ank_d_r]' size='2' maxlength='2' />\n";
echo "м.<input type='text' name='ank_m_r' value='$user[ank_m_r]' size='2' maxlength='2' />\n";
echo "г.<input type='text' name='ank_g_r' value='$user[ank_g_r]' size='4' maxlength='4' /><br />\n";


echo "*Ваше имя:<br />\n";

echo "<input type='text' name='ank_name' value='$user[ank_name]' size='' maxlength='30' /><br /></div><hr/>\n";

echo "<div class='rowdown'>";

echo "*Страна:<br />\n<select name='ank_strana'>\n";




echo "<option value='Другие страны'".($user['ank_strana']==СНГ?" selected='selected'":null).">Другие страны</option>\n";


echo "<option value='Россия'".($user['ank_strana']==Россия?" selected='selected'":null).">Россия</option>\n";
echo "<option value='Украина'".($user['ank_strana']==Украина?" selected='selected'":null).">Украина</option>\n";
echo "<option value='Белоруссия'".($user['ank_strana']==Белоруссия?" selected='selected'":null).">Белоруссия</option>\n";
echo "<option value='Узбекистан'".($user['ank_strana']==Узбекистан?" selected='selected'":null).">Узбекистан</option>\n";
echo "<option value='Казахстан'".($user['ank_strana']==Казахстан?" selected='selected'":null).">Казахстан</option>\n";
echo "<option value='Азербайджан'".($user['ank_strana']==Азербайджан?" selected='selected'":null).">Азербайджан</option>\n";



echo "</select><br />\n";







echo "*Ваш город:<br />\n";

echo "<input type='text' name='ank_city' value='$user[ank_city]' size='' maxlength='30' /><br /></div><hr/>\n";







echo "<div class='rowup'>";



if ($set['reg_select']=='open_mail')
{
echo "E-mail:<br /><input type='text' name='ank_mail' /><br />\n";
echo "* Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта.<br />\n";
}
echo "*Введите пароль (6-32 символов):<br /><input type='password' name='pass1' maxlength='32' /><br />\n";
echo "*Повторите пароль:<br /><input type='password' name='pass2' maxlength='32' /><br /></div><hr/>\n";
echo "<img src='/captcha.php?$passgen&amp;SESS=$sess' width='100' height='30' alt='Проверочное число' /><br />\n<input name='chislo' size='5' maxlength='5' value='' type='text' /><br/>\n";
echo "Регистрируясь, Вы автоматически соглашаетесь с <a href='/rules.php'>правилами</a> сайта<br />\n";
echo "*Все поля для заполнения <br />\n";
echo "<input type='submit' value='Продолжить' />\n";
echo "</form><br />\n";
}
else
{
echo "<form method='post' action='/reg.php?$passgen'>\n";
echo "Выберите ник [A-zА-я0-9 -_]:<br /><input type='text' name='nick' maxlength='32' /><br />\n";




echo "Регистрируясь, Вы автоматически соглашаетесь с <a href='/rules.php'>правилами</a> сайта<br />\n";
echo "<input type='submit' value='Продолжить' />\n";
echo "</form><br />\n";
}


echo "<a href='/aut.php'>Авторизация</a><br />\n";
include_once 'sys/inc/tfoot.php';
?>