Файл: public_html/reg.php
Строк: 256
<?
//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();
echo '<div class="auth">Регистрация на сайте</div>';
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('&','&',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['pass1'])<6)$err[]='По соображениям безопасности пароль не может быть короче 6-ти символов';
if (strlen2($_POST['pass1'])>32)$err[]='Длина пароля превышает 32 символа';
if ($_POST['pass1']!=$_POST['pass2'])$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();
if (isset($_SESSION['invite'])) {
mysql_query("INSERT INTO referals SET who = '$id_reg', user = '" . $_SESSION['invite'] . "', date = '" . time() . "'");
mysql_query("UPDATE user SET balls = balls + '100' WHERE id = '" . $_SESSION['invite'] . "' LIMIT 1");
$hereJob = mysql_query("SELECT id FROM jobs WHERE user = '$_SESSION[invite]' AND job = '3' AND status = '1' LIMIT 1");
if (mysql_num_rows($hereJob) != false)
{
$_FileJob = file_get_contents('jobs.dat');
$exJob = explode(',', $_FileJob);
mysql_query("UPDATE user SET balls = balls + '$exJob[2]' WHERE id = '$_SESSION[invite]' LIMIT 1");
mysql_query("UPDATE jobs SET time = '" . (time() + 5 * 60) . "', status = '2' WHERE user = '$_SESSION[invite]' AND status = '1' LIMIT 1");
}
$myRef = mysql_fetch_array(mysql_query("SELECT user FROM referals WHERE who = '" . $_SESSION['invite'] . "' LIMIT 1"));
if (isset($myRef[0])) {
mysql_query("UPDATE user SET balls = balls + '25' WHERE id = '$myRef[0]' LIMIT 1");
}
unset($_SESSION['invite']);
}
$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]>n";
//$adds = "From: <$set[reg_mail]>n";
//$adds .= "X-sender: <$set[reg_mail]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
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);
/////////
$uid=mysql_insert_id();
$fname=$_SERVER['DOCUMENT_ROOT']."/sys/dat/reg_mess.txt";
if(is_file($fname)) {
$reg_mess_arr=explode('|',file_get_contents($fname));
$reg_mess_on=$reg_mess_arr[0];
$reg_mess_text=$reg_mess_arr[1];
if($reg_mess_on) {
$msg=mysql_escape_string($reg_mess_text);
$reg_mess_text=str_replace('{name}',$_SESSION['reg_nick'],$reg_mess_text);
mysql_query("INSERT INTO `konts` (`id_user`, `id_kont`, `time`) values('$uid', '2', '$time')");
mysql_query("INSERT INTO `konts_aut` (`id_user`, `id_kont`, `aut`) VALUES ('$uid','2', 'ok')");
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('2', '$uid', '$reg_mess_text', '$time')");
}
}
//////////////
$lid = mysql_insert_id();
if (isset($_SESSION['invite'])) {
mysql_query("INSERT INTO referals SET who = '$lid', user = '" . $_SESSION['invite'] . "', date = '" . time() . "'");
mysql_query("UPDATE user SET balls = balls + '100' WHERE id = '" . $_SESSION['invite'] . "' LIMIT 1");
$hereJob = mysql_query("SELECT id FROM jobs WHERE user = '$_SESSION[invite]' AND job = '3' AND status = '1' LIMIT 1");
if (mysql_num_rows($hereJob) != false)
{
$_FileJob = file_get_contents('jobs.dat');
$exJob = explode(',', $_FileJob);
mysql_query("UPDATE user SET balls = balls + '$exJob[2]' WHERE id = '$_SESSION[invite]' LIMIT 1");
mysql_query("UPDATE jobs SET time = '" . (time() + 5 * 60) . "', status = '2' WHERE user = '$_SESSION[invite]' AND status = '1' LIMIT 1");
}
$myRef = mysql_fetch_array(mysql_query("SELECT user FROM referals WHERE who = '" . $_SESSION['invite'] . "' LIMIT 1"));
if ($myRef[0] != 0) {
mysql_query("UPDATE user SET balls = balls + '25' WHERE id = '$myRef[0]' LIMIT 1");
}
unset($_SESSION['invite']);
}
$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
{
echo '<div class="z">Вы успешно зарегистрировались!</div>';
}
echo "<div class='p_m'>Поздравляю тебя! Секунду назад ты зарегистрировался<font color='gray'>(ась)</font> на уютном сайте <b>e<font color='green'>X</font>io.biz</b> <img src='/style/rg.gif' alt='' /> .</div>n";
echo '<div class="menu">Теперь заходи на сайт и вливайся в наше дружное общество! </div>';
echo '<div class="p_m">Катя уже выслала тебе в почту письмо со всей необходимой для тебя информацией! </div>';
echo '<div class="menu">Чтобы не вводить каждый раз при входе ник и пароль, добавь в закладки ссылку которая ниже<br />';
echo "<input type='text' value='http://$_SERVER[SERVER_NAME]/?id=$user[id]&pass=".htmlspecialchars($_POST['pass1'])."' /></div>n";
if ($set['reg_select']=='open_mail')unset($user);
echo "<div class='foot'>n";
echo "<img src='/style/ank_img/check.png' alt='' /> <a href='/index.php'><b>Зайти на сайт</b></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 /><input type='text' name='nick' maxlength='32' value='$_SESSION[reg_nick]' /><br />n";
echo "<input type='submit' value='Другой' />n";
echo "</form>n";
echo "<form method='post' action='/reg.php?$passgen'>n";
echo "Ваш пол:<br /><select name='pol'><option value='1'>Мужской</option><option value='0'>Женский</option></select><br />n";
if ($set['reg_select']=='open_mail')
{
echo "E-mail:<br /><input type='text' name='ank_mail' /><br />n";
echo "* Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта.<br />n";
}
echo "Введите пароль:<br /><input type='password' name='pass1' maxlength='32' /><br />n";
echo "Повторите пароль:<br /><input type='password' name='pass2' maxlength='32' /><br />n";
echo "<input type='submit' value='Продолжить' />n";
echo "</form>n";
}
else
{
$invUser = mysql_fetch_array(mysql_query("SELECT nick, ip FROM user WHERE id = '" . $_SESSION['invite'] . "' LIMIT 1"));
$IpInv = substr(long2ip($invUser[1]), 0, 5);
if (preg_match("/$IpInv([.d]+)/", $_SERVER['REMOTE_ADDR'])) unset($_SESSION['invite']);
if (isset($_SESSION['invite']) && isset($invUser[0])) echo '<span style="color:#0000FF;">Вы по приглашению: ' . $invUser[0] . '</span><hr/>';
else unset($_SESSION['invite']);
echo "<form method='post' action='/reg.php?$passgen'>n";
echo "Придумай ник:<br /><input type='text' name='nick' maxlength='32' /><br />n";
echo 'В нике разрешено использовать буквы русского или английского алфавита, и символы - _ <br />';
echo "<input type='submit' value='Продолжить' />n";
echo "</form>n";
}
if (isset($_GET['invite'])) $_SESSION['invite'] = abs((int)$_GET['invite']);
include_once 'sys/inc/tfoot.php';
?>