Iiieva
Участник
Подскажите как сделать что бы реферу выдавало награду и за рефералов 2 и 3 уровня, щас выдает только за рефералов 1 уровня
Код:
<?PHP
$_OPTIMIZATION["title"] = "Регистрация";
$_OPTIMIZATION["description"] = "Регистрация пользователя в системе";
$_OPTIMIZATION["keywords"] = "Регистрация нового участника в системе";
if(isset($_SESSION["user_id"])){ Header("Location: /store"); return; }
?>
<div class="slim-pageheader">
<ol class="breadcrumb slim-breadcrumb">
<li class="breadcrumb-item"><a href="#">Главная</a></li>
<li class="breadcrumb-item active" aria-current="page">Регистрация</li>
</ol>
<h6 class="slim-pagetitle">Создание аккаунта</h6>
</div>
<?PHP
# Регистрация
if(isset($_POST["create"])){
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
$max=10;
$size=StrLen($chars)-1;
$paypass = null;
while($max--)
$paypass .= $chars[rand(0,$size)];
$login = $func->IsLogin($_POST["login"]);
$name = strip_tags($_POST["name"]);
$pass = $func->IsPassword($_POST["pass"]);
$rules = isset($_POST["rules"]) ? true : false;
$time = time();
$date = time();
$ip = $func->UserIP;
$ipregs = $db->Query("SELECT * FROM `db_users_a` WHERE INET_NTOA(db_users_a.ip) = '$ip' ");
$ipregs = $db->NumRows();
$email = $func->IsMail($_POST["email"]);
$referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
$referer_name = "";
if($referer_id != 1){
$db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
if($db->NumRows() > 0){
$referer_name = $db->FetchRow();
}else{ $referer_id = 1; $referer_name = "-"; }
}else{ $referer_id = 1; $referer_name = "-"; }
if($email !== false){
if($login !== false){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
if($db->FetchRow() == 0){
if($ipregs == 0) {
if($pass !== false){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){
/* Реф 3 уровня ================== */
$db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
$stats_data = $db->FetchArray();
$referer_name2=$stats_data["referer"];
$referer_id2=$stats_data["referer_id"];
$db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$referer_id2' LIMIT 1");
$stats_data3 = $db->FetchArray();
$referer_name3=$stats_data3["referer"];
$referer_id3=$stats_data3["referer_id"];
/* ================== */
preg_match('/([a-z0-9aа-я\.])+([a-z0-9а-я\-])+(\.)([a-z0-9а-я]{2,5}\.)?([a-z0-9а-я]{2,5})/i',$_COOKIE['rsite'], $out);
$out=$db->RealEscape($out[0]);
# Регаем пользователя
$db->Query("INSERT INTO db_users_a (user, name, email, paypass, pass, referer, referer_id, referer_id2, referer_id3, date_reg, refsite, ip)
VALUES ('$login','$name','{$email}','$paypass','$pass','$referer_name','$referer_id','$referer_id2','$referer_id3','$time','$out',INET_ATON('$ip'))");
// получатель
$to = $email;
// Тема
$subject = 'Регистрация аккаунта на сайте NodTex.ru';
// Сообщение
$message = "
<html>
<head >
<title>Успешная регистрация в проекте NodTex.ru</title>
</head>
<body>
<center>
<font size='5'>Спасибо за регистрацию на нашем проекте NodTex.ru!</font>
<p>На ваш баланс аккаунта $login зачислено 10 рублей.</p>
<hr>
<p><b>Ваши данные для входа в аккаунт:</b></p>
<p><small>Электронная почта: $email<br>
Пароль: $pass</small></p>
</center>
</body>
</html>
";
// Указываем правильный MIME-тип сообщения:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers.= "Content-type: text/html; charset=Windows-1251\r\n";
$headers.= "Date: ".date("m.d.Y (H:i:s)",time())."\r\n";
$headers.= "From: support@nodtex.ru \r\n";
// Отправляем сообщение
mail($to, $subject, $message, $headers);
$lid = $db->LastInsert();
$db->Query("INSERT INTO db_users_b (id, user, money, last_sbor) VALUES ('$lid','$login','0', '".time()."')");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox, icon) VALUES ('$referer_id', '$referer_name', '1', 'Admin', 'У вас появился новый реферал', 'У вас появился новый реферал! Ник реферала: $login', '0', '$date', 1, 'square-10 bg-purple')");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox, icon) VALUES ('$lid', '$login', '1', 'Admin', 'Добро пожаловать', 'Добро пожаловать! Для начала вам рекомендуется инвестировать в выбранный вами тариф.', '0', '$date', 1, 'square-10 bg-teal')");
$db->Query("INSERT INTO db_logs (user_id, user, theme, date, bg, icon) VALUES ('$lid', '$login', 'Зарегистрировался', '$date', 'noavatar.png', 'square-8 bg-info mg-r-5 rounded-circle')");
$db->Query("INSERT INTO db_store (user_id, honey, honey_lvl) VALUES ('$lid','0','0')");
# +100 серебра рефереру за рефа
if (empty($referer_name)){
//echo "Пусто, ничего не делаем!";
}
else
{
$db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$lid' ");
$ref_bonus = $db->FetchArray();
$user_name = $ref_bonus["referer"];
$ref_id = $ref_bonus["referer_id"];
$db->Query("UPDATE db_users_b SET money = money +1 WHERE user = '$user_name' AND id = '$ref_id' ");
}
# Вставляем статистику
$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
$db->Query("SELECT * FROM db_users_a WHERE id = '$lid'");
$log_data = $db->FetchArray();
$db->Query("UPDATE db_users_a SET date_login = '".time()."', ip = INET_ATON('".$func->UserIP."') WHERE id = '".$log_data["id"]."'");
$_SESSION["user_id"] = $log_data["id"];
$_SESSION["user"] = $log_data["user"];
$_SESSION["referer_id"] = $log_data["referer_id"];
Header("Location: /profile");
?>
<?PHP
return;
}else echo "<center><b><div class ='alert alert-danger'>Указанный логин уже используется!</div></b></center><BR />";
}else echo "<center><b><div class ='alert alert-danger'>Пароль заполнен неверно!</div></b></center><BR />";
}else echo "<center><b><div class ='alert alert-warning'>Регистрация с этого IP или компьютера уже производилась!</div></b></center><BR />";
}else echo "<center><b><div class ='alert alert-warning'>С данной электронной почтой уже регистрировались!</div></b></center><BR />";
}else echo "<center><b><div class ='alert alert-danger'>Логин заполнен неверно!</div></b></center><BR />";
}else echo "<center><div class ='alert alert-danger'>Email имеет неверный формат!</div></center>";
if($emailregs == 0) {
if($rules){
if($email !== false){
if($login !== false){
if($pass !== false){
if($pass !== false){
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
if($db->FetchRow() == 0){
# Регаем пользователя
$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
$lid = $db->LastInsert();
$db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor, money_b) VALUES ('$lid','$login','0', '".time()."',100)");
# Вставляем статистику
# +100 серебра рефереру за рефа
if (empty($referer_name)){
//echo "Пусто, ничего не делаем!";
}
else
{
$db->Query("SELECT referer, referer_id FROM db_users_a WHERE id = '$lid' ");
$ref_bonus = $db->FetchArray();
$user_name = $ref_bonus["referer"];
$ref_id = $ref_bonus["referer_id"];
$db->Query("UPDATE db_users_b SET money = money +1 WHERE user = '$user_name' AND id = '$ref_id' ");
}
$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
echo "<center><b><font color = 'green'>Вы успешно зарегистрировались.</font></b></center><BR />";
?></div>
<div class="clr"></div>
<?PHP
return;
}else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
}else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
}else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
}else echo "<center><font color = 'red'><b>Указанный Email уже есть в нашей базе!</b></font></center>";
}
?>
<div class="section-wrapper">
<center><label class="section-title">Придумайте данные для своего аккаунта</label>
<p class="mg-b-20 mg-sm-b-40">Создавать более одного аккаунта строго запрещено!</p></center>
<form method="POST" action="">
<div class="form-layout">
<div class="row mg-b-25">
<div class="col-lg-6">
<div class="form-group">
<label class="form-control-label">Имя:</label>
<input class="form-control" type="text" name="name" placeholder="Введите имя">
</div>
</div><!-- col-4 -->
<div class="col-lg-6">
<div class="form-group">
<label class="form-control-label">Логин: <span class="tx-danger">*</span></label>
<input class="form-control" type="text" minlength="5" name="login" maxlength="12" placeholder="Введите логин">
</div>
</div><!-- col-4 -->
<div class="col-lg-6">
<div class="form-group">
<label class="form-control-label">Email: <span class="tx-danger">*</span></label>
<input class="form-control" type="text" name="email" placeholder="Введите email">
</div>
</div><!-- col-4 -->
<div class="col-lg-6">
<div class="form-group">
<label class="form-control-label">Пароль: <span class="tx-danger">*</span></label>
<input type="password" class="form-control" name="pass" placeholder="Введите пароль">
</div>
</div><!-- col-8 -->
</div><!-- row -->
<div class="form-layout-footer">
<tr>
<td colspan="2" align="left" style="padding:3px;">
<center><h5>С <a href="/rules" target="_blank" class="stn">правилами/условиями</a> проекта ознакомлен(а) и принимаю: <input name="rules" type="checkbox" /></h5></center></td>
</tr>
<button class="btn btn-primary bd-0 btn-lg" type="submit" name="create" style="width: 100%;">Создать аккаунт</button>
</div><!-- form-layout-footer -->
</div><!-- form-layout -->
</form>
</div>