HEX
Server: LiteSpeed
System: Linux eko108.isimtescil.net 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: uyarreklamcomtr (11202)
PHP: 7.4.33
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/IntegrationInitializer.php.tar
httpdocs/wp-content/plugins/google-listings-and-ads/src/Integration/IntegrationInitializer.php000064400000002305151550176540035311 0ustar00var/www/vhosts/uyarreklam.com.tr<?php
declare( strict_types=1 );

namespace Automattic\WooCommerce\GoogleListingsAndAds\Integration;

use Automattic\WooCommerce\GoogleListingsAndAds\Exception\ValidateInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Registerable;
use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Service;

defined( 'ABSPATH' ) || exit;

/**
 * Class IntegrationInitializer
 *
 * Initializes all active integrations.
 *
 * @package Automattic\WooCommerce\GoogleListingsAndAds\Integration
 */
class IntegrationInitializer implements Service, Registerable {

	use ValidateInterface;

	/**
	 * @var IntegrationInterface[]
	 */
	protected $integrations = [];

	/**
	 * IntegrationInitializer constructor.
	 *
	 * @param IntegrationInterface[] $integrations
	 */
	public function __construct( array $integrations ) {
		foreach ( $integrations as $integration ) {
			$this->validate_instanceof( $integration, IntegrationInterface::class );
			$this->integrations[] = $integration;
		}
	}

	/**
	 * Initialize all active integrations.
	 */
	public function register(): void {
		foreach ( $this->integrations as $integration ) {
			if ( $integration->is_active() ) {
				$integration->init();
			}
		}
	}
}