View file Dasty_Social/reg.php

File size: 17.15Kb
<?

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 ((!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('&','&amp;',preg_replace('#^http://[^/]*/#','/', $_SERVER['HTTP_REFERER']));if ($set['reg_select']=='close')
{
    echo '<div class="menu">';
	echo 'Регистрация временно приостановлена, зайдите позже';
	echo '</div>';

	err();
	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['name'])<3)$err[]='Короткое имя';
if (strlen2($_POST['fam'])<5)$err[]='Короткая фамилия';
if (strlen2($_POST['city'])<3)$err[]='Короткий город';
if (strlen2($_POST['mail'])<5)$err[]='Не правильно введен Email';

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 .= "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`, `ank_name`, `ank_fam`, `ank_city`, `ank_g_r`, `ank_m_r`, `ank_d_r`, `ank_mail` ) values('".$_SESSION['reg_nick']."', '".shif($_POST['pass1'])."', '$time', '$time', '".intval($_POST['pol'])."', '".my_esc($_POST['name'])."', '".my_esc($_POST['fam'])."', '".my_esc($_POST['city'])."', '".intval($_POST['ank_g_r'])."', '".intval($_POST['ank_m_r'])."', '".intval($_POST['ank_d_r'])."', '".my_esc($_POST['mail'])."')",$db);

///Приветствие
$uid=mysql_insert_id();
$mail=mysql_fetch_assoc(mysql_query("SELECT * FROM `reg_msg`"));
if ($mail['on']==1){
$array = array('{NICK}');
$array_replace = array(''.$_SESSION['reg_nick'].''); 
$mess = str_replace($array, $array_replace,$mail['msg']);  
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('".$mail['id']."', '".$uid."', '".$mess."', '".$time."')");
mysql_query("UPDATE `user` SET `balls`='".$mail['balls']."', `money`='".$mail['money']."', `rating`='".$mail['rating']."' WHERE `id`='".$uid."' ");
if ($mail['true']==1 && $mail['gift']!=NULL){
mysql_query("INSERT INTO `gifts_user` (`id_user`, `id_ank`, `id_gift`, `coment`, `time`) values('$uid', '$mail[id]', '$mail[gift]', '$mail[gift_msg]', '$time')");
$id_gift = mysql_insert_id();
mysql_query("INSERT INTO `notification` (`avtor`, `id_user`, `id_object`, `type`, `time`) VALUES ('$mail[id]', '$uid', '$id_gift', 'new_gift', '$time')");
}
}
///End

$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_SESSION['reg_nick'])."' AND `pass` = '".shif($_POST['pass1'])."' LIMIT 1"));

//Активность
if($user['pol']==1){
$pol = 'зарегистрировался';
}else{
$pol='зарегистрировалась';
}
mysql_query("INSERT INTO `activnost` SET `msg` = 'Только что $pol', `time`='$time' ,`id_user` = '$user[id]'");
        
/*
========================================
Создание настроек юзера 
========================================
*/

mysql_query("INSERT INTO `user_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `discussions_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `tape_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `notification_set` (`id_user`) VALUES ('$user[id]')");

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
{
	mysql_query("update `user` set `wall` = '0' where `id` = '$user[id]' limit 1");
	header('Location: /umenu.php?login=' . htmlspecialchars($_POST['reg_nick']) . '&pass=' . htmlspecialchars($_POST['pass1']));
}

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

header('Location: /user/info.php');

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 (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;
}
}

