original_string: public static function addSignature($endpoint, $consumerKey, $consumerSecret, $data, $method = 'POST', $type = null)
      {
  
          $params = array();
          if (is_array($data)) {
              $params = $data;
          }
  // Check for query parameters which need to be included in the signature
          $queryParams = array();
          $queryString = parse_url($endpoint, PHP_URL_QUERY);
          if (!is_null($queryString)) {
              $queryItems = explode('&', $queryString);
              foreach ($queryItems as $item) {
                  if (strpos($item, '=') !== false) {
                      list($name, $value) = explode('=', $item);
                      $queryParams[urldecode($name)] = urldecode($value);
                  } else {
                      $queryParams[urldecode($item)] = '';
                  }
              }
              $params = $params + $queryParams;
          }
  
          if (!is_array($data)) {
  // Calculate body hash
              $hash = base64_encode(sha1($data, true));
              $params['oauth_body_hash'] = $hash;
          }
  
  // Add OAuth signature
          $hmacMethod = new OAuth\OAuthSignatureMethod_HMAC_SHA1();
          $oauthConsumer = new OAuth\OAuthConsumer($consumerKey, $consumerSecret, null);
          $oauthReq = OAuth\OAuthRequest::from_consumer_and_token($oauthConsumer, null, $method, $endpoint, $params);
          $oauthReq->sign_request($hmacMethod, $oauthConsumer, null);
          $params = $oauthReq->get_parameters();
  // Remove parameters being passed on the query string
          foreach (array_keys($queryParams) as $name) {
              unset($params[$name]);
          }
  
          if (!is_array($data)) {
              $header = $oauthReq->to_header();
              if (empty($data)) {
                  if (!empty($type)) {
                      $header .= "\nAccept: {$type}";
                  }
              } else if (isset($type)) {
                  $header .= "\nContent-Type: {$type}";
                  $header .= "\nContent-Length: " . strlen($data);
              }
              return $header;
          } else {
              return $params;
          }
  
      }
code: public static function addSignature($endpoint, $consumerKey, $consumerSecret, $data, $method = 'POST', $type = null)
      {
  
          $params = array();
          if (is_array($data)) {
              $params = $data;
          }
  // Check for query parameters which need to be included in the signature
          $queryParams = array();
          $queryString = parse_url($endpoint, PHP_URL_QUERY);
          if (!is_null($queryString)) {
              $queryItems = explode('&', $queryString);
              foreach ($queryItems as $item) {
                  if (strpos($item, '=') !== false) {
                      list($name, $value) = explode('=', $item);
                      $queryParams[urldecode($name)] = urldecode($value);
                  } else {
                      $queryParams[urldecode($item)] = '';
                  }
              }
              $params = $params + $queryParams;
          }
  
          if (!is_array($data)) {
  // Calculate body hash
              $hash = base64_encode(sha1($data, true));
              $params['oauth_body_hash'] = $hash;
          }
  
  // Add OAuth signature
          $hmacMethod = new OAuth\OAuthSignatureMethod_HMAC_SHA1();
          $oauthConsumer = new OAuth\OAuthConsumer($consumerKey, $consumerSecret, null);
          $oauthReq = OAuth\OAuthRequest::from_consumer_and_token($oauthConsumer, null, $method, $endpoint, $params);
          $oauthReq->sign_request($hmacMethod, $oauthConsumer, null);
          $params = $oauthReq->get_parameters();
  // Remove parameters being passed on the query string
          foreach (array_keys($queryParams) as $name) {
              unset($params[$name]);
          }
  
          if (!is_array($data)) {
              $header = $oauthReq->to_header();
              if (empty($data)) {
                  if (!empty($type)) {
                      $header .= "\nAccept: {$type}";
                  }
              } else if (isset($type)) {
                  $header .= "\nContent-Type: {$type}";
                  $header .= "\nContent-Length: " . strlen($data);
              }
              return $header;
          } else {
              return $params;
          }
  
      }
code_tokens: public static function addSignature ( $ endpoint , $ consumerKey , $ consumerSecret , $ data , $ method = 'POST' , $ type = null ) { $ params = array ( ) ; if ( is_array ( $ data ) ) { $ params = $ data ; } // Check for query parameters which need to be included in the signature $ queryParams = array ( ) ; $ queryString = parse_url ( $ endpoint , PHP_URL_QUERY ) ; if ( ! is_null ( $ queryString ) ) { $ queryItems = explode ( '&' , $ queryString ) ; foreach ( $ queryItems as $ item ) { if ( strpos ( $ item , '=' ) !== false ) { list ( $ name , $ value ) = explode ( '=' , $ item ) ; $ queryParams [ urldecode ( $ name ) ] = urldecode ( $ value ) ; } else { $ queryParams [ urldecode ( $ item ) ] = '' ; } } $ params = $ params + $ queryParams ; } if ( ! is_array ( $ data ) ) { // Calculate body hash $ hash = base64_encode ( sha1 ( $ data , true ) ) ; $ params [ 'oauth_body_hash' ] = $ hash ; } // Add OAuth signature $ hmacMethod = new OAuth \ OAuthSignatureMethod_HMAC_SHA1 ( ) ; $ oauthConsumer = new OAuth \ OAuthConsumer ( $ consumerKey , $ consumerSecret , null ) ; $ oauthReq = OAuth \ OAuthRequest :: from_consumer_and_token ( $ oauthConsumer , null , $ method , $ endpoint , $ params ) ; $ oauthReq -> sign_request ( $ hmacMethod , $ oauthConsumer , null ) ; $ params = $ oauthReq -> get_parameters ( ) ; // Remove parameters being passed on the query string foreach ( array_keys ( $ queryParams ) as $ name ) { unset ( $ params [ $ name ] ) ; } if ( ! is_array ( $ data ) ) { $ header = $ oauthReq -> to_header ( ) ; if ( empty ( $ data ) ) { if ( ! empty ( $ type ) ) { $ header .= "\nAccept: {$type}" ; } } else if ( isset ( $ type ) ) { $ header .= "\nContent-Type: {$type}" ; $ header .= "\nContent-Length: " . strlen ( $ data ) ; } return $ header ; } else { return $ params ; } }
docstring: Add the OAuth signature to an array of message parameters or to a header string.
  
  @return mixed Array of signed message parameters or header string
docstring_tokens: Add the OAuth signature to an array of message parameters or to a header string .