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 / Admin / Jobs / NotifyMcpJob.php
hostinger / includes / Admin / Jobs Last commit date
AbstractBatchedJob.php 10 months ago AbstractJob.php 10 months ago ActionScheduler.php 11 months ago JobInitializer.php 10 months ago JobInterface.php 10 months ago LlmsTxtInjectContentJob.php 10 months ago NotifyMcpJob.php 11 months ago
NotifyMcpJob.php
51 lines
1 <?php
2
3 namespace Hostinger\Admin\Jobs;
4 use Hostinger\Mcp\EventHandlerFactory;
5 use Hostinger\Mcp\Handlers\EventHandler;
6 use PHPUnit\Exception;
7
8 class NotifyMcpJob extends AbstractJob implements JobInterface {
9
10 public const JOB_NAME = 'notify_mcp';
11
12 private EventHandlerFactory $event_handler_factory;
13
14 public function __construct( ActionScheduler $action_scheduler, EventHandlerFactory $event_handler_factory ) {
15 $this->event_handler_factory = $event_handler_factory;
16 parent::__construct( $action_scheduler );
17 }
18
19 public function get_name(): string {
20 return self::JOB_NAME;
21 }
22
23 public function event_handler( string $event ): EventHandler {
24 return $this->event_handler_factory->get_handler( $event );
25 }
26
27 public function process_items( array $args = array() ): void {
28 $handler = $this->event_handler( $args['event'] );
29 $handler->send( $args );
30 }
31
32 public function schedule( array $args = array() ): void {
33 if ( $this->can_schedule( $args ) ) {
34 $this->action_scheduler->schedule_immediate( $this->get_process_item_hook(), array( $args ) );
35 }
36 }
37
38 public function can_schedule( $args = array() ): bool {
39 if ( ! parent::can_schedule( $args ) ) {
40 return false;
41 }
42
43 try {
44 $handler = $this->event_handler( $args['event'] );
45 return $handler->can_send( $args );
46 } catch ( Exception $e ) {
47 return false;
48 }
49 }
50 }
51