err();
if (isset($_SESSION['step']) && $_SESSION['step']==1){

echo '<div class="menu">';
	echo "<form method='post' action='/reg.php?$passgen'>\n";
	echo "<input placeholder='Логин' type='text' name='nick' maxlength='32' value='$_SESSION[reg_nick]' /><br />\n";
	echo "<input type='submit' value='Сменить' />\n";
	echo "</form><br />\n";

	echo "<form method='post' action='/reg.php?$passgen'>\n";
	
	echo "<input placeholder='Имя' type='text' name='name' maxlength='20' />";
	echo "<input placeholder='Фамилия' type='text' name='fam' maxlength='20' />";
	echo "<input placeholder='Город' type='text' name='city' maxlength='20' />";
	
	echo "<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 '<div style="margin: 0 10px 0 0;; color: #67676e;">';
	echo '<table>';
	echo '<td><select name="ank_d_r">
	<option value="">День</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
	<option value="10">10</option>
	<option value="11">11</option>
	<option value="12">12</option>
	<option value="13">13</option>
	<option value="14">14</option>
	<option value="15">15</option>
	<option value="16">16</option>
	<option value="17">17</option>
	<option value="18">18</option>
	<option value="19">19</option>
	<option value="20">20</option>
	<option value="21">21</option>
	<option value="22">22</option>
	<option value="23">23</option>
	<option value="24">24</option>
	<option value="25">25</option>
	<option value="26">26</option>
	<option value="27">27</option>
	<option value="28">28</option>
	<option value="29">29</option>
	<option value="30">30</option>
	<option value="31">31</option>
	</select></td>';
	echo '<td><select name="ank_m_r">
	<option value="">Месяц</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
	<option value="10">10</option>
	<option value="11">11</option>
	<option value="12">12</option>
	</select></td>';
	echo '<td><select name="ank_g_r">
	<option value="">Год</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option><option value="1939">1939</option><option value="1938">1938</option><option value="1937">1937</option><option value="1936">1936</option><option value="1935">1935</option><option value="1934">1934</option><option value="1933">1933</option><option value="1932">1932</option><option value="1931">1931</option><option value="1930">1930</option><option value="1929">1929</option><option value="1928">1928</option><option value="1927">1927</option><option value="1926">1926</option><option value="1925">1925</option><option value="1924">1924</option><option value="1923">1923</option><option value="1922">1922</option><option value="1921">1921</option><option value="1920">1920</option>
	</select></td>';
	echo '</table>';
	echo '</div>';
	
	echo "<input placeholder='Email' type='text' name='mail' maxlength='20' />";

	echo "<input placeholder='Пароль' type='password' name='pass1' maxlength='32' /><br />\n";
	echo "<input placeholder='Повторите пароль' type='password' name='pass2' maxlength='32' /><br />\n";
	echo '<div style="margin: 10px 0px -10px 15px;">';
	echo "<img src='/sys/captcha.php?$passgen&amp;SESS=$sess'>";
	echo '</div>';
	echo "<input placeholder='Код с картинки' name='chislo' size='5' maxlength='5' value='' type='text' /><br/>\n";

	echo "<input type='submit' value='Продолжить' />\n";
	echo "</form>";
	echo '</div>';

}
else
{
	echo '<div class="menu">';
	echo "<form method='post' action='/reg.php?$passgen'>\n";
	echo "<input placeholder='Логин' type='text' name='nick' maxlength='32' /><br />\n";
	echo "<input type='submit' value='Продолжить' />\n";
	echo "</form>";
	echo '</div>';
	
echo '<div style="line-height: 18px;" class="menu">
<font color="#2e9fff"><b>После быстрой регистрации Вы можете:</b></font> <span class="icon"><i class="fas fa-thumbs-up"></i></span></br>
<font color="#628aab">
<span class="icon"><i class="fas fa-plus"></i></span> Находить новых друзей</br>
<span class="icon"><i class="fas fa-plus"></i></span> Общаться в чатах и форумах</br>
<span class="icon"><i class="fas fa-plus"></i></span> Заводить новые знакомства</br>
<span class="icon"><i class="fas fa-plus"></i></span> Вести свой личный блог</br>
<span class="icon"><i class="fas fa-plus"></i></span> Скачивать различные загрузки</br>
<span class="icon"><i class="fas fa-plus"></i></span> Дарить и получать подарки</br>
<span class="icon"><i class="fas fa-plus"></i></span> Зарабатывать и тратить монеты</br>
<span class="icon"><i class="fas fa-plus"></i></span> Играть в развлекательные игры</br>
<span class="icon"><i class="fas fa-plus"></i></span> Участвовать в рейтингах/конкурсах и многое другое...</br>
<span class="icon"><i class="fas fa-smile-wink"></i></span> <b>Сайт полностью бесплатный.</br> 
Вам у нас точно понравится!</b></font>
</div>';

echo '<a class="link" href="/aut.php"><span class="icon"><i class="fas fa-user-check"></i></span> Уже есть аккаунт?</a>';
	
}
include_once 'sys/inc/tfoot.php';
?>