Server IP : 192.158.238.246 / Your IP : 18.227.209.41 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/cwd/plugins/give/src/Tracking/ |
Upload File : |
<?php namespace Give\Tracking; use Give\Tracking\Contracts\TrackData; use Give\Tracking\Enum\EventType; use Give\Tracking\Repositories\TrackEvents; use Give\Tracking\TrackingData\EditedDonationFormsData; /** * Class TrackJob * * @package Give\Tracking * @since 2.10.0 */ class TrackJob { /** * @var TrackClient */ private $trackClient; /** * @var TrackEvents */ private $trackEvents; /** * TrackJob constructor. * * @param TrackClient $trackClient * @param TrackEvents $trackEvents */ public function __construct(TrackClient $trackClient, TrackEvents $trackEvents) { $this->trackClient = $trackClient; $this->trackEvents = $trackEvents; } /** * Send tracks. * * @since 2.10.0 */ public function send() { $recordedTracks = $this->trackEvents->getTrackList(); if ( ! $recordedTracks) { return; } foreach ($recordedTracks as $trackId => $className) { /* @var TrackData $class */ $class = give($className); $eventType = new EventType($trackId); if ($class instanceof TrackData) { $this->trackClient->post($eventType, $class); } } $this->trackEvents->saveRequestTime(); $this->trackEvents->removeTrackList(); if (in_array(EditedDonationFormsData::class, $recordedTracks, true)) { $this->trackEvents->removeRecentlyEditedDonationFormList(); } } /** * Send tracked information immediately. * * @since 2.10.2 * * @param array $trackedEvents */ public function sendNow($trackedEvents) { /* @var TrackEvents $trackEvents */ $trackEvents = give(TrackEvents::class); foreach ($trackedEvents as $trackEvent) { give($trackEvent)->record(); } $trackEvents->saveTrackList(); $this->send(); // Do not setup cron job. $class = TrackJobScheduler::class; add_filter("give_disable_hook-shutdown:{$class}@schedule", '__return_true'); } }