PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.71
Hostinger Tools v3.0.71
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 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 3.0.0 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.59 3.0.6 3.0.60 3.0.61 3.0.62 3.0.65 3.0.7 3.0.8 3.0.9 trunk 1.8.0
hostinger / includes / Mcp / EventHandlerFactory.php
hostinger / includes / Mcp Last commit date
Handlers 11 months ago EventHandlerFactory.php 11 months ago
EventHandlerFactory.php
39 lines
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