Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/core/componen.../lib
File: OAuth.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* ET Core OAuth Library
[2] Fix | Delete
*
[3] Fix | Delete
* Copyright © 2016-2017 Elegant Themes, Inc.
[4] Fix | Delete
*
[5] Fix | Delete
* Based on code from the TwitterOAuth Library:
[6] Fix | Delete
* - Copyright © 2009-2016 Abraham Williams
[7] Fix | Delete
* - Copyright © 2007-2009 Andy Smith
[8] Fix | Delete
*
[9] Fix | Delete
* @license
[10] Fix | Delete
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
[11] Fix | Delete
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
[12] Fix | Delete
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
[13] Fix | Delete
* permit persons to whom the Software is furnished to do so, subject to the following conditions:
[14] Fix | Delete
*
[15] Fix | Delete
* The above copyright notice and this permission notice shall be included in all copies or substantial
[16] Fix | Delete
* portions of the Software.
[17] Fix | Delete
*
[18] Fix | Delete
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
[19] Fix | Delete
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
[20] Fix | Delete
* OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
[21] Fix | Delete
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
[22] Fix | Delete
*/
[23] Fix | Delete
[24] Fix | Delete
[25] Fix | Delete
class ET_Core_LIB_OAuthBase {
[26] Fix | Delete
/**
[27] Fix | Delete
* Writes a message to the PHP error log.
[28] Fix | Delete
*
[29] Fix | Delete
* @since 1.1.0
[30] Fix | Delete
*
[31] Fix | Delete
* @param mixed $msg
[32] Fix | Delete
*/
[33] Fix | Delete
public static function write_log( $msg, $level = 'DEBUG', $_this = null ) {
[34] Fix | Delete
$name = ( null !== $_this ) ? get_class( $_this ) : 'ET_Core_LIB_OAuthBase';
[35] Fix | Delete
[36] Fix | Delete
if ( ! is_string( $msg ) ) {
[37] Fix | Delete
$msg = print_r( $msg, true );
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
error_log( "{$name} [{$level}]: $msg" );
[41] Fix | Delete
}
[42] Fix | Delete
}
[43] Fix | Delete
[44] Fix | Delete
[45] Fix | Delete
class ET_Core_LIB_OAuthUtil {
[46] Fix | Delete
[47] Fix | Delete
public static function build_http_query( $params, $return_json=false ) {
[48] Fix | Delete
if ( ! $params ) {
[49] Fix | Delete
return '';
[50] Fix | Delete
}
[51] Fix | Delete
[52] Fix | Delete
if ( $return_json ) {
[53] Fix | Delete
// return json string without further processing if needed
[54] Fix | Delete
return json_encode( $params );
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
// Url encode both the keys and the values
[58] Fix | Delete
$keys = ET_Core_LIB_OAuthUtil::urlencode_rfc3986( array_keys( $params ) );
[59] Fix | Delete
$values = ET_Core_LIB_OAuthUtil::urlencode_rfc3986( array_values( $params ) );
[60] Fix | Delete
$params = array_combine( $keys, $values );
[61] Fix | Delete
[62] Fix | Delete
// Parameters are sorted by name, using lexicographical byte value ordering.
[63] Fix | Delete
// Ref: Spec: 9.1.1 (1)
[64] Fix | Delete
uksort( $params, 'strcmp' );
[65] Fix | Delete
$pairs = array();
[66] Fix | Delete
[67] Fix | Delete
foreach ( $params as $parameter => $value ) {
[68] Fix | Delete
if ( is_array( $value ) ) {
[69] Fix | Delete
// When two or more parameters share the same name, they are sorted by their value
[70] Fix | Delete
// Ref: Spec: 9.1.1 (1)
[71] Fix | Delete
// June 12th, 2010 - changed to sort because of issue 164 by hidetaka
[72] Fix | Delete
sort( $value, SORT_STRING );
[73] Fix | Delete
[74] Fix | Delete
foreach ( $value as $duplicate_value ) {
[75] Fix | Delete
$pairs[] = "{$parameter}={$duplicate_value}";
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
} else {
[79] Fix | Delete
$pairs[] = "{$parameter}={$value}";
[80] Fix | Delete
}
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
[84] Fix | Delete
// Each name-value pair is separated by an '&' character (ASCII code 38)
[85] Fix | Delete
return implode( '&', $pairs );
[86] Fix | Delete
}
[87] Fix | Delete
[88] Fix | Delete
public static function parse_parameters( $input = '' ) {
[89] Fix | Delete
if ( '' === $input ) {
[90] Fix | Delete
return array();
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
$pairs = explode( '&', $input );
[94] Fix | Delete
$parsed_parameters = array();
[95] Fix | Delete
[96] Fix | Delete
foreach ( $pairs as $pair ) {
[97] Fix | Delete
$split = explode( '=', $pair, 2 );
[98] Fix | Delete
$parameter = ET_Core_LIB_OAuthUtil::urldecode_rfc3986( $split[0] );
[99] Fix | Delete
$value = isset( $split[1] ) ? ET_Core_LIB_OAuthUtil::urldecode_rfc3986( $split[1] ) : '';
[100] Fix | Delete
[101] Fix | Delete
if ( isset( $parsed_parameters[ $parameter ] ) ) {
[102] Fix | Delete
// We have already received parameter(s) with this name, so add to the list
[103] Fix | Delete
// of parameters with this name
[104] Fix | Delete
if ( is_scalar( $parsed_parameters[ $parameter ] ) ) {
[105] Fix | Delete
// This is the first duplicate, so transform scalar (string) into an array
[106] Fix | Delete
// so we can add the duplicates
[107] Fix | Delete
$parsed_parameters[ $parameter ] = array( $parsed_parameters[ $parameter ] );
[108] Fix | Delete
}
[109] Fix | Delete
$parsed_parameters[ $parameter ][] = $value;
[110] Fix | Delete
} else {
[111] Fix | Delete
$parsed_parameters[ $parameter ] = $value;
[112] Fix | Delete
}
[113] Fix | Delete
}
[114] Fix | Delete
return $parsed_parameters;
[115] Fix | Delete
}
[116] Fix | Delete
[117] Fix | Delete
public static function urldecode_rfc3986( $string ) {
[118] Fix | Delete
return rawurldecode( $string );
[119] Fix | Delete
}
[120] Fix | Delete
[121] Fix | Delete
public static function urlencode_rfc3986( $input ) {
[122] Fix | Delete
$output = '';
[123] Fix | Delete
[124] Fix | Delete
if ( is_array( $input ) ) {
[125] Fix | Delete
$output = array_map( array( 'ET_Core_LIB_OAuthUtil', 'urlencode_rfc3986' ), $input );
[126] Fix | Delete
[127] Fix | Delete
} else if ( is_scalar( $input ) ) {
[128] Fix | Delete
$output = rawurlencode( utf8_encode( $input ) );
[129] Fix | Delete
}
[130] Fix | Delete
[131] Fix | Delete
return $output;
[132] Fix | Delete
}
[133] Fix | Delete
}
[134] Fix | Delete
[135] Fix | Delete
[136] Fix | Delete
/**
[137] Fix | Delete
* A base class for implementing a Signature Method
[138] Fix | Delete
* See section 9 ("Signing Requests") in the spec
[139] Fix | Delete
*/
[140] Fix | Delete
abstract class ET_Core_LIB_OAuthSignatureMethod {
[141] Fix | Delete
/**
[142] Fix | Delete
* Build the signature
[143] Fix | Delete
* NOTE: The output of this function MUST NOT be urlencoded. The encoding is handled in
[144] Fix | Delete
* {@link ET_Core_OAuth_Request} when the final request is serialized.
[145] Fix | Delete
*
[146] Fix | Delete
* @param ET_Core_LIB_OAuthRequest $request
[147] Fix | Delete
* @param ET_Core_LIB_OAuthConsumer $consumer
[148] Fix | Delete
* @param ET_Core_LIB_OAuthToken|null $token
[149] Fix | Delete
*
[150] Fix | Delete
* @return string
[151] Fix | Delete
*/
[152] Fix | Delete
abstract public function build_signature( $request, $consumer, $token = null );
[153] Fix | Delete
[154] Fix | Delete
/**
[155] Fix | Delete
* Verifies that a given signature is correct
[156] Fix | Delete
*
[157] Fix | Delete
* @param ET_Core_LIB_OAuthRequest $request
[158] Fix | Delete
* @param ET_Core_LIB_OAuthConsumer $consumer
[159] Fix | Delete
* @param ET_Core_LIB_OAuthToken $token
[160] Fix | Delete
* @param string $signature
[161] Fix | Delete
*
[162] Fix | Delete
* @return bool
[163] Fix | Delete
*/
[164] Fix | Delete
public function check_signature( $request, $consumer, $token, $signature ) {
[165] Fix | Delete
$built = $this->build_signature( $request, $consumer, $token );
[166] Fix | Delete
[167] Fix | Delete
// Check for zero length, although its unlikely here
[168] Fix | Delete
if ( empty( $built ) || empty( $signature ) ) {
[169] Fix | Delete
return false;
[170] Fix | Delete
}
[171] Fix | Delete
[172] Fix | Delete
if ( strlen( $built ) !== strlen( $signature ) ) {
[173] Fix | Delete
return false;
[174] Fix | Delete
}
[175] Fix | Delete
[176] Fix | Delete
// Avoid a timing leak with a (hopefully) time insensitive compare
[177] Fix | Delete
$result = 0;
[178] Fix | Delete
[179] Fix | Delete
for ( $i = 0; $i < strlen( $signature ); $i ++ ) {
[180] Fix | Delete
$result |= ord( $built{$i} ) ^ ord( $signature{$i} );
[181] Fix | Delete
}
[182] Fix | Delete
[183] Fix | Delete
return 0 === $result;
[184] Fix | Delete
}
[185] Fix | Delete
[186] Fix | Delete
/**
[187] Fix | Delete
* Returns the name of this Signature Method (ie HMAC-SHA1)
[188] Fix | Delete
*
[189] Fix | Delete
* @return string
[190] Fix | Delete
*/
[191] Fix | Delete
abstract public function get_name();
[192] Fix | Delete
}
[193] Fix | Delete
[194] Fix | Delete
[195] Fix | Delete
/**
[196] Fix | Delete
* The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104] where
[197] Fix | Delete
* the Signature Base String is the text and the key is the concatenated values of the Consumer Secret and
[198] Fix | Delete
* Token Secret (each encoded per Parameter Encoding first), separated by an '&' character (ASCII code 38)
[199] Fix | Delete
* even if empty. As per Chapter 9.2 of the HMAC-SHA1 spec.
[200] Fix | Delete
*/
[201] Fix | Delete
class ET_Core_LIB_OAuthHMACSHA1 extends ET_Core_LIB_OAuthSignatureMethod {
[202] Fix | Delete
/**
[203] Fix | Delete
* @inheritDoc
[204] Fix | Delete
*/
[205] Fix | Delete
public function build_signature( $request, $consumer, $token = null ) {
[206] Fix | Delete
$base_string = $request->get_signature_base_string();
[207] Fix | Delete
$token = $token ? $token->secret : '';
[208] Fix | Delete
$request->base_string = $base_string;
[209] Fix | Delete
$key_parts = array( $consumer->secret, $token );
[210] Fix | Delete
$key = implode( '&', $key_parts );
[211] Fix | Delete
[212] Fix | Delete
return base64_encode( hash_hmac( 'sha1', $base_string, $key, true ) );
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
/**
[216] Fix | Delete
* @inheritDoc
[217] Fix | Delete
*/
[218] Fix | Delete
public function get_name() {
[219] Fix | Delete
return 'HMAC-SHA1';
[220] Fix | Delete
}
[221] Fix | Delete
}
[222] Fix | Delete
[223] Fix | Delete
[224] Fix | Delete
class ET_Core_LIB_OAuthConsumer {
[225] Fix | Delete
public $callback_url;
[226] Fix | Delete
public $id;
[227] Fix | Delete
public $key;
[228] Fix | Delete
public $secret;
[229] Fix | Delete
[230] Fix | Delete
public function __construct( $id, $secret, $callback_url = '' ) {
[231] Fix | Delete
$this->id = $this->key = $id;
[232] Fix | Delete
$this->secret = $secret;
[233] Fix | Delete
$this->callback_url = $callback_url;
[234] Fix | Delete
}
[235] Fix | Delete
[236] Fix | Delete
function __toString() {
[237] Fix | Delete
$name = get_class( $this );
[238] Fix | Delete
$key = 'ET_Core_LIB_OAuthConsumer' === $name ? 'key' : 'id';
[239] Fix | Delete
[240] Fix | Delete
return "{$name}[{$key}={$this->key}, secret={$this->secret}]";
[241] Fix | Delete
}
[242] Fix | Delete
}
[243] Fix | Delete
[244] Fix | Delete
[245] Fix | Delete
class ET_Core_LIB_OAuthToken {
[246] Fix | Delete
public $key;
[247] Fix | Delete
public $secret;
[248] Fix | Delete
public $refresh_token;
[249] Fix | Delete
[250] Fix | Delete
/**
[251] Fix | Delete
* @param string $key The OAuth Token
[252] Fix | Delete
* @param string $secret The OAuth Token Secret
[253] Fix | Delete
*/
[254] Fix | Delete
public function __construct( $key, $secret ) {
[255] Fix | Delete
$this->key = $key;
[256] Fix | Delete
$this->secret = $secret;
[257] Fix | Delete
}
[258] Fix | Delete
[259] Fix | Delete
/**
[260] Fix | Delete
* Generates the basic string serialization of a token that a server
[261] Fix | Delete
* would respond to 'request_token' and 'access_token' calls with
[262] Fix | Delete
*
[263] Fix | Delete
* @return string
[264] Fix | Delete
*/
[265] Fix | Delete
public function __toString() {
[266] Fix | Delete
return sprintf( "oauth_token=%s&oauth_token_secret=%s",
[267] Fix | Delete
ET_Core_LIB_OAuthUtil::urlencode_rfc3986( $this->key ),
[268] Fix | Delete
ET_Core_LIB_OAuthUtil::urlencode_rfc3986( $this->secret )
[269] Fix | Delete
);
[270] Fix | Delete
}
[271] Fix | Delete
}
[272] Fix | Delete
[273] Fix | Delete
[274] Fix | Delete
class ET_Core_LIB_OAuthRequest extends ET_Core_LIB_OAuthBase {
[275] Fix | Delete
protected $parameters;
[276] Fix | Delete
protected $http_method;
[277] Fix | Delete
protected $http_url;
[278] Fix | Delete
public static $version = '1.0';
[279] Fix | Delete
public $base_string;
[280] Fix | Delete
[281] Fix | Delete
/**
[282] Fix | Delete
* ET_Core_OAuth_Request Constructor
[283] Fix | Delete
*
[284] Fix | Delete
* @param string $http_method
[285] Fix | Delete
* @param string $http_url
[286] Fix | Delete
* @param array|null $parameters
[287] Fix | Delete
*/
[288] Fix | Delete
public function __construct( $http_method, $http_url, $parameters = array() ) {
[289] Fix | Delete
$this->parameters = $parameters;
[290] Fix | Delete
$this->http_method = $http_method;
[291] Fix | Delete
$this->http_url = $http_url;
[292] Fix | Delete
}
[293] Fix | Delete
[294] Fix | Delete
/**
[295] Fix | Delete
* pretty much a helper function to set up the request
[296] Fix | Delete
*
[297] Fix | Delete
* @param ET_Core_LIB_OAuthConsumer $consumer
[298] Fix | Delete
* @param ET_Core_LIB_OAuthToken $token
[299] Fix | Delete
* @param string $http_method
[300] Fix | Delete
* @param string $http_url
[301] Fix | Delete
* @param array $parameters
[302] Fix | Delete
*
[303] Fix | Delete
* @return ET_Core_LIB_OAuthRequest
[304] Fix | Delete
*/
[305] Fix | Delete
public static function from_consumer_and_token( $consumer, $token = null, $http_method, $http_url, $parameters = array() ) {
[306] Fix | Delete
$defaults = array(
[307] Fix | Delete
"oauth_version" => ET_Core_LIB_OAuthRequest::$version,
[308] Fix | Delete
"oauth_nonce" => ET_Core_LIB_OAuthRequest::generate_nonce(),
[309] Fix | Delete
"oauth_timestamp" => time(),
[310] Fix | Delete
"oauth_consumer_key" => $consumer->key
[311] Fix | Delete
);
[312] Fix | Delete
[313] Fix | Delete
if ( $token ) {
[314] Fix | Delete
$defaults['oauth_token'] = $token->key;
[315] Fix | Delete
}
[316] Fix | Delete
[317] Fix | Delete
$parameters = wp_parse_args( $parameters, $defaults );
[318] Fix | Delete
[319] Fix | Delete
return new ET_Core_LIB_OAuthRequest( $http_method, $http_url, $parameters );
[320] Fix | Delete
}
[321] Fix | Delete
[322] Fix | Delete
/**
[323] Fix | Delete
* Returns the HTTP Method in uppercase
[324] Fix | Delete
*
[325] Fix | Delete
* @return string
[326] Fix | Delete
*/
[327] Fix | Delete
public function get_normalized_http_method() {
[328] Fix | Delete
return strtoupper( $this->http_method );
[329] Fix | Delete
}
[330] Fix | Delete
[331] Fix | Delete
/**
[332] Fix | Delete
* parses the url and rebuilds it to be
[333] Fix | Delete
* scheme://host/path
[334] Fix | Delete
*
[335] Fix | Delete
* @return string
[336] Fix | Delete
*/
[337] Fix | Delete
public function get_normalized_http_url() {
[338] Fix | Delete
$parts = parse_url( $this->http_url );
[339] Fix | Delete
$scheme = $parts['scheme'];
[340] Fix | Delete
$host = strtolower( $parts['host'] );
[341] Fix | Delete
$path = $parts['path'];
[342] Fix | Delete
[343] Fix | Delete
return "{$scheme}://{$host}{$path}";
[344] Fix | Delete
}
[345] Fix | Delete
[346] Fix | Delete
/**
[347] Fix | Delete
* @param $name
[348] Fix | Delete
*
[349] Fix | Delete
* @return string|null
[350] Fix | Delete
*/
[351] Fix | Delete
public function get_parameter( $name ) {
[352] Fix | Delete
return isset( $this->parameters[ $name ] ) ? $this->parameters[ $name ] : null;
[353] Fix | Delete
}
[354] Fix | Delete
[355] Fix | Delete
/**
[356] Fix | Delete
* @return array
[357] Fix | Delete
*/
[358] Fix | Delete
public function get_parameters() {
[359] Fix | Delete
return $this->parameters;
[360] Fix | Delete
}
[361] Fix | Delete
[362] Fix | Delete
/**
[363] Fix | Delete
* The request parameters, sorted and concatenated into a normalized string.
[364] Fix | Delete
*
[365] Fix | Delete
* @return string
[366] Fix | Delete
*/
[367] Fix | Delete
public function get_signable_parameters() {
[368] Fix | Delete
// Grab a copy of all parameters
[369] Fix | Delete
$params = $this->parameters;
[370] Fix | Delete
[371] Fix | Delete
// Remove oauth_signature if present
[372] Fix | Delete
// Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
[373] Fix | Delete
if ( isset( $params['oauth_signature'] ) ) {
[374] Fix | Delete
unset( $params['oauth_signature'] );
[375] Fix | Delete
}
[376] Fix | Delete
[377] Fix | Delete
return ET_Core_LIB_OAuthUtil::build_http_query( $params );
[378] Fix | Delete
}
[379] Fix | Delete
[380] Fix | Delete
/**
[381] Fix | Delete
* Returns the base string of this request
[382] Fix | Delete
*
[383] Fix | Delete
* The base string defined as the method, the url, and the parameters (normalized),
[384] Fix | Delete
* each urlencoded and then concatenated with '&'.
[385] Fix | Delete
*
[386] Fix | Delete
* @return string
[387] Fix | Delete
*/
[388] Fix | Delete
public function get_signature_base_string() {
[389] Fix | Delete
$parts = array(
[390] Fix | Delete
$this->get_normalized_http_method(),
[391] Fix | Delete
$this->get_normalized_http_url(),
[392] Fix | Delete
$this->get_signable_parameters()
[393] Fix | Delete
);
[394] Fix | Delete
[395] Fix | Delete
$parts = ET_Core_LIB_OAuthUtil::urlencode_rfc3986( $parts );
[396] Fix | Delete
[397] Fix | Delete
return implode( '&', $parts );
[398] Fix | Delete
}
[399] Fix | Delete
[400] Fix | Delete
/**
[401] Fix | Delete
* @param $name
[402] Fix | Delete
*/
[403] Fix | Delete
public function remove_parameter( $name ) {
[404] Fix | Delete
unset( $this->parameters[ $name ] );
[405] Fix | Delete
}
[406] Fix | Delete
[407] Fix | Delete
/**
[408] Fix | Delete
* @param string $name
[409] Fix | Delete
* @param string $value
[410] Fix | Delete
*/
[411] Fix | Delete
public function set_parameter( $name, $value ) {
[412] Fix | Delete
$this->parameters[ $name ] = $value;
[413] Fix | Delete
}
[414] Fix | Delete
[415] Fix | Delete
/**
[416] Fix | Delete
* Builds the data one would send in a POST request
[417] Fix | Delete
* @param bool $need_json indicates the query data format ( http query string or json string )
[418] Fix | Delete
*
[419] Fix | Delete
* @return string
[420] Fix | Delete
*/
[421] Fix | Delete
public function to_post_data( $need_json = false ) {
[422] Fix | Delete
return ET_Core_LIB_OAuthUtil::build_http_query( $this->parameters, $need_json );
[423] Fix | Delete
}
[424] Fix | Delete
[425] Fix | Delete
/**
[426] Fix | Delete
* Builds a url usable for a GET request
[427] Fix | Delete
*
[428] Fix | Delete
* @return string
[429] Fix | Delete
*/
[430] Fix | Delete
public function to_url() {
[431] Fix | Delete
$postData = $this->to_post_data();
[432] Fix | Delete
$out = $this->get_normalized_http_url();
[433] Fix | Delete
[434] Fix | Delete
if ( $postData ) {
[435] Fix | Delete
$out .= '?' . $postData;
[436] Fix | Delete
}
[437] Fix | Delete
[438] Fix | Delete
return $out;
[439] Fix | Delete
}
[440] Fix | Delete
[441] Fix | Delete
/**
[442] Fix | Delete
* Builds the HTTP Authorization Header
[443] Fix | Delete
*
[444] Fix | Delete
* @return string
[445] Fix | Delete
*/
[446] Fix | Delete
public function to_header() {
[447] Fix | Delete
$out = '';
[448] Fix | Delete
[449] Fix | Delete
foreach ( $this->parameters as $parameter => $value ) {
[450] Fix | Delete
if ( 0 !== strpos( 'oauth', $parameter ) ) {
[451] Fix | Delete
continue;
[452] Fix | Delete
}
[453] Fix | Delete
[454] Fix | Delete
if ( is_array( $value ) ) {
[455] Fix | Delete
self::write_log( 'Arrays not supported in headers!', 'ERROR' );
[456] Fix | Delete
continue;
[457] Fix | Delete
}
[458] Fix | Delete
[459] Fix | Delete
$out .= ( '' === $out ) ? 'OAuth ' : ', ';
[460] Fix | Delete
$out .= ET_Core_LIB_OAuthUtil::urlencode_rfc3986( $parameter );
[461] Fix | Delete
$out .= '="' . ET_Core_LIB_OAuthUtil::urlencode_rfc3986( $value ) . '"';
[462] Fix | Delete
}
[463] Fix | Delete
[464] Fix | Delete
return $out;
[465] Fix | Delete
}
[466] Fix | Delete
[467] Fix | Delete
/**
[468] Fix | Delete
* @return string
[469] Fix | Delete
*/
[470] Fix | Delete
public function __toString() {
[471] Fix | Delete
return $this->to_url();
[472] Fix | Delete
}
[473] Fix | Delete
[474] Fix | Delete
/**
[475] Fix | Delete
* @param ET_Core_LIB_OAuthSignatureMethod $signature_method
[476] Fix | Delete
* @param ET_Core_LIB_OAuthConsumer $consumer
[477] Fix | Delete
* @param ET_Core_LIB_OAuthToken $token
[478] Fix | Delete
*/
[479] Fix | Delete
public function sign_request( $signature_method, $consumer, $token = null ) {
[480] Fix | Delete
$this->set_parameter( 'oauth_signature_method', $signature_method->get_name() );
[481] Fix | Delete
$signature = $this->build_signature( $signature_method, $consumer, $token );
[482] Fix | Delete
$this->set_parameter( 'oauth_signature', $signature );
[483] Fix | Delete
}
[484] Fix | Delete
[485] Fix | Delete
/**
[486] Fix | Delete
* @param ET_Core_LIB_OAuthSignatureMethod $signatureMethod
[487] Fix | Delete
* @param ET_Core_LIB_OAuthConsumer $consumer
[488] Fix | Delete
* @param ET_Core_LIB_OAuthToken $token
[489] Fix | Delete
*
[490] Fix | Delete
* @return string
[491] Fix | Delete
*/
[492] Fix | Delete
public function build_signature( $signatureMethod, $consumer, $token = null ) {
[493] Fix | Delete
return $signatureMethod->build_signature( $this, $consumer, $token );
[494] Fix | Delete
}
[495] Fix | Delete
[496] Fix | Delete
/**
[497] Fix | Delete
* @return string
[498] Fix | Delete
*/
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function