PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / trunk
MailPoet – Newsletters, Email Marketing, and Automation vtrunk
5.36.1 5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / lib / Automation / Engine / Hooks.php
mailpoet / lib / Automation / Engine Last commit date
API 3 years ago Builder 3 months ago Control 2 months ago Data 3 months ago Endpoints 2 months ago Exceptions 1 year ago Integration 1 year ago Mappers 10 months ago Storage 3 months ago Templates 2 years ago Utils 10 months ago Validation 3 months ago Engine.php 2 months ago Exceptions.php 2 months ago Hooks.php 3 months ago Integration.php 4 years ago Registry.php 4 months ago WordPress.php 3 months ago index.php 3 years ago
Hooks.php
98 lines
1 <?php declare(strict_types = 1);
2
3 namespace MailPoet\Automation\Engine;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\Automation\Engine\Data\Automation;
9 use MailPoet\Automation\Engine\Data\AutomationRunLog;
10 use MailPoet\Automation\Engine\Data\Step;
11
12 class Hooks {
13 /** @var WordPress */
14 private $wordPress;
15
16 public function __construct(
17 WordPress $wordPress
18 ) {
19 $this->wordPress = $wordPress;
20 }
21
22 public const INITIALIZE = 'mailpoet/automation/initialize';
23 public const API_INITIALIZE = 'mailpoet/automation/api/initialize';
24 public const TRIGGER = 'mailpoet/automation/trigger';
25 public const AUTOMATION_STEP = 'mailpoet/automation/step';
26
27 public const EDITOR_BEFORE_LOAD = 'mailpoet/automation/editor/before_load';
28
29 public const AUTOMATION_BEFORE_SAVE = 'mailpoet/automation/before_save';
30 public const AUTOMATION_STEP_BEFORE_SAVE = 'mailpoet/automation/step/before_save';
31 public const AUTOMATION_AFTER_SAVE = 'mailpoet/automation/after_save';
32 public const AUTOMATION_AFTER_CREATE = 'mailpoet/automation/after_create';
33 public const AUTOMATION_AFTER_CREATE_FROM_TEMPLATE = 'mailpoet/automation/after_create_from_template';
34 public const AUTOMATION_AFTER_UPDATE = 'mailpoet/automation/after_update';
35 public const AUTOMATION_AFTER_DELETE = 'mailpoet/automation/after_delete';
36 public const AUTOMATION_AFTER_DUPLICATE = 'mailpoet/automation/after_duplicate';
37
38 public const AUTOMATION_STEP_LOG_AFTER_RUN = 'mailpoet/automation/step/log_after_run';
39
40 public const AUTOMATION_RUN_CREATE = 'mailpoet/automation/run/create';
41
42 public function doAutomationBeforeSave(Automation $automation): void {
43 $this->wordPress->doAction(self::AUTOMATION_BEFORE_SAVE, $automation);
44 }
45
46 public function doAutomationAfterSave(Automation $automation, ?Automation $previousAutomation = null): void {
47 $this->wordPress->doAction(self::AUTOMATION_AFTER_SAVE, $automation, $previousAutomation);
48 }
49
50 /**
51 * Fires after a plain automation create and then cascades to after-save.
52 */
53 public function doAutomationAfterCreate(Automation $automation): void {
54 $this->wordPress->doAction(self::AUTOMATION_AFTER_CREATE, $automation);
55 $this->doAutomationAfterSave($automation);
56 }
57
58 /**
59 * Fires after creating from a template, then cascades to after-create and after-save.
60 */
61 public function doAutomationAfterCreateFromTemplate(Automation $automation, string $templateSlug): void {
62 $this->wordPress->doAction(self::AUTOMATION_AFTER_CREATE_FROM_TEMPLATE, $automation, $templateSlug);
63 $this->doAutomationAfterCreate($automation);
64 }
65
66 /**
67 * Fires after updating an automation and then cascades to after-save with the previous persisted state.
68 */
69 public function doAutomationAfterUpdate(Automation $automation, Automation $previousAutomation): void {
70 $this->wordPress->doAction(self::AUTOMATION_AFTER_UPDATE, $automation, $previousAutomation);
71 $this->doAutomationAfterSave($automation, $previousAutomation);
72 }
73
74 public function doAutomationAfterDelete(Automation $automation): void {
75 $this->wordPress->doAction(self::AUTOMATION_AFTER_DELETE, $automation);
76 }
77
78 /**
79 * Fires after duplicating an automation, then cascades to after-create and after-save.
80 */
81 public function doAutomationAfterDuplicate(Automation $automation, Automation $sourceAutomation): void {
82 $this->wordPress->doAction(self::AUTOMATION_AFTER_DUPLICATE, $automation, $sourceAutomation);
83 $this->doAutomationAfterCreate($automation);
84 }
85
86 public function doAutomationStepBeforeSave(Step $step, Automation $automation): void {
87 $this->wordPress->doAction(self::AUTOMATION_STEP_BEFORE_SAVE, $step, $automation);
88 }
89
90 public function doAutomationStepByKeyBeforeSave(Step $step, Automation $automation): void {
91 $this->wordPress->doAction(self::AUTOMATION_STEP_BEFORE_SAVE . '/key=' . $step->getKey(), $step, $automation);
92 }
93
94 public function doAutomationStepAfterRun(AutomationRunLog $automationRunLog): void {
95 $this->wordPress->doAction(self::AUTOMATION_STEP_LOG_AFTER_RUN, $automationRunLog);
96 }
97 }
98