/** * {@inheritdoc} */ protected function getTemplateVariables() { $clientId = $this->_persistenceHelper->getClientId($this->_provider); $clientSecret = $this->_persistenceHelper->getClientSecret($this->_provider); $tokens = $this->getOptionPersistence()->fetch(tubepress_api_options_Names::OAUTH2_TOKENS); $decodedTokens = json_decode($tokens, true); $providerName = $this->_provider->getName(); if (!isset($decodedTokens[$providerName]) || !is_array($decodedTokens[$providerName])) { $slugs = array(); } else { $slugs = array_keys($decodedTokens[$providerName]); } return array('clientId' => $clientId, 'clientSecret' => $clientSecret, 'provider' => $this->_provider, 'oauth2StartUrl' => $this->_oauth2Environment->getAuthorizationInitiationUrl($this->_provider), 'slugs' => $slugs); }
public function __construct(tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider, tubepress_api_options_PersistenceInterface $persistence, tubepress_api_http_RequestParametersInterface $requestParams, tubepress_api_template_TemplatingInterface $templating, tubepress_http_oauth2_impl_util_PersistenceHelper $persistenceHelper, tubepress_api_http_oauth2_Oauth2EnvironmentInterface $oauth2Environment, tubepress_api_translation_TranslatorInterface $translator) { parent::__construct('clientInstructions_' . $provider->getName(), $persistence, $requestParams, $templating, 'Initial Setup'); $this->_persistenceHelper = $persistenceHelper; $this->_provider = $provider; $this->_oauth2Environment = $oauth2Environment; $this->_translator = $translator; }
/** * @return tubepress_api_url_UrlInterface */ private function _startAdminUrl($pageSlug, tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider) { $asString = $this->_wpFunctions->admin_url('admin.php'); $toReturn = $this->_urlFactory->fromString($asString); $providerName = $provider->getName(); $toReturn->getQuery()->set('page', $pageSlug)->set('provider', $providerName)->set('csrf_token', $this->getCsrfSecret()); return $toReturn; }
private function _getInfo(tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider, $dataPoint) { $clients = $this->_persistence->fetch(tubepress_api_options_Names::OAUTH2_CLIENT_DETAILS); $decodedClients = json_decode($clients, true); $providerName = $provider->getName(); $path = $providerName . '.' . $dataPoint; return $this->_arrayReader->getAsString($decodedClients, $path, null); }
private function _getSessionKey(tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider) { if (version_compare(phpversion(), '5.4.0', '>=')) { $sessionStatus = session_status(); $sessionActive = $sessionStatus === PHP_SESSION_ACTIVE; } else { $sessionActive = session_id() === ''; } if (!$sessionActive) { $sessionStarted = @session_start(); if (!$sessionStarted) { $this->bail('Unable to start session.'); } } return 'tubepress_oauth2_state_' . $provider->getName(); }
public function __construct(tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider, tubepress_api_options_PersistenceInterface $persistence, tubepress_api_http_RequestParametersInterface $requestParams, tubepress_api_template_TemplatingInterface $templating, tubepress_http_oauth2_impl_util_PersistenceHelper $persistenceHelper) { parent::__construct('clientId_' . $provider->getName(), $persistence, $requestParams, $templating, $provider->getUntranslatedTermForClientId()); $this->_persistenceHelper = $persistenceHelper; $this->_provider = $provider; }