PluginProbe
Hostinger Tools / 3.0.46
Hostinger Tools v3.0.46
3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 All 108 releases
hostinger / includes / Mcp / EventHandlerFactory.php

EventHandlerFactory.php in Hostinger Tools 3.0.46, at includes/Mcp/EventHandlerFactory.php

39 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Hostinger\Mcp;
4
5 use Hostinger\Admin\Proxy;
6 use Hostinger\Mcp\Handlers\WebsiteMcpOptInToggled;
7 use Hostinger\Mcp\Handlers\WebsitePageUpdated;
8 use Hostinger\Mcp\Handlers\WebsiteUpdated;
9
10 defined( 'ABSPATH' ) || exit;
11
12 class EventHandlerFactory {
13
14 public const MCP_EVENT_UPDATED = 'wordpress.website.updated';
15 public const MCP_EVENT_PAGE_UPDATED = 'wordpress.website.page_updated';
16 public const MCP_EVENT_OPTIN_TOGGLED = 'wordpress.website.mcp.opt_in_toggled';
17
18 private array $handlers;
19 private Proxy $proxy;
20
21 public function __construct( Proxy $proxy ) {
22 $this->proxy = $proxy;
23 $this->handlers = array(
24 self::MCP_EVENT_UPDATED => WebsiteUpdated::class,
25 self::MCP_EVENT_PAGE_UPDATED => WebsitePageUpdated::class,
26 self::MCP_EVENT_OPTIN_TOGGLED => WebsiteMcpOptInToggled::class,
27 );
28 }
29
30 public function get_handler( string $event ) {
31 $handler = $this->handlers[ $event ] ?? false;
32 if ( ! $handler ) {
33 throw new \WP_Exception( 'Invalid event' );
34 }
35
36 return new $handler( $this->proxy );
37 }
38 }
39