<?php
require'config.php';
$align='left';
$title='Регистрация';
head();
///if($ip == '109.169.146.142') {echo 'Ваш айпишник:'.$ip.' Размер экрана:'.$size_display.'<br />';}
$rus = $set['rus'];
$reg = $set['reg'];

if ($reg==0){
echo 'Регистрация временно закрыта Администратором чата.<br/>';
echo 'Попробуйте зарегистрироваться позже.<br/>';
echo gb.'<a href="index">На главную</a>'.div;
foot();
}

$inv = isset($_GET['inv']) ? (int)$_GET['inv'] : 0;
$inv_url = '&amp;inv=' . $inv;

if (isset($_POST['nik']))
{
$nik = $_POST['nik'];
if ($_POST['trun']==1)$nik = translit($nik);

$nik = check($nik);

if ($rus==1){
$lat_nik = rus_to_lat(tolower($nik));
$help = 'В нике цифры разрешено использовать только вместе со знаками латинского или русского алфавита.<br /><br />';
}else{
$lat_nik = tolower($nik);
$help = 'В нике цифры разрешено использовать только вместе со знаками латинского алфавита.<br /><br />';
}

if(ctype_digit($nik))$msg = $help;
else if (preg_match("/[^1-9a-zA-Z\-\@\*\(\)\?\!\~\_\=\[\]]+/", $lat_nik))$msg = 'В нике обнаружены запрешенные знаки!<br/>Или попробуйте введите ник на латинице (а-z,0-9)<br/>';
else if ($nik === "")$msg = $emp;
else if (strpos($nik,"|")!==false)$msg = 'В нике обнаружены запрешенные знаки!<br /><br />';
if (strlen2($nik) < 4) $msg = 'Ник не должен содержать менее 4-ёх знаков!<br /><br />';
else if (strlen2($nik) > 15) $msg = 'Ник не должен содержать более 15 знаков!<br /><br />';

$rnik = rus_to_k($nik);

$db->sql_query ("select * from users where ruser = '".$rnik."'");
if (mysql_affected_rows()==0) $est = false;

if ((mysql_affected_rows() == 0)&&($est==false)) {
}else{
$msg = 'Указанный вами ник <b>'.$nik.'</b> уже занят, выберите другой<br /><br />';
}

echo $msg;

if (!isset($msg))$nextsssq = 'next';

}

if (!isset($nextsssq)||isset($msg)){

if ($ver=='xhtml')echo '<form method="post" action="reg?'.$inv_url.'&amp;'.SID.'" name="auth">';
echo 'Желаемый ник:(Max 15)<br/>
<input name="nik" maxlength="15" title="nick"/><br/>';

echo 'Транслит ника<a href="trunhelp?'.$inv_url.'">(?)</a>:<br/>
<select name="trun">
<option value="0">Нет</option>
<option value="1">Да</option>
</select><br/><br />';

if ($ver=='wml'){
echo '<anchor title="go">Проверить<go href="reg?'.$inv_url.'&amp;'.SID.'" method="post">
<postfield name="nik" value="$nik"/>
<postfield name="trun" value="$trun"/>
</go></anchor><br/><br />';
}else{
echo '<input type="submit" class="ibutton" value="Проверить" name="enter"/></form><br/><br />';
}

echo gb.'<a href="index?'.$inv_url.'">На главную</a>'.div;
foot();
}

