Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/ConnectedAccount/Provider/Twitter.php
<?php

namespace XF\ConnectedAccount\Provider;

use
XF\Entity\ConnectedAccountProvider;
use
XF\ConnectedAccount\Http\HttpResponseException;

use function
is_array, is_string;

class
Twitter extends AbstractProvider
{
    public function
__construct($providerId)
    {
       
parent::__construct($providerId);
       
$this->oAuthVersion = 1;
    }

    public function
getOAuthServiceName()
    {
        return
'Twitter';
    }

    public function
getDefaultOptions()
    {
        return [
           
'consumer_key' => '',
           
'consumer_secret' => ''
       
];
    }

    public function
getOAuthConfig(ConnectedAccountProvider $provider, $redirectUri = null)
    {
        return [
           
'key' => $provider->options['consumer_key'],
           
'secret' => $provider->options['consumer_secret'],
           
'scopes' => [],
           
'redirect' => $redirectUri ?: $this->getRedirectUri($provider)
        ];
    }

    public function
parseProviderError(HttpResponseException $e, &$error = null)
    {
       
$errors = json_decode($e->getResponseContent(), true);
        if (
is_array($errors) && isset($errors['errors']))
        {
            foreach (
$errors['errors'] AS $errorDetails)
            {
                if (isset(
$errorDetails['message']))
                {
                   
$e->setMessage($errorDetails['message']);
                    break;
                }
            }
        }
        else if (
is_string($e->getResponseContent()))
        {
           
$e->setMessage($e->getResponseContent());
        }
       
parent::parseProviderError($e, $error);
    }
}