%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.191.135.214 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/seo/lib/checkout/ |
Upload File : |
<?php namespace Bitrix\Seo\Checkout; use Bitrix\Main\Loader; use Bitrix\Main\Web\Uri; use Bitrix\Main\SystemException; use Bitrix\Seo\Service as SeoService; /** * Class AuthAdapter * @package Bitrix\Seo\Checkout */ class AuthAdapter { /** @var IService $service */ protected $service; protected $type; protected $data; /** @var array $parameters Parameters. */ protected $parameters = ['URL_PARAMETERS' => []]; /** * AuthAdapter constructor. * @param $type */ public function __construct($type) { $this->type = $type; } /** * @param $type * @param IService|null $service * @return AuthAdapter * @throws SystemException * @throws \Bitrix\Main\LoaderException */ public static function create($type, IService $service = null) { if (!Loader::includeModule('socialservices')) { throw new SystemException('Module "socialservices" not installed.'); } $instance = new static($type); if ($service) { $instance->setService($service); } return $instance; } /** * @param IService $service * @return $this */ public function setService(IService $service) { $this->service = $service; return $this; } /** * @param array $parameters * @return $this */ public function setParameters(array $parameters = []) { $this->parameters = $parameters + $this->parameters; return $this; } /** * @return string * @throws SystemException */ public function getAuthUrl() { if (!SeoService::isRegistered()) { SeoService::register(); } $authorizeUrl = SeoService::getAuthorizeLink(); $authorizeData = SeoService::getAuthorizeData($this->getEngineCode()); $uri = new Uri($authorizeUrl); if (!empty($this->parameters['URL_PARAMETERS'])) { $authorizeData['urlParameters'] = $this->parameters['URL_PARAMETERS']; } $uri->addParams($authorizeData); return $uri->getLocator(); } /** * @param bool $isUseCache * @return bool */ protected function getAuthData($isUseCache = true) { if (!$isUseCache || !$this->data || count($this->data) == 0) { $this->data = SeoService::getAuth($this->getEngineCode()); } return $this->data; } public function removeAuth() { $this->data = array(); if ($existedAuthData = $this->getAuthData(false)) { SeoService::clearAuth($this->getEngineCode()); } } /** * @return string */ protected function getEngineCode() { if ($this->service) { return $this->service->getEngineCode($this->type); } else { return Service::getEngineCode($this->type); } } /** * @return mixed */ public function getType() { return $this->type; } /** * @return mixed|null */ public function getToken() { $data = $this->getAuthData(); return $data ? $data['access_token'] : null; } /** * @return bool */ public function hasAuth() { return $this->getToken() <> ''; } }