Вход Регистрация
Файл: library/XenForo/Helper/Twitter.php
Строк: 135
<?php

class XenForo_Helper_Twitter
{
    
/**
     * @param string $callbackUrl URL to return to
     *
     * @return bool|Zend_Oauth_Consumer False if no Twitter app configured, otherwise Oauth consumer
     */
    
public static function getOauthConsumer($callbackUrl '')
    {
        
$options XenForo_Application::getOptions();

        if (!
$options->twitterAppKey || !$options->twitterAppSecret)
        {
            return 
false;
        }

        
Zend_Oauth::setHttpClient(XenForo_Helper_Http::getClient('https://api.twitter.com/oauth'));

        return new 
Zend_Oauth_Consumer(array(
            
'callbackUrl' => $callbackUrl,
            
'siteUrl' => 'https://api.twitter.com/oauth',
            
'authorizeUrl' => 'https://api.twitter.com/oauth/authenticate',
            
'consumerKey' => $options->twitterAppKey,
            
'consumerSecret' => $options->twitterAppSecret,
        ));
    }

    
/**
     * Gets the Twitter service object for a token
     *
     * @param string|Zend_Oauth_Token_Access $token Access token object or access token string
     * @param null|string $secret Access token secret if token is provided as string
     *
     * @return Zend_Service_Twitter
     */
    
public static function getService($token$secret null)
    {
        
$options XenForo_Application::getOptions();

        
Zend_Oauth::setHttpClient(XenForo_Helper_Http::getClient('https://api.twitter.com/oauth'));

        if (
$token instanceof Zend_Oauth_Token_Access)
        {
            
$accessToken $token;
        }
        else
        {
            
$accessToken = new Zend_Oauth_Token_Access();
            
$accessToken->setToken($token);
            
$accessToken->setTokenSecret($secret);
        }

        return new 
Zend_Service_Twitter(array(
            
'accessToken' => $accessToken,
            
'oauthOptions' => array(
                
'consumerKey' => $options->twitterAppKey,
                
'consumerSecret' => $options->twitterAppSecret,
            ),
            
'httpClientOptions' => XenForo_Helper_Http::getExtraHttpClientOptions('https://api.twitter.com/oauth')
        ));
    }

    
/**
     * Gets the user information from a token
     *
     * @param string|Zend_Oauth_Token_Access $token Access token object or access token string
     * @param null|string $secret Access token secret if token is provided as string
     * @param null|Exception $e Thrown exception returned if applicable
     *
     * @return array|boolean
     */
    
public static function getUserFromToken($token$secret null, &$returnE null)
    {
        try
        {
            
$twitter self::getService($token$secret);
            
$details $twitter->accountVerifyCredentials();

            
// force array return
            
$return json_decode(json_encode($details->toValue()), true);
            
$returnE null;
            return 
$return;
        }
        catch (
Exception $e)
        {
            
$returnE $e;
            return 
false;
        }
    }
}
Онлайн: 1
Реклама