Вход Регистрация
Файл: mydcms.tk/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(1100);
            
$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 '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';
}
?>
Онлайн: 4
Реклама