![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets-rebuild.corals.io/wp-content/plugins/give/src/Tracking/ |
<?php namespace Give\Tracking; use Give\Tracking\Enum\EventType; use Give\Tracking\Repositories\TelemetryAccessDetails; use Give\Tracking\TrackingData\WebsiteInfoData; /** * Class AccessTokenGenerator * @package Give\Tracking * * @since 2.10.0 */ class AccessToken { /** * @var TrackClient */ private $trackClient; /** * @var TelemetryAccessDetails */ private $telemetryAccessDetails; /** * AccessToken constructor. * * @param TrackClient $trackClient * @param TelemetryAccessDetails $telemetryAccessDetails */ public function __construct(TrackClient $trackClient, TelemetryAccessDetails $telemetryAccessDetails) { $this->trackClient = $trackClient; $this->telemetryAccessDetails = $telemetryAccessDetails; } /** * Store access token * * @since 2.10.0 */ public function store() { /* @var WebsiteInfoData $dataClass */ $dataClass = give(WebsiteInfoData::class); $response = $this->trackClient->post(new EventType(EventType::CREATE_TOKEN), $dataClass, ['blocking' => true]); if (is_wp_error($response)) { return false; } $response = json_decode(wp_remote_retrieve_body($response), true); if (empty($response['success'])) { return false; } $token = $response['data']['access_token']; $this->telemetryAccessDetails->saveAccessTokenOptionValue($token); return true; } }