1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
<?php
namespace hji\users\controllers;
class SocialAuth
{
private static $_instance;
private $userProfile;
private function __construct()
{
if (isset($_POST['response']))
{
$this->_handleResponse($_POST['response']);
}
}
static function getInstance()
{
if (!self::$_instance)
{
self::$_instance = new SocialAuth();
}
return self::$_instance;
}
protected function _handleResponse($response)
{
$data = json_decode($response);
if (isset($data->success) && $data->success == true && isset($data->result))
{
$this->setUserProfile($data->result);
}
}
function setUserProfile($userObject)
{
$userProfile = new \stdClass;
$userProfile->id = $userObject->id;
$userProfile->provider = $userObject->provider;
$userProfile->photo = isset($userObject->photo) ? $userObject->photo : null;
$userProfile->displayName = isset($userObject->displayName) ? $userObject->displayName : null;
$userProfile->firstName = isset($userObject->firstName) ? $userObject->firstName : null;
$userProfile->lastName = isset($userObject->lastName) ? $userObject->lastName : null;
$userProfile->email = isset($userObject->email) ? $userObject->email : null;
$userProfile->phone = isset($userObject->phone) ? $userObject->phone : null;
$userProfile->gender = isset($userObject->gender) ? $userObject->gender : null;
$userProfile->language = isset($userObject->language) ? $userObject->language : null;
$this->userProfile = $userProfile;
}
function getUserProfile()
{
return $this->userProfile;
}
}