HEX
Server: Apache
System: Linux efa57bbe-abb1-400d-2985-3b056fbc2701.secureserver.net 6.1.147-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 24 12:33:32 EDT 2025 x86_64
User: root (0)
PHP: 8.0.30.4
Disabled: NONE
Upload Files
File: //var/www/wp-content/mu-plugins/vendor/godaddy/mwc-core/src/Interceptors/Interceptors.php
<?php

namespace GoDaddy\WordPress\MWC\Core\Interceptors;

use GoDaddy\WordPress\MWC\Common\Components\Contracts\ComponentContract;
use GoDaddy\WordPress\MWC\Common\Components\Exceptions\ComponentClassesNotDefinedException;
use GoDaddy\WordPress\MWC\Common\Components\Exceptions\ComponentLoadFailedException;
use GoDaddy\WordPress\MWC\Common\Components\Traits\HasComponentsFromContainerTrait;
use GoDaddy\WordPress\MWC\Common\Interceptors\AbstractInterceptor;
use GoDaddy\WordPress\MWC\Core\Analytics\Interceptors\GoogleAnalyticsEventInterceptor;
use GoDaddy\WordPress\MWC\Core\Analytics\Interceptors\ScriptEventDataInterceptor;
use GoDaddy\WordPress\MWC\Core\Channels\Interceptors\FindOrCreateOrderChannelActionInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\Commerce\Catalog\Interceptors\AssetUserInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\Commerce\Catalog\Interceptors\SetDefaultsOnNewInstallsInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\Commerce\Interceptors\StoreIdInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\GiftCertificates\Interceptors\GiftCertificateInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\Shipping\Interceptors\StoreLocationChangeInterceptor;
use GoDaddy\WordPress\MWC\Core\Features\Stripe\Interceptors\RedirectInterceptor;
use GoDaddy\WordPress\MWC\Core\HostingPlans\Interceptors\DetectHostingPlanChangeActionInterceptor;
use GoDaddy\WordPress\MWC\Core\HostingPlans\Interceptors\RegisterHostingPlanChangeActionInterceptor;
use GoDaddy\WordPress\MWC\Core\JobQueue\Interceptors\QueuedJobInterceptor;
use GoDaddy\WordPress\MWC\Core\JobQueue\Interceptors\RegisterCliCommandsInterceptor;
use GoDaddy\WordPress\MWC\Core\Payments\Poynt\Interceptors\AutoConnectInterceptor;
use GoDaddy\WordPress\MWC\Core\Payments\Poynt\Interceptors\BroadcastSyncedProductsInterceptor;
use GoDaddy\WordPress\MWC\Core\Payments\Poynt\Interceptors\PullProductsActionInterceptor;
use GoDaddy\WordPress\MWC\Core\Payments\Poynt\Interceptors\PushProductsActionInterceptor;
use GoDaddy\WordPress\MWC\Core\Payments\Stripe\Interceptors\CartInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\CouponInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\CustomerInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\DomainChangeInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\GoDaddyBrandingInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\OrderInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\ProductInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\WcLogRetentionInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Interceptors\WooCommerceSubscriptionsInterceptor;
use GoDaddy\WordPress\MWC\Core\WooCommerce\Overrides\DefaultSettings;
use GoDaddy\WordPress\MWC\Core\WordPress\Interceptors\EnforcePostNamePermalinksInterceptor;
use GoDaddy\WordPress\MWC\Core\WordPress\Interceptors\PageModifiedInterceptor;
use GoDaddy\WordPress\MWC\Core\WordPress\Interceptors\ReviewInterceptor;
use GoDaddy\WordPress\MWC\Core\WordPress\Interceptors\SiteCustomizationInterceptor;
use GoDaddy\WordPress\MWC\Core\WordPress\Interceptors\ThemeCustomizationInterceptor;
use GoDaddy\WordPress\MWC\Core\WordPress\Plugins\Overrides\Interceptors\DisableBlockedPluginsInterceptor;

/**
 * The Interceptors class instantiates AbstractInterceptor instances for hooking into actions and filters.
 */
class Interceptors implements ComponentContract
{
    use HasComponentsFromContainerTrait;

    /** @var class-string<AbstractInterceptor>[] list of class names that extend AbstractInterceptor */
    protected array $componentClasses = [
        AssetUserInterceptor::class, // we want this loaded even if the Commerce integration gets disabled to prevent confusing behaviour for merchants
        AutoConnectInterceptor::class,
        BroadcastSyncedProductsInterceptor::class,
        CartInterceptor::class,
        CouponInterceptor::class,
        CustomerInterceptor::class,
        DetectHostingPlanChangeActionInterceptor::class,
        DisableBlockedPluginsInterceptor::class,
        DomainChangeInterceptor::class,
        FindOrCreateOrderChannelActionInterceptor::class,
        GiftCertificateInterceptor::class,
        GoogleAnalyticsEventInterceptor::class,
        OrderInterceptor::class,
        ProductInterceptor::class,
        PullProductsActionInterceptor::class,
        PushProductsActionInterceptor::class,
        QueuedJobInterceptor::class,
        RedirectInterceptor::class,
        //RefreshFeatureEvaluationsInterceptor::class, // {llessa 2023-08-02} Stops feature flag API calls: MWC-13393
        RegisterCliCommandsInterceptor::class,
        RegisterHostingPlanChangeActionInterceptor::class,
        ReviewInterceptor::class,
        DefaultSettings::class,
        ScriptEventDataInterceptor::class,
        SetDefaultsOnNewInstallsInterceptor::class,
        StoreIdInterceptor::class, // @TODO move this to a new, less generic component in MWC-9753 {agibson 2022-12-21}
        StoreLocationChangeInterceptor::class,
        EnforcePostNamePermalinksInterceptor::class,
        WooCommerceSubscriptionsInterceptor::class,
        ThemeCustomizationInterceptor::class,
        SiteCustomizationInterceptor::class,
        PageModifiedInterceptor::class,
        WcLogRetentionInterceptor::class,
        GoDaddyBrandingInterceptor::class,
    ];

    /**
     * {@inheritDoc}
     *
     * @throws ComponentClassesNotDefinedException|ComponentLoadFailedException
     */
    public function load() : void
    {
        $this->loadComponents();
    }
}