<?php
session_start();
header( 'Content-type: text/html; charset=windows-1251' );
error_reporting( 1 );
require($_SERVER['DOCUMENT_ROOT']."/sfb.php");
require($_SERVER['DOCUMENT_ROOT']."/class/class_mail.php");

$id_user = (isset($_SESSION["iduser"]) && preg_match("|^[\d]{1,11}$|", trim($_SESSION["iduser"]))) ? intval(trim($_SESSION["iduser"])) : false;

if(isset($_SESSION['iduser'])) { exit(); }
if(!isset($_POST['func'])) { exit(); }
if($_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest") { exit(); }

// информация о реферере
if($_POST['func'] == "ref_info") {
if(isset($_COOKIE["referer"])) { 
$cref = intval($_COOKIE["referer"]); 
$sql = mysql_query("SELECT `username` FROM `b_users` WHERE id='$cref'") or die(mysql_error());
if(mysql_num_rows($sql) > 0){
$row = mysql_fetch_assoc($sql);
echo $row["username"];
}else{
echo "Отсутствует";exit();}
}else{
echo "Отсутствует";exit();}
}
$ref_site = getHost($_COOKIE["ref_site"]);
// поиск логина
if($_POST['func'] == "search_login") {
$username = uc($_POST["regname"]);
$checkuser = mysql_query("SELECT `username` FROM `b_users` WHERE `username` = '$username'");
$username_exist = mysql_num_rows($checkuser);
if($username_exist > 0){ echo "Логин уже используеться";exit();}
}

// поиск e-mail
if($_POST['func'] == "ver_email") {
$email = strtolower($_POST["email"]);
$checkemail = mysql_query("SELECT `email` FROM `b_users` WHERE `email` = '$email'");
$email_exist = mysql_num_rows($checkemail);
if($email_exist > 0){ echo "E-mail уже используеться";exit();
}
}


// регистрация
if($_POST['func'] == "register") {
$username = uc($_POST["regname"]);
$email1 = strtolower(check_email($_POST["email1"]));
$email2 = strtolower(check_email($_POST["email2"]));
$code = intval($_POST["code"]);

if($username == NULL OR $email1 == NULL OR $email2 == NULL OR $code == NULL) {
echo "Заполнены не все поля";exit();
}elseif($email1 != $email2){
echo "E-mail не совпадают";exit();
}elseif(preg_match("/[\<|\>|\"|\'|\%|\;|\(|\)|\&|\:|\=|\{|\}|\@|\*|\s|\.]/is", $username)) {
echo 'Логин содержит недопустимые символы';exit();
}elseif(strlen(iconv('UTF-8', 'windows-1251', $username)) < 5 or strlen(iconv('UTF-8', 'windows-1251', $username)) > 20) {
echo 'Логин должен быть больше 5 и меньше 20 символов'; exit();
}else{
$checkuser = mysql_query("SELECT `username` FROM `b_users` WHERE `username` = '$username'") or die(mysql_error());
$username_exist = mysql_num_rows($checkuser);
    
$checkemail = mysql_query("SELECT `id` FROM b_users WHERE `email` = '$email1'") or die(mysql_error());
$email_exist = mysql_num_rows($checkemail);

$ip = getRealIP();
$ip_exist = NULL;
if($ip != "127.0.0.1") {
$ip_exist = mysql_num_rows(mysql_query("SELECT `id` FROM `b_users` WHERE `lastiplog`='$ip'"));}
if($username_exist > 0){
echo 'Логин уже используеться';exit();
}elseif($email_exist > 0){
echo 'E-mail уже используеться';exit();
}elseif($ip_exist > 0){
echo 'Использование мультиаккаутов запрещено';exit();
}elseif($_SESSION["reg_hash"] != md5($code)){
echo 'Неверный код с картинки';exit();
}elseif(!preg_match("/^(?:[a-z0-9]+(?:[-_]?[a-z0-9\.\-\_]+)?@[a-z0-9]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i", substr($email1, 0, 50))) {
echo 'Неверно введен E-mail';exit();
}else{
$password = generate_password(9);
$body = "Здравствуйте.<br />Вы успешно зарегистрировались на $sitename.<br />
Для входа на сайт используйте следующие данные: <br />
E-Mail: $email1<br />
Пароль: $password<br />
Ваше имя: $username<br />С Уважением, Администрация сайта <br><br> Это письмо отправлено автоматически. На него отвечать не нужно.<br>";
$mail = new Mail($email); // Создаём экземпляр класса
$mail->setFromName($sitename); // Устанавливаем имя в обратном адресе
if ($mail->send($email1, "Регистрация на ".$sitename, $body)) {

$referer = (isset($_COOKIE["referer"]) && intval($_COOKIE["referer"])) ? intval($_COOKIE["referer"]) : false;
$checkref = mysql_query("SELECT `new_rb`, `referer` FROM `b_users` WHERE `id`='$referer'") or die(mysql_error()); 

$referer_exist = mysql_num_rows($checkref);
if ($referer_exist < 1){
$referer = 0;
$new_rb = 0;
$referer2 = 0;
}else{
$ref_row = mysql_fetch_assoc($checkref);
if($ref_row["referer"] > 0) {
$referer2 = $ref_row["referer"];
}
$new_rb = $ref_row["new_rb"];
mysql_query("UPDATE `b_users` SET `referals`=`referals`+'1' WHERE `id`='$referer'") or die(mysql_error());
mysql_query("UPDATE `b_users` SET `reyting`=`reyting`+'$b_referal' WHERE `id`='$referer' AND `reyting` > '".$min_reyt[2]."'") or die(mysql_error());

//ежедневные конкурсы рефералов
$on_comp_day = mysql_result(mysql_query("SELECT `price` FROM `b_config` WHERE `name`='comp_day' AND `type`='1'"),0);
if($on_comp_day == 1){
mysql_query("INSERT INTO `b_comp_day` (`user`,`new_user`,`type`,`data`) VALUES ('$referer','$username','1','".time()."')") or die(mysql_error());
}
//ежедневные конкурсы рефералов
#конкурс от реферера
if($referer2 > 0){
$sql_cr = mysql_query("SELECT `id` FROM `b_ref_comp` WHERE `status`='1' AND `id_user`='$referer2' AND `start_comp`<='".time()."' AND `type`='2'") or die(mysql_error());
if(mysql_num_rows($sql_cr) > 0){
$row_cr = mysql_fetch_assoc($sql_cr);
mysql_query("INSERT INTO `b_ref_comp_data` SET `id_comp`='".$row_cr["id"]."', `id_user`='$referer', `count`='1', `time`='".time()."' ON DUPLICATE KEY UPDATE `count`=`count`+'1'") or die(mysql_error());
}
}
#конкурс от реферера

if($referer != ""){

  $check = mysql_query("SELECT `refbek`,`text` FROM `still_auto_refbek` WHERE `id_us` = '$referer' LIMIT 1");
  if(mysql_num_rows($check) > 0){

    $ref_b=mysql_fetch_assoc($check);

    $allper = $ref_b["refbek"];

    if($ref_b["text"] != ""){
$id_user = mysql_result(mysql_query("SELECT `id` FROM `b_users` ORDER BY `id` DESC LIMIT 1"),0)+1;
$toid = mysql_result(mysql_query("SELECT `username` FROM `b_users` WHERE `id` = '$referer'"),0);
mysql_query("INSERT INTO `b_mails` (`text`,`fromid`,`fromus`,`toid`,`tous`,`timemessage`,`read`) VALUES ('Сообщение от Реферера','sustem','2','$id_user','$username','".time()."','5')") or die(mysql_error());
$ident = mysql_result(mysql_query("SELECT `id` FROM `b_mails` ORDER BY `id` DESC LIMIT 1"),0);
mysql_query("INSERT INTO `b_mails` (`text`,`fromid`,`fromus`,`toid`,`tous`,`timemessage`,`ident`) VALUES ('".$ref_b["text"]."','sustem','2','$id_user','$username','".time()."','$ident')") or die(mysql_error());
    }

  }

}

//ежедневные конкурсы рефералов
$on_comp_day = mysql_result(mysql_query("SELECT `price` FROM `tb_config` WHERE `item`='comp_day' AND `howmany`='1'"),0);
if($on_comp_day == 1){
mysql_query("INSERT INTO `b_comp_day` (`user`,`new_user`,`type`,`data`) VALUES ('$referer','$username','1','".time()."')") or die(mysql_error());
}
//ежедневные конкурсы рефералов
}
$country = strtolower(getCountryByIp($_SERVER["REMOTE_ADDR"]));

if($refererbonus > 0){
$title = "У Вас новый реферал $username.";
mysql_query("UPDATE `b_users` SET `money`=`money` WHERE `id`='$referer'") or die(mysql_error()); 
}else{
$title = "У Вас новый реферал $username";
}
mysql_query("INSERT INTO `tb_allhistory` (`idus`,`data`,`doing`,`title`) VALUES ('$referer','".time()."','3','$title')") or die(mysql_error());

mysql_query("INSERT INTO `b_users` (`username`, `password`, `r_money`, `lastiplog`, `email`, `referer`, `referer2`, `country`, `joindate`, `joindate_str`, `autoproc`, `ref_site`, `cod`, `number`) VALUES('$username','".md5($password)."','$refererbonus','$ip','$email1', '$referer', '$referer2', '$country','".date("d.m.Y")."','".time()."','$new_rb','$ref_site','0','0')") or die(mysql_error());

echo <<<HTML
<div style='font-weight: bold; text-shadow: 0 0 2px rgba(255,188,119,0.4); text-align: center; padding: 10px; margin: 10px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);background:#fff;'><br>
<div style='color: #007fff; font-size: 15px; '>Регистрация прошла успешно</div><br>
<div style='color: #0085a2'>Логин: $username </div><br>
<div style='color: #12A52D'>E-mail: $email1 </div><br> <div style='color: #384041'>Пароль: $password </div><br>
<div style='color: #e32636; font-size: 11px; '>Посетите свой аккаунт в течении 24 часов иначе ваш аккаунт будет удалён из системы.</div><br>
</div>
HTML;
exit();
}else{ echo "Письмо не отправлено";exit();}
}

}	
}
?>