/** * Constructs a new OAuth client object. * @param array $credentials the credentials to use * @param string $authorizationType the authorization type to use * @return OAuth a new OAuth client */ private function GetClient($credentials, $authorizationType = NULL) { $client = new OAuth($credentials['oauth_consumer_key'], $credentials['oauth_consumer_secret'], OAUTH_SIG_METHOD_HMACSHA1, $authorizationType); $client->setRequestEngine(OAUTH_REQENGINE_CURL); $client->setVersion('1.0a'); if (isset($credentials['oauth_token']) && isset($credentials['oauth_token_secret'])) { $client->setToken($credentials['oauth_token'], $credentials['oauth_token_secret']); } // SSL settings. if (defined('SSL_VERIFY_PEER') && SSL_VERIFY_PEER) { $client->setSSLChecks(OAUTH_SSLCHECK_PEER); } else { $client->setSSLChecks(OAUTH_SSLCHECK_NONE); } if (defined('SSL_VERIFY_HOST') && SSL_VERIFY_HOST) { if ($client->sslChecks == OAUTH_SSLCHECK_PEER) { $client->setSSLChecks(OAUTH_SSLCHECK_BOTH); } else { $client->setSSLChecks(OAUTH_SSLCHECK_HOST); } } if (defined('SSL_CA_PATH') && SSL_CA_PATH != '') { // The second parameter must be explicitly set to NULL due to a bug in // version 1.2.2 and earlier. See https://bugs.php.net/bug.php?id=60226 $client->setCAPath(SSL_CA_PATH, NULL); } if (defined('SSL_CA_FILE') && SSL_CA_FILE != '') { $client->setCAPath(NULL, SSL_CA_FILE); } return $client; }