Вход Регистрация
Файл: pages/plugins/ulogin.php
Строк: 306
<?php

#    by Saint and ulogin
include_once '../../sys/inc/start.php';
include_once 
'../../sys/inc/compress.php';
include_once 
'../../sys/inc/sess.php';
include_once 
'../../sys/inc/home.php';
include_once 
'../../sys/inc/settings.php';
include_once 
'../../sys/inc/db_connect.php';
include_once 
'../../sys/inc/ipua.php';
include_once 
'../../sys/inc/fnc.php';
$show_all = true;
$input_page = true;
$reg_set = 2;
include_once 
H . 'sys/inc/user.php';
include_once 
H . 'sys/inc/shif.php';

/**
 * @param string $first_name
 * @param string $last_name
 * @param string $nickname
 * @param string $bdate (string in format: dd.mm.yyyy)
 * @param array $delimiters
 * @return string
 */
function userExist($nick = null) {
    
$nick_count = count::query('user', "`nick` = '" . $nick . "'");
    if (
$nick_count == 1) {
        return 
true;
    } else {
        return 
null;
    }
}

function 
nick_gen($first_name, $last_name = "", $nickname = "", $bdate = "", $delimiters = array('.', '_')) {
    
$delim = array_shift($delimiters);

    
$first_name = retranslit($first_name);
    
$first_name_s = substr($first_name, 0, 1);

    
$variants = array();
    if (!empty(
$nickname))
        
$variants[] = $nickname;
    
$variants[] = $first_name;
    if (!empty(
$last_name)) {
        
$last_name = retranslit($last_name);
        
$variants[] = $first_name . $delim . $last_name;
        
$variants[] = $last_name . $delim . $first_name;
        
$variants[] = $first_name_s . $delim . $last_name;
        
$variants[] = $first_name_s . $last_name;
        
$variants[] = $last_name . $delim . $first_name_s;
        
$variants[] = $last_name . $first_name_s;
    }
    if (!empty(
$bdate)) {
        
$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];
    }
    
$i = 0;

    
$exist = true;
    while (
true) {
        if (
$exist = userExist($variants[$i])) {
            foreach (
$delimiters as $del) {
                
$replaced = str_replace($delim, $del, $variants[$i]);
                if (
$replaced !== $variants[$i]) {
                    
$variants[$i] = $replaced;
                    if (!
$exist = userExist($variants[$i])) {
                        break;
                    }
                }
            }
        }
        if (
$i >= count($variants) - 1 || !$exist)
            break;
        
$i++;
    }

    if (
$exist) {
        while (
$exist) {
            
$nickname = $first_name . mt_rand(1, 999);
            
$exist = userExist($nickname);
        }
        return 
$nickname;
    } else
        return 
$variants[$i];
}

if (isset(
$user)) {
    
$_SESSION['message'] = lang('Вы уже авторизованы');
    exit(
header("Location: /"));
}



if (isset(
$_POST['token'])) {
    
$arr = api_Login::arr(@$_POST['token']);
}

if (
$arr == null) {
    
$_SESSION['message'] = lang('Ошибка сервер ulogin не доступен');
    exit(
header("Location: /"));
}


if (
$arr['error'] != null) {
    
$_SESSION['message'] = lang('При авторизации произошла ошибка');
    exit(
header("Location: /"));
}



$us_count = count::query('ulogin', "`identity` = '" . $arr['identity'] . "'");


