Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
languages
/
wp-content
/
plugins
/
mailpoet
/
lib
/
Automation
/
Integrations
/
MailPoet
:
MailPoetIntegration.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types = 1); namespace MailPoet\Automation\Integrations\MailPoet; if (!defined('ABSPATH')) exit; use MailPoet\Automation\Engine\Integration; use MailPoet\Automation\Engine\Registry; use MailPoet\Automation\Integrations\MailPoet\Actions\SendEmailAction; use MailPoet\Automation\Integrations\MailPoet\Hooks\AutomationEditorLoadingHooks; use MailPoet\Automation\Integrations\MailPoet\Subjects\SegmentSubject; use MailPoet\Automation\Integrations\MailPoet\Subjects\SubscriberSubject; use MailPoet\Automation\Integrations\MailPoet\Triggers\SomeoneSubscribesTrigger; use MailPoet\Automation\Integrations\MailPoet\Triggers\UserRegistrationTrigger; class MailPoetIntegration implements Integration { /** @var SegmentSubject */ private $segmentSubject; /** @var SubscriberSubject */ private $subscriberSubject; /** @var SomeoneSubscribesTrigger */ private $someoneSubscribesTrigger; /** @var UserRegistrationTrigger */ private $userRegistrationTrigger; /** @var SendEmailAction */ private $sendEmailAction; private $automationEditorLoadingHooks; public function __construct( SegmentSubject $segmentSubject, SubscriberSubject $subscriberSubject, SomeoneSubscribesTrigger $someoneSubscribesTrigger, UserRegistrationTrigger $userRegistrationTrigger, SendEmailAction $sendEmailAction, AutomationEditorLoadingHooks $automationEditorLoadingHooks ) { $this->segmentSubject = $segmentSubject; $this->subscriberSubject = $subscriberSubject; $this->someoneSubscribesTrigger = $someoneSubscribesTrigger; $this->userRegistrationTrigger = $userRegistrationTrigger; $this->sendEmailAction = $sendEmailAction; $this->automationEditorLoadingHooks = $automationEditorLoadingHooks; } public function register(Registry $registry): void { $registry->addSubject($this->segmentSubject); $registry->addSubject($this->subscriberSubject); $registry->addTrigger($this->someoneSubscribesTrigger); $registry->addTrigger($this->userRegistrationTrigger); $registry->addAction($this->sendEmailAction); // sync step args (subject, preheader, etc.) to email settings $registry->onBeforeWorkflowStepSave( [$this->sendEmailAction, 'saveEmailSettings'], $this->sendEmailAction->getKey() ); $this->automationEditorLoadingHooks->init(); } }