PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.0
GiveWP – Donation Plugin and Fundraising Platform v2.22.0
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 / TrackingServiceProvider.php
give / src / Tracking Last commit date
Contracts 4 years ago Enum 4 years ago Events 4 years ago Helpers 4 years ago Repositories 4 years ago TrackingData 4 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 4 years ago UsageTrackingOnBoarding.php 4 years ago
TrackingServiceProvider.php
94 lines
1 <?php
2
3 namespace Give\Tracking;
4
5 use Give\Helpers\Hooks;
6 use Give\ServiceProviders\ServiceProvider;
7 use Give\Tracking\Events\DonationFormsTracking;
8 use Give\Tracking\Events\DonationMetricsTracking;
9 use Give\Tracking\Events\EditedDonationFormsTracking;
10 use Give\Tracking\Events\GivePluginSettingsTracking;
11 use Give\Tracking\Events\PluginsTracking;
12 use Give\Tracking\Events\ThemeTracking;
13 use Give\Tracking\Events\WebsiteTracking;
14 use Give\Tracking\Helpers\Track;
15
16 /**
17 * Class TrackingServiceProvider
18 * @package Give\Tracking
19 *
20 * @since 2.10.0
21 */
22 class TrackingServiceProvider implements ServiceProvider
23 {
24 /**
25 * @inheritdoc
26 */
27 public function register()
28 {
29 give()->singleton(TrackRegisterer::class);
30 }
31
32 /**
33 * @inheritdoc
34 */
35 public function boot()
36 {
37 $isTrackingEnabled = Track::isTrackingEnabled();
38
39 if ($isTrackingEnabled) {
40 Hooks::addAction(TrackJobScheduler::CRON_JOB_HOOK_NAME, TrackJob::class, 'send');
41 }
42
43 if (is_admin()) {
44 if ($isTrackingEnabled) {
45 $this->registerTrackEvents();
46 Hooks::addAction('shutdown', TrackJobScheduler::class, 'schedule', 999);
47 }
48
49 if (Track::checkEnvironment()) {
50 Hooks::addFilter('give_get_settings_advanced', AdminSettings::class, 'addSettings');
51 Hooks::addAction('give_opt_in_into_tracking', AdminActionHandler::class, 'optInToUsageTracking');
52 Hooks::addAction(
53 'give_hide_opt_in_notice_shortly',
54 AdminActionHandler::class,
55 'optOutFromUsageTracking'
56 );
57 Hooks::addAction(
58 'give_hide_opt_in_notice_permanently',
59 AdminActionHandler::class,
60 'optOutFromUsageTracking'
61 );
62 Hooks::addAction(
63 'update_option_give_settings',
64 AdminActionHandler::class,
65 'optInToUsageTrackingAdminGrantManually',
66 10,
67 2
68 );
69 Hooks::addAction('give_setup_page_before_sections', UsageTrackingOnBoarding::class, 'addNotice', 0);
70 Hooks::addAction('admin_notices', UsageTrackingOnBoarding::class, 'addNotice');
71 }
72 }
73 }
74
75 /**
76 * Register track events.
77 *
78 * 'give_send_tracking_data' action hook that will be triggered track routine cron job.
79 *
80 * @since 2.10.0
81 */
82 private function registerTrackEvents()
83 {
84 Hooks::addAction('save_post_give_forms', EditedDonationFormsTracking::class, 'savePostHookHandler');
85 Hooks::addAction('save_post_give_payment', DonationFormsTracking::class, 'record');
86 Hooks::addAction('save_post_give_payment', DonationMetricsTracking::class, 'record');
87 Hooks::addAction('upgrader_process_complete', ThemeTracking::class, 'themeUpdateTrackingHandler', 10, 2);
88 Hooks::addAction('shutdown', WebsiteTracking::class, 'websiteUpdateTrackingHandler');
89 Hooks::addAction('update_option_give_settings', GivePluginSettingsTracking::class, 'record');
90 Hooks::addAction('update_option_active_plugins', PluginsTracking::class, 'record');
91 Hooks::addAction('switch_theme', ThemeTracking::class, 'record');
92 }
93 }
94