View file xmyx.ru/auth/inc/facebook.php

File size: 2.35Kb
<?php
/*
API aвтopизaции чepeз coц.ceти
Aвтop: Neo
*/

//==================================================//
function AuthUrl($redirect=""){
global $api;
if(empty($api["scope"]))$scope="email,user_birthday"; else $scope=$api["scope"];
if($scope)$scope=trim(strtolower($scope));
$url="https://www.facebook.com/dialog/oauth?client_id=".$api["client_id"]."&redirect_uri=".urlencode($redirect)."&scope=".urlencode($scope)."&response_type=code&state=profile";
return $url;
};
//==================================================//
function GetOAuthToken($code,$redirect=""){
global $api;
$data=array();
$url="https://graph.facebook.com/oauth/access_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;
$param=array();

$url="https://graph.facebook.com/me";
$param["fields"]="id,name,first_name,last_name,link,gender,birthday,picture";
$param["access_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["name"])){
$data["name"]=$info["name"];
};
$data["link"]=$info["link"];
$data["sex"]=$info["gender"]=="female"?1:2;
$data["bdate"]=$info["birthday"];
if(isset($info["birthday"])){
$data["birthday"]=date("Y-m-d", strtotime($info["birthday"]));
};
$data["photo_small"]=$info["picture"]["data"]["url"];
$data["photo"]="http://graph.facebook.com/".$info["id"]."/picture?type=large";
if(isset($info["username"])){
$data["nick"]=$info["username"];
};
};

return $data;
};
//==================================================//
?>