Вход Регистрация
Файл: bloodlands.pw/vklogin.php
Строк: 96
<?
require 'system/db_conn.php';

//print_r($_GET);
$app_id = '3952082'; //в настройках приложения
$secret_key = 'gAZwAbzz4swIeBiBjxxV'; //в настройках приложения

$redirect_url = urlencode($_SERVER['SERVER_NAME'] . '/vklogin.php');

if (isset(
$_REQUEST['code'])) {
    
$url = "https://api.vkontakte.ru/oauth/access_token?client_id={$app_id}&client_secret={$secret_key}&code=" . $_REQUEST['code'];
    
$response = json_decode(@file_get_contents($url));
    
$arrR = json_decode(@file_get_contents("https://api.vkontakte.ru/method/users.get?uid={$response->user_id}&access_token={$response->access_token}&fields=uid,first_name,last_name,nickname,screen_name,sex,bdate,city,country,photo_big"))->
        
response;
    
$num = mysql_query("SELECT * FROM `users` WHERE `vk_id`='{$response->user_id}'");

    if (isset(
$arrR) && !empty($arrR) && mysql_num_rows($num) == 0) {
        
$arr = array();

        
$pass = passgen(8);

        
$arr['ank_name'] = $arrR[0]->first_name;
        
$arr['user'] = $arrR[0]->screen_name;
        
$nickq = mysql_query('SELECT `id` FROM `users` WHERE LOWER(`user`) = LOWER('' . $arr['user'] . '')');
        while (
mysql_num_rows($nickq) > 0) {
            
$arr['user'] = $arrR[0]->screen_name . mt_rand(1, 100);
            
$nickq = mysql_query('SELECT `id` FROM `users` WHERE LOWER(`user`) = LOWER('' . $arr['user'] . '')');
        }
        
$arr['pass'] = shif($pass);
        
$arr['vk_id'] = $response->user_id;

        
$sex = $arrR[0]->sex;
        if (
$sex == 1)
            
$arr['pol'] = 0;
        else
            
$arr['pol'] = 1;

        
$bdate = isset($arrR[0]->bdate) ? explode('.', $arrR[0]->bdate) : array();
        
$arr['ank_d_r'] = isset($bdate[0]) ? $bdate[0] : null;
        
$arr['ank_m_r'] = isset($bdate[1]) ? $bdate[1] : null;
        
$arr['ank_g_r'] = isset($bdate[2]) ? $bdate[2] : null;

        
$city = $arrR[0]->city;
        
//$country = $arr[0]->country;
        
$photo = $arrR[0]->photo_big;

        
$arrR = json_decode(@file_get_contents("https://api.vkontakte.ru/method/places.getCityById?cids={$city}&access_token={$response->access_token}"))->
            
response;
        
$arr['ank_city'] = $arrR[0]->name;
        
$arr['date_reg'] = time();

        
$key = $val = array();
        foreach (
$arr as $k => $v) {
            
$key[] = "`$k`";
            
$val[] = "'$v'";
        }
        
$keys = implode(', ', $key);
        
$vals = implode(', ', $val);

        
$q = mysql_query("INSERT INTO `users`($keys) VALUES($vals)");
        
$q = mysql_query("SELECT LAST_INSERT_ID() as `last_id` FROM `users` LIMIT 1");
        
$id = mysql_fetch_assoc($q);
        
$photop = pathinfo($photo);
        
$photo = file_get_contents($photo);
        
$photo_path = H . 'modules/photo/' . $id['last_id'] . '.' . $photop['extension'];
        if (
file_exists($photo_path))
            
unlink($photo_path);
        
file_put_contents($photo_path, $photo);

        
$num = mysql_query("SELECT * FROM `users` WHERE `vk_id`='{$response->user_id}'");
        
auth_vk();
        
header('Location: /info.php');
    } elseif (
mysql_num_rows($num) > 0) {
        
auth_vk();
        
header('Location: /info.php');
    }
}
function 
auth_vk() {
    global 
$num;
    
$user = mysql_fetch_assoc($num);
    
$_SESSION['id_user'] = $user['id'];

    if (isset(
$_POST['aut_save']) && $_POST['aut_save'] == 1) {
        
setcookie('id_user', $user['id'], time() + 60 * 60 * 24 * 365);
        
setcookie('pass', cookie_encrypt($_POST['pass'], $user['id']), time() + 60 * 60 * 24 * 365);
    }
    
mysql_query("UPDATE `users` SET `date_aut` = " . time() . " WHERE `id` = '$user[id]' LIMIT 1");
    
mysql_query("UPDATE `users` SET `date_last` = " . time() . " WHERE `id` = '$user[id]' LIMIT 1");
}

function 
returnLink() {
    global 
$app_id, $redirect_url;
    echo 
'<a href="http://api.vkontakte.ru/oauth/authorize?client_id=' . $app_id . '&scope=offline&redirect_uri=' . $redirect_url . '&response_type=code&display=touch"></a>VK';
}
?>
Онлайн: 3
Реклама