| Server IP : 46.105.57.169 / Your IP : 216.73.216.67 Web Server : Apache System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaumee ( 152031) PHP Version : 8.5.7 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaumee/blueversion/wp-content/plugins/give/src/Tracking/ |
Upload File : |
<?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;
}
}