PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.12.1
GiveWP – Donation Plugin and Fundraising Platform v2.12.1
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Tracking / AccessToken.php
give / src / Tracking Last commit date
Contracts 5 years ago Enum 5 years ago Events 5 years ago Helpers 5 years ago Repositories 5 years ago TrackingData 4 years ago AccessToken.php 5 years ago AdminActionHandler.php 5 years ago AdminSettings.php 5 years ago TrackClient.php 5 years ago TrackJob.php 5 years ago TrackJobScheduler.php 5 years ago TrackRegisterer.php 5 years ago TrackingServiceProvider.php 5 years ago UsageTrackingOnBoarding.php 5 years ago
AccessToken.php
62 lines
1 <?php
2
3 namespace Give\Tracking;
4
5 use Give\Tracking\Enum\EventType;
6 use Give\Tracking\Repositories\TelemetryAccessDetails;
7 use Give\Tracking\TrackingData\WebsiteInfoData;
8
9 /**
10 * Class AccessTokenGenerator
11 * @package Give\Tracking
12 *
13 * @since 2.10.0
14 */
15 class AccessToken {
16 /**
17 * @var TrackClient
18 */
19 private $trackClient;
20
21 /**
22 * @var TelemetryAccessDetails
23 */
24 private $telemetryAccessDetails;
25
26 /**
27 * AccessToken constructor.
28 *
29 * @param TrackClient $trackClient
30 * @param TelemetryAccessDetails $telemetryAccessDetails
31 */
32 public function __construct( TrackClient $trackClient, TelemetryAccessDetails $telemetryAccessDetails ) {
33 $this->trackClient = $trackClient;
34 $this->telemetryAccessDetails = $telemetryAccessDetails;
35 }
36
37 /**
38 * Store access token
39 *
40 * @since 2.10.0
41 */
42 public function store() {
43 /* @var WebsiteInfoData $dataClass */
44 $dataClass = give( WebsiteInfoData::class );
45
46 $response = $this->trackClient->post( new EventType( EventType::CREATE_TOKEN ), $dataClass, [ 'blocking' => true ] );
47 if ( is_wp_error( $response ) ) {
48 return false;
49 }
50
51 $response = json_decode( wp_remote_retrieve_body( $response ), true );
52 if ( empty( $response['success'] ) ) {
53 return false;
54 }
55
56 $token = $response['data']['access_token'];
57 $this->telemetryAccessDetails->saveAccessTokenOptionValue( $token );
58
59 return true;
60 }
61 }
62