'ACYM_WHEN_USER_SUBSCRIBES', 'user_unsubscribe' => 'ACYM_WHEN_USER_UNSUBSCRIBES', ]; protected function initAutomationTriggers(): void { foreach ($this->triggers as $key => $name) { $this->automationTriggers['user'][$key] = acym_translation($name); } } public function displayTriggerOptions(string $fieldName): void { echo ''; } public function onAcymExecuteTrigger(&$step, &$execute, &$data) { if (empty($data['userId'])) return; foreach ($this->triggers as $identifier => $name) { if (empty($step->triggers[$identifier])) continue; $execute = true; break; } } public function onAcymDeclareSummary_triggers(object $automation): void { if (!empty($automation->triggers[$this->subscribeTrigger])) { $automation->triggers[$this->subscribeTrigger] = acym_translation('ACYM_WHEN_USER_SUBSCRIBES'); } if (!empty($automation->triggers[$this->unsubscribeTrigger])) { $automation->triggers[$this->unsubscribeTrigger] = acym_translation('ACYM_WHEN_USER_UNSUBSCRIBES'); } } public function onAcymAfterUserSubscribe(&$user, $lists) { $automationClass = new AutomationClass(); $automationClass->trigger($this->subscribeTrigger, ['userId' => $user->id]); $scenarioHelper = new ScenarioHelper(); $scenarioHelper->trigger($this->subscribeTrigger, ['userId' => $user->id]); $followupClass = new FollowupClass(); $followupClass->addFollowupEmailsQueue($this->subscribeTrigger, $user->id, ['sub_lists' => $lists]); } public function onAcymAfterUserUnsubscribe(&$user, $lists) { $automationClass = new AutomationClass(); $automationClass->trigger($this->unsubscribeTrigger, ['userId' => $user->id]); $scenarioHelper = new ScenarioHelper(); $scenarioHelper->trigger($this->unsubscribeTrigger, ['userId' => $user->id]); } }