$88 GRAYBYTE WORDPRESS FILE MANAGER $68

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Tracking/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Tracking//TrackingServiceProvider.php
<?php

namespace Give\Tracking;

use Give\Helpers\Hooks;
use Give\ServiceProviders\ServiceProvider;
use Give\Tracking\Events\CampaignsTracking;
use Give\Tracking\Events\DonationFormsTracking;
use Give\Tracking\Events\DonationMetricsTracking;
use Give\Tracking\Events\EditedDonationFormsTracking;
use Give\Tracking\Events\GivePluginSettingsTracking;
use Give\Tracking\Events\PluginsTracking;
use Give\Tracking\Events\ThemeTracking;
use Give\Tracking\Events\WebsiteTracking;
use Give\Tracking\Helpers\Track;

/**
 * Class TrackingServiceProvider
 * @package Give\Tracking
 *
 * @since 2.10.0
 */
class TrackingServiceProvider implements ServiceProvider
{
    /**
     * @inheritdoc
     */
    public function register()
    {
        give()->singleton(TrackRegisterer::class);
    }

    /**
     * @inheritdoc
     *
     * @since 3.0.0 Enable tracking if request is made by form builder
     */
    public function boot()
    {
        $isTrackingEnabled = Track::isTrackingEnabled();

        if ($isTrackingEnabled) {
            Hooks::addAction(TrackJobScheduler::CRON_JOB_HOOK_NAME, TrackJob::class, 'send');
        }

        // Enable telemetry for Visual Form Builder
        add_action('rest_api_init', function () use ($isTrackingEnabled) {
            $restRoute = $GLOBALS['wp']->query_vars['rest_route'] ?? '';
            if (empty($restRoute)) {
                return;
            }

            $isV3FormRoute = strpos($restRoute, 'givewp/v3/form') !== false;
            if ($isTrackingEnabled && $isV3FormRoute) {
                $this->enableTracking();
            }
        });

        if (is_admin()) {
            if ($isTrackingEnabled) {
                $this->enableTracking();
            }

            if (Track::checkEnvironment()) {
                Hooks::addFilter('give_get_settings_advanced', AdminSettings::class, 'addSettings');
                Hooks::addAction('give_opt_in_into_tracking', AdminActionHandler::class, 'optInToUsageTracking');
                Hooks::addAction(
                    'give_hide_opt_in_notice_shortly',
                    AdminActionHandler::class,
                    'optOutFromUsageTracking'
                );
                Hooks::addAction(
                    'give_hide_opt_in_notice_permanently',
                    AdminActionHandler::class,
                    'optOutFromUsageTracking'
                );
                Hooks::addAction(
                    'update_option_give_settings',
                    AdminActionHandler::class,
                    'optInToUsageTrackingAdminGrantManually',
                    10,
                    2
                );
                Hooks::addAction('give_setup_page_before_sections', UsageTrackingOnBoarding::class, 'addNotice', 0);
                Hooks::addAction('admin_notices', UsageTrackingOnBoarding::class, 'addNotice');
            }
        }
    }

    /**
     * @since 3.0.0
     */
    private function enableTracking()
    {
        $this->registerTrackEvents();
        Hooks::addAction('shutdown', TrackJobScheduler::class, 'schedule', 999);
    }

    /**
     * Register track events.
     *
     * 'give_send_tracking_data' action hook that will be triggered track routine cron job.
     *
     * @since 3.0.0 Add support for v3 forms
     * @since 2.10.0
     */
    private function registerTrackEvents()
    {
        Hooks::addAction('givewp_form_builder_updated', EditedDonationFormsTracking::class, 'formBuilderUpdatedHookHandler');
        Hooks::addAction('save_post_give_forms', EditedDonationFormsTracking::class, 'savePostHookHandler');
        Hooks::addAction('save_post_give_payment', DonationFormsTracking::class, 'record');
        Hooks::addAction('save_post_give_payment', DonationMetricsTracking::class, 'record');
        Hooks::addAction('upgrader_process_complete', ThemeTracking::class, 'themeUpdateTrackingHandler', 10, 2);
        Hooks::addAction('shutdown', WebsiteTracking::class, 'websiteUpdateTrackingHandler');
        Hooks::addAction('update_option_give_settings', GivePluginSettingsTracking::class, 'record');
        Hooks::addAction('update_option_active_plugins', PluginsTracking::class, 'record');
        Hooks::addAction('switch_theme', ThemeTracking::class, 'record');
        Hooks::addAction('givewp_campaign_updated', CampaignsTracking::class, 'record');
    }
}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Contracts
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Enum
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Events
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Helpers
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Repositories
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
TrackingData
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
AccessToken.php
1.497 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
AdminActionHandler.php
4.903 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
AdminSettings.php
1.48 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TrackClient.php
2.14 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TrackJob.php
2.116 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TrackJobScheduler.php
1.138 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TrackRegisterer.php
1.531 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TrackingServiceProvider.php
4.257 KB
11 Jun 2025 10.57 PM
bravrvjk / bravrvjk
0644
UsageTrackingOnBoarding.php
4.466 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF