Файл: modules/kabinet/reg.php
Строк: 246
<?php
########################################
## WAP-ENGINE ##
########################################
## ##
## Автор : CHUMA (Токарев Владимир) ##
## e-mail : crazychuma@gmail.com ##
## WAP : http://wap-engine.ru ##
## ##
########################################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
####################
if(empty($_GET['reg']))
{
$title_page = '| Регистрация';
include '../../themes/'.$themes.'.php';
$rand = rand(1000, 9999);
$_SESSION['rand'] = $rand;
echo'<p class="modul_name">Регистрация нового пользователя</p>';
if($registracia == '0')
{
echo'<p class="b">'.$zap_reg_mes.'</p>';
include '../../templates/foot.php';
exit;
}
if($_GET['err'] == 1)
{
echo"<p class="err">Ошибка!!! Логин не может быть пустым.</p>";
}
if($_GET['err'] == 2)
{
echo"<p class="err">Ошибка!!! Пароль не может быть пустым.</p>";
}
if($_GET['err'] == 3)
{
echo"<p class="err">Ошибка!!! Поле "Пароль еще раз" не может быть пустым.</p>";
}
if($_GET['err'] == 4)
{
echo"<p class="err">Ошибка!!! E-mail не может быть пустым.</p>";
}
if($_GET['err'] == 5)
{
echo"<p class="err">Ошибка!!! Проверочное число не может быть пустым.</p>";
}
if($_GET['err'] == 6)
{
echo"<p class="err">Ошибка!!! Проверочное число введено неверно.</p>";
}
if($_GET['err'] == 7)
{
echo"<p class="err">Ошибка!!! Логин не может быть меньше 3 или больше 20 символов.<br />В поле Логин разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!</p>";
}
if($_GET['err'] == 8)
{
echo"<p class="err">Ошибка!!! В поле Пароль разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!</p>";
}
if($_GET['err'] == 9)
{
echo"<p class="err">Ошибка!!! Неправильный формат e-mail.</p>";
}
if($_GET['err'] == 10)
{
echo"<p class="err">Ошибка!!! "Пароль" и "Пароль еще раз" не совпадают.</p>";
}
if($_GET['err'] == 11)
{
echo"<p class="err">Ошибка!!! Такой пользователь уже существует в базе.</p>";
}
if($_GET['err'] == 12)
{
echo"<p class="err">Ошибка!!! Такой e-mail уже существует в базе.</p>";
}
if($_GET['err'] == 13)
{
echo"<p class="err">Ошибка!!! Нельзя использовать ник похожий на ник администратора сайта $nickadmina.</p>";
}
echo"<p class="b">Перед регистрацией обязательно прочитайте <a href="../../index.php?papka=pages&file=pravila">ПРАВИЛА</a>.<br /></p>";
echo"<p class="b">Внимание! Вводите существующий e-mail, его нельзя будет потом изменить. В полях логин и пароль разрешено использовать только знаки латинского алфавита и цифры, а также знак тире!<br />";
echo"Все поля обязательны для заполнения. Полную информацию о себе вы сможете добавить в своем профиле</p>";
echo"<form method="post" action="reg.php?reg=1&".session_name()."=".session_id()."">";
echo"<p class="b">Логин:<br /><input name="login" maxlength="20" value="" /><br />";
echo"Пароль:<br /><input name="pass" type="password" value="" /><br />";
echo"Пароль еще раз:<br /><input name="pass2" type="password" value="" /><br />";
echo"E-mail:<br /><input name="email" value="" /><br />";
echo"Проверочное число <font color="red">$rand</font>:<br />
<input size="4" maxlength="4" name="imgrand" value="" /><br />";
echo"<input value="Зарегистрировать" type="submit" /></p></form>";
include '../../templates/foot.php';
}
####################
if(@$_GET['reg'] == 1)
{
$login = filter($_POST['login']);
$pass = filter($_POST['pass']);
$pass2 = filter($_POST['pass2']);
$email = strtolower(filter($_POST['email']));
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
for($i=2; $i <= $count_nicks; $i++)
{
if(strtolower($login) == strtolower(trim($nicks[$i])))
{
$user_est = '1';
break;
}
}
$emails = file('../../data/emails.php');
$count_emails = count($emails);
$count_emails = $count_emails - 2;
for($i=2; $i <= $count_emails; $i++)
{
if($email == trim($emails[$i]))
{
$mail_est = '1';
break;
}
}
if(empty($login))
{
header('Location: reg.php?err=1');
}
elseif($count_nicks > 2 && stristr($login, $nickadmina))
{
header('Location: reg.php?err=13');
}
elseif(empty($pass))
{
header('Location: reg.php?err=2');
}
elseif(empty($pass2))
{
header('Location: reg.php?err=3');
}
elseif(empty($email))
{
header("Location: reg.php?err=4");
}
elseif(empty($_POST['imgrand']))
{
header("Location: reg.php?err=5");
}
elseif(!empty($_POST['imgrand']) && $_POST['imgrand'] != $_SESSION['rand'])
{
header("Location: reg.php?err=6");
}
elseif(!preg_match("#^[-a-zA-Z0-9]{3,20}$#", $login))
{
header("Location: reg.php?err=7");
}
elseif(!preg_match("#^[-a-zA-Z0-9]*$#", $pass))
{
header("Location: reg.php?err=8");
}
elseif(!preg_match("#^[-a-zA-Z0-9_.]*@[-a-zA-Z0-9_.]*.[a-zA-Z0-9]{2,4}$#", $email))
{
header("Location: reg.php?err=9");
}
elseif($pass != $pass2)
{
header("Location: reg.php?err=10");
}
elseif($user_est == "1")
{
header("Location: reg.php?err=11");
}
elseif($mail_est == "1")
{
header("Location: reg.php?err=12");
}
else
{
$passw = md5(md5($pass));
$popravka = $sdvigclock * 3600;
$date = date('d.m.Y / H:i:s', time() + $popravka);
if($count_nicks == 2)
{
$status = 1;
$emailadmina = $email;
$nickadmina = $login;
}
else
{
$status = 5;
}
$activ_account = 1;
$str_to_user_file = "$loginrn$emailrn$passwrn$datern$daternrnhttp://rnrn1rnrnrnrn0rn0rn$statusrn01-01-2001rn0rn0rn0rn0rn0rn0rn1rn$activ_accountrn0rn0rn0rnrn0rn0rn0rn0rn0rn0rnrn";
$user_file = fopen('../../data/users/'.$login.'.php','w');
flock ($user_file,LOCK_EX);
fputs($user_file,"<?phprn/*rn$str_to_user_filern*/rn?>");
fflush ($user_file);
flock ($user_file,LOCK_UN);
fclose($user_file);
$inbox_file = fopen('../../data/inbox/'.$login.'.php','w');
flock ($inbox_file,LOCK_EX);
fputs($inbox_file,"<?phprn/*rn$nickadmina|$date|Добро пожаловать к нам на сайт.|1rn*/rn?>");
fflush ($inbox_file);
flock ($inbox_file,LOCK_UN);
fclose($inbox_file);
$outbox_file = fopen('../../data/outbox/'.$login.'.php','w');
flock ($outbox_file,LOCK_EX);
fputs($outbox_file,"<?phprn/*rn*/rn?>");
fflush ($outbox_file);
flock ($outbox_file,LOCK_UN);
fclose($outbox_file);
$base = '../../data/nicks.php';
$back = @file_get_contents($base);
$back = str_replace("<?php
/*", '', $back);
$back = str_replace("*/
?>", '', $back);
$back = trim($back);
if(!empty($back))
{ $back = "rn".$back; } else
{ $back = $back; }
write_to_file($base, "<?phprn/*$backrn$loginrn*/rn?>");
$base = '../../data/emails.php';
$back = @file_get_contents($base);
$back = str_replace("<?php
/*", '', $back);
$back = str_replace("*/
?>", '', $back);
$back = trim($back);
if(!empty($back))
{ $back = "rn".$back; } else
{ $back = $back; }
write_to_file($base, "<?phprn/*$backrn$emailrn*/rn?>");
if($status == 1)
{
$str_put = "<?phprn/*rn$login|$statusrn*/rn?>";
$file_admins = fopen('../../data/admins.php','w');
flock($file_admins, LOCK_EX);
fputs($file_admins, $str_put);
fflush ($file_admins);
flock($file_admins, LOCK_UN);
fclose($file_admins);
}
$subject = "Регистрация на сайте $home";
$mail = "Здравствуйте. Вы успешно зарегистрировались на сайте $homennВаши данные для входа:nЛогин: $loginnПароль: $pass2nnЭто письмо сгенерировано автоматически, и отвечать на него нет смысла";
$headers = "From: <".$emailadmina.">n";
$headers .= "X-sender: <".$emailadmina.">n";
$headers .= "Content-Type: text/plain; charset=utf-8n";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Transfer-Encoding: 8bitrn";
$headers .= "X-Mailer: PHP v.".phpversion();
mail($email, $subject, $mail, $headers);
$_SESSION['login_reg'] = $login;
$_SESSION['pass_reg'] = $pass2;
header ("Location: reg.php?reg=2&".session_name()."=".session_id()."");
}
}
####################
if(@$_GET['reg'] == 2)
{
include '../../themes/'.$themes.'.php';
echo'<p class="modul_name">Регистрация прошла успешно<br /></p>';
echo"<p class="b">";
echo"Ваши данные для входа:<br />Логин: $_SESSION[login_reg]<br />Пароль: $_SESSION[pass_reg]<br /><br />";
echo"Данные для входа отправлены вам на e-mail<br /><br />";
echo"Для автоматического входа в систему добавьте в закладки ссылку:<br />";
echo"<input name="avtologin" value="$home/modules/kabinet/vhod.php?login=$_SESSION[login_reg]&pass=$_SESSION[pass_reg]" /><br />";
$in_login = $_SESSION['login_reg'];
$in_pass = md5(md5(filter($_SESSION['pass_reg'])));
$home_url = str_replace('http://','',$home);
setcookie('copass', $in_pass, time()+3600*24*365, '/', $home_url);
setcookie('cologin', $in_login, time()+3600*24*365, '/', $home_url);
unset($_SESSION['login_reg']);
unset($_SESSION['pass_reg']);
$_SESSION['login'] = $in_login;
$_SESSION['pass'] = $in_pass;
echo"<a href="index.php?".session_name()."=".session_id()."">Войти в кабинет</a><br />";
echo'</p>';
include('../../templates/foot.php');
}
####################
?>