if (isset($nik)){

$nik = check($nik);

if (isset($nik) && empty($_POST['pass']) && empty($_POST['pass2']) && empty($_POST['sex'])) 
{

if ($ver=='xhtml')echo '<form method="post" action="reg?'.$inv_url.'&amp;'.SID.'" name="auth">';
echo 'Ваш ник: <b>'.$nik.'</b><dt></dt>';

echo 'Пароль (минимум 6 симв., лат. буквы и цифры, пароль не должен состоять из одних цифр, пример: <b>'.passgen(6).'</b>):<br/>
<input name="pass"  maxlength="20" title="pass" emptyok="false"/><br/>
Повторите пароль:<br/>
<input name="pass2"  maxlength="20" title="verpass" emptyok="false"/><br/>';

echo 'Пол:<br/>
<select name="sex">
<option value="1">Мужской</option>
<option value="0">Женский</option>
</select><br/>';

$chislo=rand(1000,9999);
$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");
$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");

echo '&#160;<b>'.$chislo.'</b><br/>Проверочный код:<br/>
<input type="text" name="code" size="4" maxlength="4" title="code"/><br/><br />';


if ($ver=='wml'){
echo '<anchor title="go">Регистрировать<go href="reg?'.$inv_url.'&amp;'.SID.'" method="post">
<postfield name="nik" value="$nik"/>
<postfield name="pass" value="$pass"/>
<postfield name="pass2" value="$pass2"/>
<postfield name="sex" value="$sex"/>
<postfield name="code" value="$code"/>
</go></anchor><br/><br />';
}else{
echo '<input type="hidden" name="nik" value="'.$nik.'" />';
echo '<input type="submit" class="ibutton" value="Регистрировать" name="enter"/></form><br/><br />';
}


echo gb.'<a href="index?'.$inv_url.'">На главную</a>'.div;
foot();
}
if (isset($nik) && isset($_POST['pass']) && isset($_POST['pass2']) && isset($_POST['sex']) && isset($_POST['code'])) {

$pass = check($_POST['pass']);
$pass2 = check($_POST['pass2']);
$code = check($_POST['code']);
$sex = check($_POST['sex']);





if(!preg_match('!^[a-z0-9]+$!i',$pass))$err = 'В пароле обнаружены запрешенные знаки!';
if ($pass === '')$err = 'Не заполнены обязательные поля!';
if (strlen2($pass) < 6)$err = 'Пароль не должен быть короче 6 символов!';
if ($pass !== $pass2)$err = 'пароли не совпадают!';
if (!isset($code))$err = 'Вы не ввели Проверочный код!';
$online = $db->sql_fetchrow($db->sql_query("SELECT * FROM `chislo` WHERE `ip` = '".$ip."'"));
if($online['chislo'] != intval($_POST['code']))$err = 'Проверочный код введен неверно!<br />Вернитесь назад и проверте правильность ввода.';

////////////////////
if ( isset($_SERVER['HTTP_USER_AGENT']) )
{
	$softs=mysql_escape_string(stripslashes(htmlspecialchars($_SERVER['HTTP_USER_AGENT'])));
}
else {$softs='Нет данных';}

if ( isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) )
{
	$softs_opera=mysql_escape_string(stripslashes(htmlspecialchars($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])));
}else {$softs_opera='Нет данных';}

$select = @$db->sql_query ("SELECT `soft`,`soft_opera` FROM `bannlist` WHERE `soft`='".$softs."' or `soft_opera`='".$softs_opera."'");
if (mysql_num_rows($select) == 0)
{
	if($online['chislo'] != intval($_POST['code']))$err = 'Проверочный код введен неверно!<br />Вернитесь назад и проверте правильность ввода.';
}else
{	

	function getRealIpAddr()
	{
	  if (!empty($_SERVER['HTTP_CLIENT_IP']))
	  {
		$ips=$_SERVER['HTTP_CLIENT_IP'];
	  }
	  elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
	  {
		$ips=$_SERVER['HTTP_X_FORWARDED_FOR'];
	  }
	  else
	  {
		$ips=$_SERVER['REMOTE_ADDR'];
	  }
	  return $ips;
	}

		if($sex == 1)$pol = "Мужской";
		if($sex == 0)$pol = "Женский";
		$messs = ''.$nik.' Пытался зарегестрироваться Пароль: '.$pass.'<br/>Пол: '.$pol.'<br/> Soft: <b>'.$softs.'</b><br />Soft opera: <b>'.$softs_opera.'</b><br />IP: <b>'.getRealIpAddr().'</b><br />Размер экрана: <b>'.$size_display.'</b><br />';
		$db->sql_query ("INSERT INTO logs (log,msg,time) VALUES ('rega','$messs','$time')");
		$rs = rand(1,6);
		if($rs == 1)$err = 'Проверочный код введен неверно!<br />Вернитесь назад и проверте правильность ввода.';
		if($rs == 2)$err = 'В пароле обнаружены запрешенные знаки!';
		if($rs == 3)$err = 'Не заполнены обязательные поля!';
		if($rs == 4)$err = 'Пароль не должен быть короче 6 символов!';
		if($rs == 5)$err = 'Пароли не совпадают!';
		if($rs == 6)$err = 'Вы не ввели Проверочный код!';
}


