File size: 2.18Kb
<?php
/*
API aвтopизaции чepeз coц.ceти
Aвтop: Neo
*/
//==================================================//
function AuthUrl($redirect=""){
global $api;
$url="https://oauth.yandex.ru/authorize?client_id=".$api["client_id"]."&display=popup&response_type=code";
return $url;
};
//==================================================//
function GetOAuthToken($code,$redirect=""){
global $api;
$data=array();
$url="https://oauth.yandex.ru/token";
$param["client_id"]=$api["client_id"];
$param["client_secret"]=$api["client_secret"];
//$param["redirect_uri"]=$redirect;
$param["code"]=$code;
$param["grant_type"]="authorization_code";
$params=http_build_query($param);
$resp=GetAPI($url,$params,"post");
if(isset($resp["access_token"]))$data["token"]=$resp["access_token"];
if(isset($resp["error"]))$data["error"]=$resp["error"];
if(isset($resp["user_id"]))$data["user"]=$resp["user_id"];
return $data;
};
//==================================================//
function UserInfo($access){
global $api;
$method="users.get";
$param=array();
$url="https://login.yandex.ru/info";
$param["format"]="json";
$param["oauth_token"]=$access["token"];
$params=http_build_query($param);
$resp=GetAPI($url,$params);
$data=array();
if(isset($resp["id"])){
$info=$resp;
$data["id"]=$info["id"];
if((isset($info["first_name"]))&&(isset($info["last_name"]))){
$data["name"]=$info["first_name"]." ".$info["last_name"];
}
elseif((isset($info["first_name"]))&&(!isset($info["last_name"]))){
$data["name"]=$info["first_name"];
}
elseif((!isset($info["first_name"]))&&(isset($info["last_name"]))){
$data["name"]=$info["last_name"];
};
if(isset($info["real_name"])){
$data["name"]=$info["real_name"];
};
$data["email"]=$info["default_email"];
if(isset($info["login"])){
$data["nick"]=$info["login"];
};
$data["sex"]=$info["sex"]=="female"?1:2;
if(isset($info["birthday"])){
$data["birthday"]=date("Y-m-d", strtotime($info["birthday"]));
};
$data["is_photo"]=$info["is_avatar_empty"];
$data["photo_id"]=$info["default_avatar_id"];
if(empty($info["is_avatar_empty"])){
$data["photo"]="https://avatars.yandex.net/get-yapic/".$data["photo_id"]."/islands-200";
};
};
return $data;
};
//==================================================//
?>