Файловый менеджер - Редактировать - /home/goldin10/public_html/getoutyourbox.com/wp-content/plugins/bb-plugin/includes/vendor/aweber/aweber.php
Error occurred
Назад
<?php require_once('exceptions.php'); require_once('oauth_adapter.php'); require_once('oauth_application.php'); require_once('aweber_response.php'); require_once('aweber_collection.php'); require_once('aweber_entry_data_array.php'); require_once('aweber_entry.php'); /** * AWeberServiceProvider * * Provides specific AWeber information or implementing OAuth. * @uses OAuthServiceProvider * @package * @version $id$ */ class AWeberServiceProvider implements OAuthServiceProvider { /** * @var String Location for API calls */ public $baseUri = 'https://api.aweber.com/1.0'; /** * @var String Location to request an access token */ public $accessTokenUrl = 'https://auth.aweber.com/1.0/oauth/access_token'; /** * @var String Location to authorize an Application */ public $authorizeUrl = 'https://auth.aweber.com/1.0/oauth/authorize'; /** * @var String Location to request a request token */ public $requestTokenUrl = 'https://auth.aweber.com/1.0/oauth/request_token'; public function getBaseUri() { return $this->baseUri; } public function removeBaseUri($url) { return str_replace($this->getBaseUri(), '', $url); } public function getAccessTokenUrl() { return $this->accessTokenUrl; } public function getAuthorizeUrl() { return $this->authorizeUrl; } public function getRequestTokenUrl() { return $this->requestTokenUrl; } public function getAuthTokenFromUrl() { return ''; } public function getUserData() { return ''; } } /** * AWeberAPIBase * * Base object that all AWeberAPI objects inherit from. Allows specific pieces * of functionality to be shared across any object in the API, such as the * ability to introspect the collections map. * * @package * @version $id$ */ class AWeberAPIBase { /** * Maintains data about what children collections a given object type * contains. */ static protected $_collectionMap = array( 'account' => array('lists', 'integrations'), 'broadcast_campaign' => array('links', 'messages', 'stats'), 'followup_campaign' => array('links', 'messages', 'stats'), 'link' => array('clicks'), 'list' => array('campaigns', 'custom_fields', 'subscribers', 'web_forms', 'web_form_split_tests'), 'web_form' => array(), 'web_form_split_test' => array('components'), ); /** * loadFromUrl * * Creates an object, either collection or entry, based on the given * URL. * * @param mixed $url URL for this request * @access public * @return AWeberEntry or AWeberCollection */ public function loadFromUrl($url) { $data = $this->adapter->request('GET', $url); return $this->readResponse($data, $url); } protected function _cleanUrl($url) { return str_replace($this->adapter->app->getBaseUri(), '', $url); } /** * readResponse * * Interprets a response, and creates the appropriate object from it. * @param mixed $response Data returned from a request to the AWeberAPI * @param mixed $url URL that this data was requested from * @access protected * @return mixed */ protected function readResponse($response, $url) { $this->adapter->parseAsError($response); if (!empty($response['id'])) { return new AWeberEntry($response, $url, $this->adapter); } else if (array_key_exists('entries', $response)) { return new AWeberCollection($response, $url, $this->adapter); } return false; } } /** * AWeberAPI * * Creates a connection to the AWeberAPI for a given consumer application. * This is generally the starting point for this library. Instances can be * created directly with consumerKey and consumerSecret. * @uses AWeberAPIBase * @package * @version $id$ */ class AWeberAPI extends AWeberAPIBase { /** * @var String Consumer Key */ public $consumerKey = false; /** * @var String Consumer Secret */ public $consumerSecret = false; /** * @var Object - Populated in setAdapter() */ public $adapter = false; /** * Uses the app's authorization code to fetch an access token * * @param String Authorization code from authorize app page */ public static function getDataFromAweberID($string) { list($consumerKey, $consumerSecret, $requestToken, $tokenSecret, $verifier) = AWeberAPI::_parseAweberID($string); if (!$verifier) { return null; } $aweber = new AweberAPI($consumerKey, $consumerSecret); $aweber->adapter->user->requestToken = $requestToken; $aweber->adapter->user->tokenSecret = $tokenSecret; $aweber->adapter->user->verifier = $verifier; list($accessToken, $accessSecret) = $aweber->getAccessToken(); return array($consumerKey, $consumerSecret, $accessToken, $accessSecret); } protected static function _parseAWeberID($string) { $values = explode('|', $string); if (count($values) < 5) { return null; } return array_slice($values, 0, 5); } /** * Sets the consumer key and secret for the API object. The * key and secret are listed in the My Apps page in the labs.aweber.com * Control Panel OR, in the case of distributed apps, will be returned * from the getDataFromAweberID() function * * @param String Consumer Key * @param String Consumer Secret * @return null */ public function __construct($key, $secret) { // Load key / secret $this->consumerKey = $key; $this->consumerSecret = $secret; $this->setAdapter(); } /** * Returns the authorize URL by appending the request * token to the end of the Authorize URI, if it exists * * @return string The Authorization URL */ public function getAuthorizeUrl() { $requestToken = $this->user->requestToken; return (empty($requestToken)) ? $this->adapter->app->getAuthorizeUrl() : $this->adapter->app->getAuthorizeUrl() . "?oauth_token={$this->user->requestToken}"; } /** * Sets the adapter for use with the API */ public function setAdapter($adapter=null) { if (empty($adapter)) { $serviceProvider = new AWeberServiceProvider(); $adapter = new OAuthApplication($serviceProvider); $adapter->consumerKey = $this->consumerKey; $adapter->consumerSecret = $this->consumerSecret; } $this->adapter = $adapter; } /** * Fetches account data for the associated account * * @param String Access Token (Only optional/cached if you called getAccessToken() earlier * on the same page) * @param String Access Token Secret (Only optional/cached if you called getAccessToken() earlier * on the same page) * @return Object AWeberCollection Object with the requested * account data */ public function getAccount($token=false, $secret=false) { if ($token && $secret) { $user = new OAuthUser(); $user->accessToken = $token; $user->tokenSecret = $secret; $this->adapter->user = $user; } $body = $this->adapter->request('GET', '/accounts'); $accounts = $this->readResponse($body, '/accounts'); return $accounts[0]; } /** * PHP Automagic */ public function __get($item) { if ($item == 'user') return $this->adapter->user; trigger_error("Could not find \"{$item}\""); } /** * Request a request token from AWeber and associate the * provided $callbackUrl with the new token * @param String The URL where users should be redirected * once they authorize your app * @return Array Contains the request token as the first item * and the request token secret as the second item of the array */ public function getRequestToken($callbackUrl) { $requestToken = $this->adapter->getRequestToken($callbackUrl); return array($requestToken, $this->user->tokenSecret); } /** * Request an access token using the request tokens stored in the * current user object. You would want to first set the request tokens * on the user before calling this function via: * * $aweber->user->tokenSecret = $_COOKIE['requestTokenSecret']; * $aweber->user->requestToken = $_GET['oauth_token']; * $aweber->user->verifier = $_GET['oauth_verifier']; * * @return Array Contains the access token as the first item * and the access token secret as the second item of the array */ public function getAccessToken() { return $this->adapter->getAccessToken(); } } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Генерация страницы: 0.06 |
proxy
|
phpinfo
|
Настройка