Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JTwitterObject
+ Graphe d'héritage de JTwitterObject:

Liste de tous les membres

Fonctions membres publiques

 __construct (JRegistry &$options=null, JHttp $client=null, JTwitterOAuth $oauth=null)
 checkRateLimit ($resource=null, $action=null)
 fetchUrl ($path, $parameters=null)
 getRateLimit ($resource)
 sendRequest ($path, $method= 'GET', $data=array(), $headers=array())
 getOption ($key)
 setOption ($key, $value)

Attributs protégés

 $options
 $client
 $oauth

Description détaillée

Définition à la ligne 19 du fichier object.php.


Documentation des constructeurs et destructeur

JTwitterObject::__construct ( JRegistry $options = null,
JHttp  $client = null,
JTwitterOAuth  $oauth = null 
)

Constructor.

Paramètres:
JRegistry&$optionsTwitter options object.
JHttp$clientThe HTTP client object.
JTwitterOAuth$oauthThe OAuth client.
Depuis:
12.3

Définition à la ligne 48 du fichier object.php.

{
$this->options = isset($options) ? $options : new JRegistry;
$this->client = isset($client) ? $client : new JHttp($this->options);
$this->oauth = $oauth;
}

Documentation des fonctions membres

JTwitterObject::checkRateLimit (   $resource = null,
  $action = null 
)

Method to check the rate limit for the requesting IP address

Paramètres:
string$resourceA resource or a comma-separated list of resource families you want to know the current rate limit disposition for.
string$actionAn action for the specified resource, if only one resource is specified.
Renvoie:
void
Depuis:
12.3
Exceptions:
RuntimeException

Définition à la ligne 66 du fichier object.php.

{
// Check the rate limit for remaining hits
$rate_limit = $this->getRateLimit($resource);
$property = '/' . $resource;
if (!is_null($action))
{
$property .= '/' . $action;
}
if ($rate_limit->resources->$resource->$property->remaining == 0)
{
// The IP has exceeded the Twitter API rate limit
throw new RuntimeException('This server has exceed the Twitter API rate limit for the given period. The limit will reset at '
. $rate_limit->resources->$resource->$property->reset
);
}
}
JTwitterObject::fetchUrl (   $path,
  $parameters = null 
)

Method to build and return a full request URL for the request. This method will add appropriate pagination details if necessary and also prepend the API url to have a complete URL for the request.

Paramètres:
string$pathURL to inflect
array$parametersThe parameters passed in the URL.
Renvoie:
string The request URL.
Depuis:
12.3

Définition à la ligne 99 du fichier object.php.

{
if ($parameters)
{
foreach ($parameters as $key => $value)
{
if (strpos($path, '?') === false)
{
$path .= '?' . $key . '=' . $value;
}
else
{
$path .= '&' . $key . '=' . $value;
}
}
}
// Get a new JUri object fousing the api url and given path.
if (strpos($path, 'http://search.twitter.com/search.json') === false)
{
$uri = new JUri($this->options->get('api.url') . $path);
}
else
{
$uri = new JUri($path);
}
return (string) $uri;
}
JTwitterObject::getOption (   $key)

Get an option from the JTwitterObject instance.

Paramètres:
string$keyThe name of the option to get.
Renvoie:
mixed The option value.
Depuis:
12.3

Définition à la ligne 206 du fichier object.php.

{
return $this->options->get($key);
}
JTwitterObject::getRateLimit (   $resource)

Method to retrieve the rate limit for the requesting IP address

Paramètres:
string$resourceA resource or a comma-separated list of resource families you want to know the current rate limit disposition for.
Renvoie:
array The JSON response decoded
Depuis:
12.3

Définition à la ligne 138 du fichier object.php.

{
// Build the request path.
$path = '/application/rate_limit_status.json';
if (!is_null($resource))
{
return $this->sendRequest($path, 'GET', array('resources' => $resource));
}
return $this->sendRequest($path);
}
JTwitterObject::sendRequest (   $path,
  $method = 'GET',
  $data = array(),
  $headers = array() 
)

Method to send the request.

Paramètres:
string$pathThe path of the request to make
string$methodThe request method.
mixed$dataEither an associative array or a string to be sent with the post request.
array$headersAn array of name-value pairs to include in the header of the request
Renvoie:
array The decoded JSON response
Depuis:
12.3
Exceptions:
RuntimeException

Définition à la ligne 164 du fichier object.php.

{
// Get the access token.
$token = $this->oauth->getToken();
// Set parameters.
$parameters['oauth_token'] = $token['key'];
// Send the request.
$response = $this->oauth->oauthRequest($this->fetchUrl($path), $method, $parameters, $data, $headers);
if (strpos($path, 'update_with_media') !== false)
{
// Check Media Rate Limit.
$response_headers = $response->headers;
if ($response_headers['x-mediaratelimit-remaining'] == 0)
{
// The IP has exceeded the Twitter API media rate limit
throw new RuntimeException('This server has exceed the Twitter API media rate limit for the given period. The limit will reset in '
. $response_headers['x-mediaratelimit-reset'] . 'seconds.'
);
}
}
if (strpos($response->body, 'redirected') !== false)
{
return $response->headers['Location'];
}
return json_decode($response->body);
}
JTwitterObject::setOption (   $key,
  $value 
)

Set an option for the JTwitterObject instance.

Paramètres:
string$keyThe name of the option to set.
mixed$valueThe option value to set.
Renvoie:
JTwitterObject This object for method chaining.
Depuis:
12.3

Définition à la ligne 221 du fichier object.php.

{
$this->options->set($key, $value);
return $this;
}

Documentation des données membres

JTwitterObject::$client
protected

Définition à la ligne 31 du fichier object.php.

JTwitterObject::$oauth
protected

Définition à la ligne 37 du fichier object.php.

JTwitterObject::$options
protected

Définition à la ligne 25 du fichier object.php.


La documentation de cette classe a été générée à partir du fichier suivant :