static function requestRequestToken ( $consumer_key, $usr_id, $params = null, $method = 'POST', $options = array(), $curl_options = array())
	{
		OAuthRequestLogger::start();

		if (isset($options['token_ttl']) && is_numeric($options['token_ttl']))
		{
			$params['xoauth_token_ttl'] = intval($options['token_ttl']);
		}

		$store	= OAuthStore::instance();
		$r		= $store->getServer($consumer_key, $usr_id);
		$uri 	= $r['request_token_uri'];

		$oauth 	= new OAuthRequester($uri, $method, $params);
		$oauth->sign($usr_id, $r, '', 'requestToken');
		$text	= $oauth->curl_raw($curl_options);

		if (empty($text))
		{
			throw new OAuthException2('No answer from the server "'.$uri.'" while requesting a request token');
		}
		$data	= $oauth->curl_parse($text);
		if ($data['code'] != 200)
		{
			throw new OAuthException2('Unexpected result from the server "'.$uri.'" ('.$data['code'].') while requesting a request token');
		}
		$token  = array();
		$params = explode('&', $data['body']);
		foreach ($params as $p)
		{
			@list($name, $value) = explode('=', $p, 2);
			$token[$name] = $oauth->urldecode($value);
		}

		if (!empty($token['oauth_token']) && !empty($token['oauth_token_secret']))
		{
			$opts = array();
			if (isset($options['name']))
			{
				$opts['name'] = $options['name'];
			}
			if (isset($token['xoauth_token_ttl']))
			{
				$opts['token_ttl'] = $token['xoauth_token_ttl'];
			}
			$store->addServerToken($consumer_key, 'request', $token['oauth_token'], $token['oauth_token_secret'], $usr_id, $opts);
		}
		else
		{
			throw new OAuthException2('The server "'.$uri.'" did not return the oauth_token or the oauth_token_secret');
		}

		OAuthRequestLogger::flush();

		// Now we can direct a browser to the authorize_uri
		return array(
					'authorize_uri' => $r['authorize_uri'],
					'token'			=> $token['oauth_token']
				);
	}
static function requestRequestToken ( $consumer_key, $usr_id, $params = null, $method = 'POST', $options = array(), $curl_options = array())
	{
		OAuthRequestLogger::start();

		if (isset($options['token_ttl']) && is_numeric($options['token_ttl']))
		{
			$params['xoauth_token_ttl'] = intval($options['token_ttl']);
		}

		$store	= OAuthStore::instance();
		$r		= $store->getServer($consumer_key, $usr_id);
		$uri 	= $r['request_token_uri'];

		$oauth 	= new OAuthRequester($uri, $method, $params);
		$oauth->sign($usr_id, $r, '', 'requestToken');
		$text	= $oauth->curl_raw($curl_options);

		if (empty($text))
		{
			throw new OAuthException2('No answer from the server "'.$uri.'" while requesting a request token');
		}
		$data	= $oauth->curl_parse($text);
		if ($data['code'] != 200)
		{
			throw new OAuthException2('Unexpected result from the server "'.$uri.'" ('.$data['code'].') while requesting a request token');
		}
		$token  = array();
		$params = explode('&', $data['body']);
		foreach ($params as $p)
		{
			@list($name, $value) = explode('=', $p, 2);
			$token[$name] = $oauth->urldecode($value);
		}

		if (!empty($token['oauth_token']) && !empty($token['oauth_token_secret']))
		{
			$opts = array();
			if (isset($options['name']))
			{
				$opts['name'] = $options['name'];
			}
			if (isset($token['xoauth_token_ttl']))
			{
				$opts['token_ttl'] = $token['xoauth_token_ttl'];
			}
			$store->addServerToken($consumer_key, 'request', $token['oauth_token'], $token['oauth_token_secret'], $usr_id, $opts);
		}
		else
		{
			throw new OAuthException2('The server "'.$uri.'" did not return the oauth_token or the oauth_token_secret');
		}

		OAuthRequestLogger::flush();

		// Now we can direct a browser to the authorize_uri
		return array(
					'authorize_uri' => $r['authorize_uri'],
					'token'			=> $token['oauth_token']
				);
	}
static function requestRequestToken ( $ consumer_key , $ usr_id , $ params = null , $ method = 'POST' , $ options = array ( ) , $ curl_options = array ( ) ) { OAuthRequestLogger :: start ( ) ; if ( isset ( $ options [ 'token_ttl' ] ) && is_numeric ( $ options [ 'token_ttl' ] ) ) { $ params [ 'xoauth_token_ttl' ] = intval ( $ options [ 'token_ttl' ] ) ; } $ store = OAuthStore :: instance ( ) ; $ r = $ store -> getServer ( $ consumer_key , $ usr_id ) ; $ uri = $ r [ 'request_token_uri' ] ; $ oauth = new OAuthRequester ( $ uri , $ method , $ params ) ; $ oauth -> sign ( $ usr_id , $ r , '' , 'requestToken' ) ; $ text = $ oauth -> curl_raw ( $ curl_options ) ; if ( empty ( $ text ) ) { throw new OAuthException2 ( 'No answer from the server "' . $ uri . '" while requesting a request token' ) ; } $ data = $ oauth -> curl_parse ( $ text ) ; if ( $ data [ 'code' ] != 200 ) { throw new OAuthException2 ( 'Unexpected result from the server "' . $ uri . '" (' . $ data [ 'code' ] . ') while requesting a request token' ) ; } $ token = array ( ) ; $ params = explode ( '&' , $ data [ 'body' ] ) ; foreach ( $ params as $ p ) { @ list ( $ name , $ value ) = explode ( '=' , $ p , 2 ) ; $ token [ $ name ] = $ oauth -> urldecode ( $ value ) ; } if ( ! empty ( $ token [ 'oauth_token' ] ) && ! empty ( $ token [ 'oauth_token_secret' ] ) ) { $ opts = array ( ) ; if ( isset ( $ options [ 'name' ] ) ) { $ opts [ 'name' ] = $ options [ 'name' ] ; } if ( isset ( $ token [ 'xoauth_token_ttl' ] ) ) { $ opts [ 'token_ttl' ] = $ token [ 'xoauth_token_ttl' ] ; } $ store -> addServerToken ( $ consumer_key , 'request' , $ token [ 'oauth_token' ] , $ token [ 'oauth_token_secret' ] , $ usr_id , $ opts ) ; } else { throw new OAuthException2 ( 'The server "' . $ uri . '" did not return the oauth_token or the oauth_token_secret' ) ; } OAuthRequestLogger :: flush ( ) ; // Now we can direct a browser to the authorize_uri return array ( 'authorize_uri' => $ r [ 'authorize_uri' ] , 'token' => $ token [ 'oauth_token' ] ) ; }
Request a request token from the site belonging to consumer_key

@param string consumer_key
@param int usr_id
@param array params (optional) extra arguments for when requesting the request token
@param string method (optional) change the method of the request, defaults to POST (as it should be)
@param array options (optional) options like name and token_ttl
@param array curl_options	optional extra options for curl request
@exception OAuthException2 when no key could be fetched
@exception OAuthException2 when no server with consumer_key registered
@return array (authorize_uri, token)
Request a request token from the site belonging to consumer_key