Server IP : 192.64.112.168 / Your IP : 3.144.3.235 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/expressoneac/www/wp-content/plugins/woocommerce/src/Admin/Marketing/ |
Upload File : |
<?php /** * Handles the registration of marketing channels and acts as their repository. */ namespace Automattic\WooCommerce\Admin\Marketing; use Exception; /** * MarketingChannels repository class * * @since x.x.x */ class MarketingChannels { /** * The registered marketing channels. * * @var MarketingChannelInterface[] */ private $registered_channels = []; /** * Registers a marketing channel. * * @param MarketingChannelInterface $channel The marketing channel to register. * * @return void * * @throws Exception If the given marketing channel is already registered. */ public function register( MarketingChannelInterface $channel ): void { if ( isset( $this->registered_channels[ $channel->get_slug() ] ) ) { throw new Exception( __( 'Marketing channel cannot be registered because there is already a channel registered with the same slug!', 'woocommerce' ) ); } $this->registered_channels[ $channel->get_slug() ] = $channel; } /** * Unregisters all marketing channels. * * @return void */ public function unregister_all(): void { unset( $this->registered_channels ); } /** * Returns an array of all registered marketing channels. * * @return MarketingChannelInterface[] */ public function get_registered_channels(): array { /** * Filter the list of registered marketing channels. * * @param MarketingChannelInterface[] $channels Array of registered marketing channels. * * @since x.x.x */ $channels = apply_filters( 'woocommerce_marketing_channels', $this->registered_channels ); return array_values( $channels ); } }