public static function generateFromResponse($response, $adapter) { $profile = parent::generateFromResponse($response, $adapter); $uid = static::parser('uid', $response); $profileUrl = $uid ? 'http://ok.ru/profile/' . $uid : ''; $bDate = static::parser('birthday', $response); $firstName = static::parser('first_name', $response); $lastName = static::parser('last_name', $response); $location = static::parser('location', $response); $profile->setIdentifier($uid); $profile->setFirstName($firstName); $profile->setLastName($lastName); $profile->setDisplayName($firstName . ' ' . $lastName); $profile->setProfileURL($profileUrl); $profile->setPhotoURL(static::parser('pic1024x768', $response)); if (isset($location->city)) { $profile->setCity($location->city); } if (isset($bDate)) { $buf = explode('-', $bDate); if (isset($buf[2])) { $profile->setBirthDay(sprintf("%'.02d", $buf[2])); } if (isset($buf[1])) { $profile->setBirthMonth(sprintf("%'.02d", $buf[1])); } if (isset($buf[0])) { $profile->setBirthYear($buf[0]); } } $sex = static::parser('gender', $response); $profile->setGender($sex); return $profile; }
public static function generateFromResponse($response, $adapter) { $profile = parent::generateFromResponse($response, $adapter); $screenName = static::parser('screen_name', $response); $bDate = static::parser('bdate', $response); $firstName = static::parser('first_name', $response); $lastName = static::parser('last_name', $response); $profile->setIdentifier(static::parser('uid', $response)); $profile->setFirstName($firstName); $profile->setLastName($lastName); $profile->setDisplayName($firstName . ' ' . $lastName); $profileUrl = $screenName ? 'http://vk.com/' . $screenName : 'http://vk.com/id' . $profile->getIdentifier(); $profile->setProfileURL($profileUrl); $profile->setPhotoURL(static::parser('photo_max_orig', $response)); if (isset($bDate)) { $buf = explode('.', $bDate); if (isset($buf[0])) { $profile->setBirthDay(sprintf("%'.02d", $buf[0])); } if (isset($buf[1])) { $profile->setBirthMonth(sprintf("%'.02d", $buf[1])); } if (isset($buf[2])) { $profile->setBirthYear($buf[2]); } } $sex = static::parser('sex', $response); if ($sex) { switch ($sex) { case 1: $sex = 'female'; break; case 2: $sex = 'male'; break; default: $sex = null; } } $profile->setGender($sex); return $profile; }
/** * Returns user profile * * Examples: * * $data = $hybridauth->authenticate( "Facebook" )->getUserProfile(); */ function getUserProfile() { // request user infos $response = $this->signedRequest("me"); $response = json_decode($response); if (!isset($response->id) || isset($response->error)) { throw new Exception('User profile request failed: Provider returned an invalid response. ' . 'HTTP client state: (' . $this->httpClient->getState() . ')', Exception::USER_PROFILE_REQUEST_FAILED, $this); } $parser = function ($property) use($response) { return property_exists($response, $property) ? $response->{$property} : null; }; $profile = new Profile(); $profile->setIdentifier($parser('id')); $profile->setFirstName($parser('first_name')); $profile->setLastName($parser('last_name')); $profile->setDisplayName($parser('name')); $profile->setProfileURL($parser('link')); $profile->setWebSiteURL($parser('website')); $profile->setGender($parser('gender')); $profile->setDescription($parser('bio')); $profile->setEmail($parser('email')); $profile->setLanguage($parser('locale')); $profile->setPhotoURL('https://graph.facebook.com/' . $profile->getIdentifier() . '/picture?width=150&height=150'); if ($parser('birthday')) { list($m, $d, $y) = explode("/", $parser('birthday')); $profile->setBirthDay($d); $profile->setBirthMonth($m); $profile->setBirthYear($y); } if ($parser('verified')) { $profile->setEmailVerified($profile->getEmail()); } return $profile; }
/** * Returns user contacts list * * Examples: * * $data = $hybridauth->authenticate( "Google" )->getUserContacts( array( "max-results" => 10 ) ); */ function getUserContacts($args = array()) { // refresh tokens if needed $this->refreshToken(); $url = "https://www.google.com/m8/feeds/contacts/default/full?" . http_build_query(array_merge(array('alt' => 'json'), $args)); $response = $this->signedRequest($url); $response = json_decode($response); if (!$response || isset($response->error)) { throw new Exception('User contacts request failed: Provider returned an invalid response. ' . 'HTTP client state: (' . $this->httpClient->getState() . ')', Exception::USER_PROFILE_REQUEST_FAILED, $this); } $contacts = array(); if (isset($response->feed) && is_array($response->feed)) { foreach ($response->feed->entry as $idx => $entry) { $profile = new Profile(); $email = isset($entry->{'gd$email'}[0]->address) ? (string) $entry->{'gd$email'}[0]->address : ''; $displayName = isset($entry->title->{'$t'}) ? (string) $entry->title->{'$t'} : ''; $profile->setIdentifier($email); $profile->setDisplayName($displayName); $profile->setEmail($email); $contacts[] = $profile; } } return $contacts; }
/** * Returns user profile * * Examples: * * $data = $hybridauth->authenticate( "Twitter" )->getUserProfile(); */ function getUserProfile() { $response = $this->signedRequest('account/verify_credentials.json'); $response = json_decode($response); if (!isset($response->id) || isset($response->error)) { throw new Exception('User profile request failed: Provider returned an invalid response. ' . 'HTTP client state: (' . $this->httpClient->getState() . ')', Exception::USER_PROFILE_REQUEST_FAILED, $this); } $parser = function ($property) use($response) { return property_exists($response, $property) ? $response->{$property} : null; }; $profile = new Profile(); $profile->setIdentifier($parser('id')); $profile->setFirstName($parser('name')); $profile->setDisplayName($parser('screen_name')); $profile->setDescription($parser('description')); $profile->setPhotoURL($parser('profile_image_url')); $profile->setWebSiteURL($parser('url')); $profile->setRegion($parser('location')); $profile->setProfileURL('http://twitter.com/' . $profile->getDisplayName()); return $profile; }
/** * Returns user profile * * Examples: * * $data = $hybridauth->authenticate( "Windows" )->getUserProfile(); */ function getUserProfile() { $response = $this->signedRequest("me"); $response = json_decode($response); if (!isset($response->id) || isset($response->error)) { throw new Exception('User profile request failed: Provider returned an invalid response. ' . 'HTTP client state:(' . $this->httpClient->getState() . ')', Exception::USER_PROFILE_REQUEST_FAILED, $this); } $parser = function ($property) use($response) { return property_exists($response, $property) ? $response->{$property} : null; }; $profile = new Profile(); $profile->setIdentifier($parser('id')); $profile->setFirstName($parser('first_name')); $profile->setLastName($parser('last_name')); $profile->setDisplayName($parser('name')); $profile->setProfileURL($parser('link')); $profile->setWebSiteURL($parser('website')); $profile->setGender($parser('gender')); $profile->setLanguage($parser('locale')); $profile->setEmail($response->emails->account); //< this $profile->setBirthDay($parser('birth_day')); $profile->setBirthMonth($parser('birth_month')); $profile->setBirthYear($parser('birth_year')); return $profile; }
/** * Get the display-name of the user. */ public function getDisplayName() { return $this->user->getDisplayName(); }