$r = $db->sql_query ("SELECT `filtr_text` FROM `filtr_reg_nik` ORDER BY `id` DESC");
if ($r != 0) 
{ 
			function getRealIpAddr()
			{
			  if (!empty($_SERVER['HTTP_CLIENT_IP']))
			  {
				$ips=$_SERVER['HTTP_CLIENT_IP'];
			  }
			  elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
			  {
				$ips=$_SERVER['HTTP_X_FORWARDED_FOR'];
			  }
			  else
			  {
				$ips=$_SERVER['REMOTE_ADDR'];
			  }
			  return $ips;
			}
	while($a = @$db->sql_fetchrow($r))
	{
		if (preg_match("/".$a['filtr_text']."/ui", $nik)) 
		{
			
			if($sex == 1)$pol = "Мужской";
			if($sex == 0)$pol = "Женский";
			$messs = 'Сработал защитный фильтр <b>'.$a['filtr_text'].'</b> на ник <b>'.$nik.'</b> Пароль: '.$pass.'<br/>Пол: '.$pol.'<br/> Soft: <b>'.$softs.'</b><br />Soft opera: <b>'.$softs_opera.'</b><br />IP: <b>'.getRealIpAddr().'</b><br />Размер экрана: <b>'.$size_display.'</b><br />';
			$db->sql_query ("INSERT INTO logs (log,msg,time) VALUES ('rega','$messs','$time')");
			$rs = rand(1,6);
			if($rs == 1)$err = 'Проверочный код введен неверно!<br />Вернитесь назад и проверте правильность ввода.';
			if($rs == 2)$err = 'В пароле обнаружены запрешенные знаки!';
			if($rs == 3)$err = 'Не заполнены обязательные поля!';
			if($rs == 4)$err = 'Пароль не должен быть короче 6 символов!';
			if($rs == 5)$err = 'Пароли не совпадают!';
			if($rs == 6)$err = 'Вы не ввели Проверочный код!';
		}
	}
}
/*
//////////////email если софт в бане/////////////////////
if (isset($nik) && isset($_POST['pass']) && isset($_POST['pass2']) && isset($_POST['sex']) && isset($_POST['code'] && !isset($err)))
{
	if ($ver=='xhtml')echo '<form method="post" action="reg?'.$inv_url.'&amp;'.SID.'" name="auth">';
	echo 'Укажите регистрационныей e-mail.<br />
	На адресс будет отправлено письмо со ссылкой для активации аккаунта.<br/>	 
	<input name="email" maxlength="25" title="email"/><br/>
	<br/><br />';

	if ($ver=='wml')
	{
		echo 'Укажите регистрационныей e-mail.<br />
		На адресс будет отправлено письмо со ссылкой для активации аккаунта.<br/>
		<anchor title="go">Проверить<go href="reg?'.$inv_url.'&amp;'.SID.'" method="post">
		<postfield name="nik" value="$nik"/>
		<postfield name="trun" value="$trun"/>
		</go></anchor><br/><br />';
	}else{
	echo '<input type="submit" class="ibutton" value="Проверить" name="enter"/></form><br/><br />';
	}

	echo gb.'<a href="index?'.$inv_url.'">На главную</a>'.div;
	foot();
}
*/
/////////////////////////////////////


