/**
  * {@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();
 }
Example #6
0
 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;
 }