You are here

public function OAuthStorePostgreSQL::getServerTokenSecrets in Lingotek Translation 7.2

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

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

@exception OAuthException2 when no credentials found

Parameters

string consumer_key:

string token:

string token_type:

int user_id the user owning the token:

string name optional name for a named token:

Return value

array

Overrides OAuthStoreAbstract::getServerTokenSecrets

File

lib/oauth-php/library/store/OAuthStorePostgreSQL.php, line 246

Class

OAuthStorePostgreSQL

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,
                            CASE WHEN oct_token_ttl >= \'9999-12-31\' THEN NULL ELSE oct_token_ttl - NOW() END 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;
}