if (isset($err)) {
echo $err;
foot();
}
if (!isset($err)){


$rnik = rus_to_k($nik);

$db->sql_query ("select * from users where ruser = '".$rnik."'");
if ((mysql_affected_rows() == 0)&&($est==false)) {
$levelselect = @$db->sql_query ("Select name from levels where level=0");
$levels = @$db->sql_fetchrow($levelselect);
$lev0 = $levels["name"];


$num = $db->sql_fetchfield($db->sql_query("select count(id) as num from users"),0);
if ($num==0) $level = 9;
else $level = 0;

if ($set['reg']==2) $odobr = 1;
else $odobr = 0;

$nd = date("d-m-Y");
if ($db->sql_query("INSERT INTO `users` (user,pass,date,ruser,user_ip,user_soft,status,level,ver,timereg,sex,binds,style,poias,odobr,invite,color) values('$nik','".md5($pass)."','$nd','$rnik','".$ip."','".$soft."','$lev0','$level','$ver','$time','$sex','1|2|3|4|5|6|8|0','$them','180','$odobr','$inv','ff0000')"))
{
$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");
$ids = $db->sql_fetchrow($db->sql_query("SELECT * FROM `users` WHERE `user_ip` = '".$ip."' and `pass` = '".md5($pass)."'"));

$id=user_inf($nik,'id');
$msg = 'Спасибо за регистрацию!';
@$db->sql_query("OPTIMIZE TABLE users");
@$db->sql_query("ANALYZE TABLE users");
$error = False;
} else {
$error = mysql_error();
}
} else {
$error = 'Указанный вами ник <b>'.$nik.'</b> уже занят, выберите другой';
}
}
if ($error) {
echo '$error<br/>';
foot();
} else {


if ($set['reg_notify']==1){
if ($sex == '1')$sex2 = 'присоединился';
if ($sex == '0')$sex2 = 'присоединилась';
$vse_users=$db->sql_fetchfield($db->sql_query("select COUNT(*) from users;"),0);
$messs = "[b]ВНИМАНИЕ!!![/b] К Нам ".$sex2." [b]".nik($nik)."[/b]!И теперь нас: [b]".$vse_users."[/b] :)";

$s_post=$db->sql_fetchfield($db->sql_query("select COUNT(*) from rooms WHERE `system` != '0';"),0);
$k_page=k_page($s_post,$s_post);
$page=page($k_page);
$s1=$s_post*$page-$s_post;
$num = @$db->sql_query("SELECT * from rooms WHERE `system` != '0' order by rm DESC limit $s1, $s_post;" );
while($nums = @$db->sql_fetchrow($num)){
$db->sql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_system','0','$time','$messs','$nums[rm]')");
}
}


echo $msg.'<br/><br/>';
echo 'Ваш ник: <b>'.$nik.'</b><br/>';
echo 'Ваш ID: <b>'.$id.'</b><br/>';
echo 'Пароль: <b>'.$pass.'</b><br/><br/>';

echo 'Сделайте закладку для входа в чат: <i>http://'.$_SERVER['HTTP_HOST'].'/in?id='.$id.'&amp;ps='.$pass.'</i> <br/>Скопировать ссылку:<br /><input name="" type="text" value="http://'.$_SERVER['HTTP_HOST'].'/in?id='.$id.'&amp;ps='.$pass.'"/><br/><br />';

////echo 'Заполнить Вашу анкету вы можете <a href="my/profile?'.$inv_url.'&amp;ver='.$ver.'&amp;id='.$id.'&amp;ps='.$pass.'&amp;ref='.$ref.'">здесь</a>!<br/><br/>';
echo gb.'<a href="in?'.$inv_url.'&amp;ver='.$ver.'&amp;id='.$id.'&amp;ps='.$pass.'">Перейти в чат</a><br/>'.div;
///$admin = mysql_query(" SELECT * FROM `users` WHERE `id`='1'");
///$ob = mysql_query( " SELECT * FROM `objava` WHERE `id`= '1' " );
///$admin=mysql_fetch_assoc($admin);


$privet = mysql_fetch_array(mysql_query("SELECT `wellc` FROM `setting` WHERE ids=1;"));
$privet['wellc'] = str_replace("/","<br/>",$privet['wellc']);
$db->sql_query ("INSERT INTO privat (user,user_id,msg,to_user,to_id,time,readin) VALUES ('$user_system','0','$privet[wellc]','$user','$id','$time','0')");
}
}
}

foot();
?>