PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.3
GiveWP – Donation Plugin and Fundraising Platform v3.0.3
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 / TrackRegisterer.php
give / src / Tracking Last commit date
Contracts 4 years ago Enum 4 years ago Events 2 years ago Helpers 4 years ago Repositories 4 years ago TrackingData 2 years ago AccessToken.php 4 years ago AdminActionHandler.php 4 years ago AdminSettings.php 4 years ago TrackClient.php 4 years ago TrackJob.php 4 years ago TrackJobScheduler.php 4 years ago TrackRegisterer.php 4 years ago TrackingServiceProvider.php 2 years ago UsageTrackingOnBoarding.php 4 years ago
TrackRegisterer.php
85 lines
1 <?php
2
3 namespace Give\Tracking;
4
5 use Give\Tracking\Enum\EventType;
6 use Give\Tracking\Repositories\TrackEvents;
7
8 /**
9 * Class TrackRegisterer
10 *
11 * This class uses to recode tracks and send them to sever on "shutdown" action hook.
12 *
13 * @package Give\Tracking
14 * @since 2.10.0
15 */
16 class TrackRegisterer
17 {
18 /**
19 * Collection of track events.
20 *
21 * @sicne 2.10.0
22 * @var array
23 */
24 private $newTracks = [];
25
26 /**
27 * Recoded tracks.
28 * @var array
29 */
30 private $recordedTracks;
31
32 /**
33 * Track constructor.
34 *
35 * @param TrackEvents $trackEvents
36 */
37 public function __construct(TrackEvents $trackEvents)
38 {
39 $this->recordedTracks = $trackEvents->getTrackList();
40 }
41
42 /**
43 * Register track.
44 *
45 * @since 2.10.0
46 *
47 * @param string $trackData
48 *
49 * @param EventType $eventType
50 */
51 public function register($eventType, $trackData)
52 {
53 $id = $eventType->getValue();
54 if (array_key_exists($id, $this->recordedTracks) || ! $trackData) {
55 return;
56 }
57
58 $this->newTracks[$id] = $trackData;
59 }
60
61 /**
62 * Get new tracks.
63 *
64 * @since 2.10.0
65 *
66 * @return array
67 */
68 public function getTrackList()
69 {
70 return array_merge($this->recordedTracks, $this->newTracks);
71 }
72
73 /**
74 * Return whether or not new tracks registered.
75 *
76 * @since 2.10.0
77 *
78 * @return bool
79 */
80 public function hasNewTracks()
81 {
82 return (bool)$this->newTracks;
83 }
84 }
85