Файл: wapxl.ru/in_soc.php
Строк: 229
<?php
require_once ('shaxty.php');
$title = 'Авторизация';
$align = 'left';
$head = '<b>Авторизация</b><br />';
include_once ('shaxty/head.php');
$s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
$json_user = json_decode($s, true);
//$json_user['network'] - соц. сеть, через которую авторизовался пользователь
//$json_user['identity'] - уникальная строка определяющая конкретного пользователя соц. сети
//$json_user['first_name'] - имя пользователя
//$json_user['last_name'] - фамилия пользователя
/*
{"first_name":"Иоганн Вольфганг фон", "last_name":"Гёте",
"email":"goethe@yandex.ru", "network":"vkontakte", "profile":"http://vk.com/goethe",
"uid":3, "identity":"http://vk.com/id3", "manual":{}, "verified_email":-1}
*/
if (!empty($json_user) and !isset($json_user['error'])){
// echo $json_user['network']."<br />";
//echo $json_user['identity']."<br />";
//echo $json_user['first_name']."<br />";
//echo $json_user['last_name']."<br />";
//echo $json_user['email']."<br />";
//echo $json_user['profile']."<br />";
//echo $json_user['uid']."<br />";
//echo $json_user['verified_email']."<br />";
//echo "<br />";
//
// Проверяем регистрацию пользователя в этой соц сети
$ulogin= core::$db -> queryFetch("SELECT * FROM `in_ulogin` WHERE `in_network` = '".$json_user['network']."' AND `uid` = '".$json_user['uid']."';");
if ($ulogin != 0) { // Авторизуем пользователя
$reg_ok= core::$db -> queryFetch("SELECT * FROM `users` WHERE `id` = '".$ulogin['user_id']."';");
$cookid = base64_encode($reg_ok['id']);
$cookps = $ulogin['seed'];
setcookie("cookid", $cookid, core::$realtime + 3600 * 24 * 365, "/");
setcookie("cookps", $cookps,core::$realtime + 3600 * 24 * 365, "/");
$_SESSION['sesid'] = $reg_ok['id'];
$_SESSION['sespass'] = md5($ulogin['seed']);
header('Location: '.H.'index.php');
}else{ // Регистрируем нового пользователя
$reg_nick = $json_user['first_name']; //ник
// Проверка, занят ли ник
$b= core::$db -> queryFetch("SELECT * FROM `users` WHERE `user`=?;", array($reg_nick));
if ($b != 0) { // Если занят, подбираем новый
$bdate = date("d.m.Y",core::$realtime);
$first_name = $json_user['first_name'];
$last_name = $json_user['last_name'];
$delimiters=array('.', '_');
$delim = array_shift($delimiters);
$date = explode('.', $bdate);
$variants[] = $first_name.$date[2];
$variants[] = $first_name.$delim.$date[2];
$variants[] = $first_name.$date[0].$date[1];
$variants[] = $first_name.$delim.$date[0].$date[1];
$variants[] = $first_name.$delim.$last_name.$date[2];
$variants[] = $first_name.$delim.$last_name.$delim.$date[2];
$variants[] = $first_name.$delim.$last_name.$date[0].$date[1];
$variants[] = $first_name.$delim.$last_name.$delim.$date[0].$date[1];
$variants[] = $last_name.$delim.$first_name.$date[2];
$variants[] = $last_name.$delim.$first_name.$delim.$date[2];
$variants[] = $last_name.$delim.$first_name.$date[0].$date[1];
$variants[] = $last_name.$delim.$first_name.$delim.$date[0].$date[1];
$variants[] = $first_name_s.$delim.$last_name.$date[2];
$variants[] = $first_name_s.$delim.$last_name.$delim.$date[2];
$variants[] = $first_name_s.$delim.$last_name.$date[0].$date[1];
$variants[] = $first_name_s.$delim.$last_name.$delim.$date[0].$date[1];
$variants[] = $last_name.$delim.$first_name_s.$date[2];
$variants[] = $last_name.$delim.$first_name_s.$delim.$date[2];
$variants[] = $last_name.$delim.$first_name_s.$date[0].$date[1];
$variants[] = $last_name.$delim.$first_name_s.$delim.$date[0].$date[1];
$variants[] = $first_name_s.$last_name.$date[2];
$variants[] = $first_name_s.$last_name.$delim.$date[2];
$variants[] = $first_name_s.$last_name.$date[0].$date[1];
$variants[] = $first_name_s.$last_name.$delim.$date[0].$date[1];
$variants[] = $last_name.$first_name_s.$date[2];
$variants[] = $last_name.$first_name_s.$delim.$date[2];
$variants[] = $last_name.$first_name_s.$date[0].$date[1];
$variants[] = $last_name.$first_name_s.$delim.$date[0].$date[1];
function userExist($var){
$bvar= core::$db -> queryFetch("SELECT * FROM `users` WHERE `user`=?;", array($var));
if ($bvar > 0) return false;
else return true;
}
$exist = true;
for($i=0; $i<count($variants); $i++)
{
if(userExist($variants[$i]) == true){
break;
}
}
//$reg_nick = $json_user['first_name'].'_'.$json_user['last_name'].'_'.$toY;
$reg_nick = $variants[$i];
}
$lat_nick=func::rus_utf_tolower(clearstr(func::retranslit(func::del(func::checkin($reg_nick))))); //логин
//echo $reg_nick."<br />";
//
//echo $lat_nick."<br />";
$today = date("d-m-Y", core::$realtime);
$reg_p = func::generate_password(8);
$reg_pass = md5($reg_p);
$pass = md5($reg_pass);
if(!empty($json_user['email']))$json_user['email'] = $json_user['email'];
else $json_user['email'] = 'NULL';
$dbi = core::$db -> prepare("INSERT INTO `users` SET `user`=?, `ruser`=?, `pass`=?, `name`=?, `user_ip`=?, `user_soft`=?, `date`=?, `regday`=?, `email_session`=?");
$dbi -> execute($reg_nick,$lat_nick,$pass,$json_user['first_name'],core::$ipp,core::$agn,core::$realtime,$today,session_id());
$usid = core::$db -> lastInsertId();
// echo $json_user['network']."<br />";
//echo $json_user['identity']."<br />";
//echo $json_user['first_name']."<br />";
//echo $json_user['last_name']."<br />";
//echo $json_user['email']."<br />";
//echo $json_user['profile']."<br />";
//echo $json_user['uid']."<br />";
//echo $json_user['verified_email']."<br />";
//echo "<br />";
//
$dbiu = core::$db -> prepare("INSERT INTO `in_ulogin` SET `in_network`=?, `uid`=?, `seed`=?, `user_id`=?, `email`=?, `identity`=?, `first_name`=?, `last_name`=?");
$dbiu -> execute($json_user['network'],$json_user['uid'],$reg_pass,$usid,$json_user['email'],$json_user['identity'],$json_user['first_name'],$json_user['last_name']);
//$cookid = base64_encode($usid);
//$cookps = md5($reg_pass);
//setcookie("cookid", $cookid, core::$realtime + 3600 * 24 * 365, "/");
//setcookie("cookps", $cookps,core::$realtime + 3600 * 24 * 365, "/");
//
//$_SESSION['sesid'] = $usid;
//$_SESSION['sesps'] = md5(md5($reg_pass));
//
echo '<div class="col-md-8 col-sm-12 col-xs-12">
<div class="panel panel-default">';
echo ' <div class="panel-heading"> <b>Вы успешно зарегистрированы!</b></div>
<div class="panel-body">';
echo " Пожалуйста запомните ваши данные для входа:<br />";
echo "Ваш ID: <b>".$usid."</b><br/>";
echo "Ваш Ник: <b>".$reg_nick."</b><br/>";
echo "Ваш Пароль: <b>".$reg_p."</b> (сгенерирован автоматически)<br/><br />";
echo "Вы можете входить на сайт используя эти данные или через выбраную вами соц-сеть (".$json_user['network'].").<br/>";
echo '<br /><a href="in.php?nick='.$usid.'&ps='.$reg_p.'" class="href">Войти на сайт</a><br /><br />';
echo '</div></div>';
}
}
include_once ('shaxty/foot.php');
?>