You are here

public function OAuthStoreSQL::getServerTokenSecrets in Lingotek Translation 7.7

Same name and namespace in other branches
  1. 7.2 lib/oauth-php/library/store/OAuthStoreSQL.php \OAuthStoreSQL::getServerTokenSecrets()
  2. 7.3 lib/oauth-php/library/store/OAuthStoreSQL.php \OAuthStoreSQL::getServerTokenSecrets()
  3. 7.4 lib/oauth-php/library/store/OAuthStoreSQL.php \OAuthStoreSQL::getServerTokenSecrets()
  4. 7.5 lib/oauth-php/library/store/OAuthStoreSQL.php \OAuthStoreSQL::getServerTokenSecrets()
  5. 7.6 lib/oauth-php/library/store/OAuthStoreSQL.php \OAuthStoreSQL::getServerTokenSecrets()

* Get the token and token secret we obtained from a server. * *

Parameters

string consumer_key: * @param string token * @param string token_type * @param int user_id the user owning the token * @param string name optional name for a named token * @exception OAuthException2 when no credentials found * @return array

Overrides OAuthStoreAbstract::getServerTokenSecrets

File

lib/oauth-php/library/store/OAuthStoreSQL.php, line 235

Class

OAuthStoreSQL

Code

public function getServerTokenSecrets($consumer_key, $token, $token_type, $user_id, $name = '') {
  if ($token_type != 'request' && $token_type != 'access') {
    throw new OAuthException2('Unkown token type "' . $token_type . '", must be either "request" or "access"');
  }

  // Take the most recent token of the given type
  $r = $this
    ->query_row_assoc('
					SELECT	ocr_consumer_key		as consumer_key,
							ocr_consumer_secret		as consumer_secret,
							oct_token				as token,
							oct_token_secret		as token_secret,
							oct_name				as token_name,
							ocr_signature_methods	as signature_methods,
							ocr_server_uri			as server_uri,
							ocr_request_token_uri	as request_token_uri,
							ocr_authorize_uri		as authorize_uri,
							ocr_access_token_uri	as access_token_uri,
							IF(oct_token_ttl >= \'9999-12-31\', NULL, UNIX_TIMESTAMP(oct_token_ttl) - UNIX_TIMESTAMP(NOW())) as token_ttl
					FROM oauth_consumer_registry
							JOIN oauth_consumer_token
							ON oct_ocr_id_ref = ocr_id
					WHERE ocr_consumer_key = \'%s\'
					  AND oct_token_type   = \'%s\'
					  AND oct_token        = \'%s\'
					  AND oct_usa_id_ref   = %d
					  AND oct_token_ttl    >= NOW()
					', $consumer_key, $token_type, $token, $user_id);
  if (empty($r)) {
    throw new OAuthException2('Could not find a "' . $token_type . '" token for consumer "' . $consumer_key . '" and user ' . $user_id);
  }
  if (isset($r['signature_methods']) && !empty($r['signature_methods'])) {
    $r['signature_methods'] = explode(',', $r['signature_methods']);
  }
  else {
    $r['signature_methods'] = array();
  }
  return $r;
}