if (
$us_count == 1) {
    
$uid = mysql_fetch_assoc(query("SELECT `id_user` FROM `ulogin` WHERE `identity` = '" . $arr['identity'] . "' and `network` = '" . $arr['network'] . "' LIMIT 1"));

    
$user = get_user($uid['id_user']);
    
$_SESSION['id_user'] = $user['id'];


    
//Загрузка дополнительных плагинов
    
$Search = glob(H . 'sys/login/*.php');
    foreach (
$Search as $load_plugins) {
        include_once 
$load_plugins;
    }

    if (!
is_file(H . 'files/avatars/' . $user['id'] . '.png') and $set['soc_ava_reset'] == 1) {
        
//загружаем класс для работы с изображениями 
        
require_once H . "sys/inc/ImgType.class.php";

        
//класс для работы с файлом изображения 
        
$image = new ImgType();
        
//сам файл
        
$image->load($arr['photo_big']);
        
//размеры
        //  $image->resize($wPic,$hPic); 
        
$image->resizeToWidth($set['avatar_s']);
        
//сохраняем под ...
        
$image->save(H . 'files/avatars/' . $user['id'] . '.png');
    }

    
query("INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`) values('$user[id]', '" . time() . "', '$user[ua]' , '$user[ip]', '3')");
    
cache_delete::user($user['id']);
    exit(
header("Location: /user/start"));
}


$nick = nick_gen($arr['first_name'], $arr['last_name'], $arr['nickname'], $arr['bdate']);
$nick = str_replace(array('.', '-', '—', ' '), '_', trim($nick));
$nick_count = count::query('user', "`nick` = '" . $nick . "'");
if (
$nick_count == 1)
    
$nick = $nick . '_' . time();
$pass = md5(passgen(9));

if (
$arr['sex'] == 2)
    
$pol = 1;
else
    
$pol = 0;


query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`,`pass_time`,`ank_name`,`ank_family`,`ank_mail`,`ank_city`,`ank_countr`,`soc_nick`
) VALUES
('" 
. my_esc($nick) . "', '" . shif($pass) . "', '" . time() . "', '" . time() . "', '" . $pol . "','" . (time() + 99999999999) . "',
'" 
. $arr['first_name'] . "','" . $arr['last_name'] . "','" . $arr['email'] . "','" . $arr['city'] . "','" . $arr['country'] . "','1')");

$id = mysql_insert_id();
$key = $pass;
if (
$arr['manual'] == null)
    
$arr['manual'] = null;
query("
INSERT INTO `ulogin` (
`time` ,
`id_user` ,
`ip` ,
`ank_name` ,
`ank_family` ,
`key` ,
`network` ,
`identity` ,
`profile` ,
`uid`,`manual`) 
VALUES 
('" 
. time() . "',  '{$id}',  '{$ip}',  '{$arr['first_name']}',  '{$arr['last_name']}',  '{$key}',  '{$arr['network']}',  '{$arr['identity']}',  '{$arr['profile']}',  '{$arr['uid']}'
,'
{$arr['manual']}');");

$user = get_user($id);
$_SESSION['id_user'] = $user['id'];

setcookie('id_user', $user['id'], time() + 60 * 60 * 24 * 365);
setcookie('pass', cookie_encrypt($pass, $user['id']), time() + 60 * 60 * 24 * 365);



query("UPDATE `user` SET 
    `mylink` = 'id" 
. $user['id'] . "' ,
    `browser` = '" 
. ($webbrowser == 'web' ? 'web' : 'wap') . "' 
    WHERE `id` = " 
. $user['id']);

$_SESSION['message'] = lang('Регистрация прошла успешно,добро пожаловать на сайт');

$Search = glob(H . 'sys/reg/*.php');
foreach (
$Search as $load_plugins) {
    
sort($Search);
    include_once 
$load_plugins;
}


//загружаем класс для работы с изображениями 
require_once H . "sys/inc/ImgType.class.php";
@
unlink(H . "files/avatars/$user[id].png");

//класс для работы с файлом изображения 
$image = new ImgType();
//сам файл
$image->load($arr['photo_big']);
//размеры
//  $image->resize($wPic,$hPic); 
$image->resizeToWidth($set['avatar_s']);
//сохраняем под ...
$image->save(H . 'files/avatars/' . $user['id'] . '.png');


cache_delete::user($user['id']);
exit(
header("Location: /"));
?>
Онлайн: 1
Реклама