'ACYM_WHEN_USER_SUBSCRIBES',
'user_unsubscribe' => 'ACYM_WHEN_USER_UNSUBSCRIBES',
];
public function onAcymDeclareTriggers(&$triggers, &$defaultValues)
{
foreach ($this->triggers as $key => $name) {
$triggers['user'][$key] = new stdClass();
$triggers['user'][$key]->name = '
'.acym_translation($name).'
';
$triggers['user'][$key]->option = '';
}
}
public function onAcymDeclareTriggersScenario(&$triggers, &$defaultValues)
{
$this->onAcymDeclareTriggers($triggers, $defaultValues);
}
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]);
}
}