Migrate advanced_mailer module triggers to new format using module.xml

This commit is contained in:
Kijin Sung 2023-08-30 23:14:09 +09:00
parent f5997b642a
commit 3790169e50
2 changed files with 11 additions and 64 deletions

View file

@ -177,82 +177,23 @@ class Advanced_Mailer extends ModuleObject
return $config;
}
/**
* Register triggers.
*/
public function registerTriggers()
{
$oModuleModel = getModel('module');
$oModuleController = getController('module');
if ($oModuleModel->getTrigger('moduleHandler.init', 'advanced_mailer', 'model', 'triggerReplaceMailClass', 'before'))
{
$oModuleController->deleteTrigger('moduleHandler.init', 'advanced_mailer', 'model', 'triggerReplaceMailClass', 'before');
}
if (!$oModuleModel->getTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerBeforeMailSend', 'before'))
{
$oModuleController->insertTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerBeforeMailSend', 'before');
}
if (!$oModuleModel->getTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerAfterMailSend', 'after'))
{
$oModuleController->insertTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerAfterMailSend', 'after');
}
if (!$oModuleModel->getTrigger('sms.send', 'advanced_mailer', 'controller', 'triggerAfterSMSSend', 'after'))
{
$oModuleController->insertTrigger('sms.send', 'advanced_mailer', 'controller', 'triggerAfterSMSSend', 'after');
}
if (!$oModuleModel->getTrigger('push.send', 'advanced_mailer', 'controller', 'triggerAfterPushSend', 'after'))
{
$oModuleController->insertTrigger('push.send', 'advanced_mailer', 'controller', 'triggerAfterPushSend', 'after');
}
}
/**
* Install.
*/
public function moduleInstall()
{
$this->registerTriggers();
}
/**
* Check update.
*/
public function checkUpdate()
{
$oModuleModel = getModel('module');
if ($oModuleModel->getTrigger('moduleHandler.init', 'advanced_mailer', 'model', 'triggerReplaceMailClass', 'before'))
{
return true;
}
if (!$oModuleModel->getTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerBeforeMailSend', 'before'))
{
return true;
}
if (!$oModuleModel->getTrigger('mail.send', 'advanced_mailer', 'controller', 'triggerAfterMailSend', 'after'))
{
return true;
}
if (!$oModuleModel->getTrigger('sms.send', 'advanced_mailer', 'controller', 'triggerAfterSMSSend', 'after'))
{
return true;
}
if (!$oModuleModel->getTrigger('push.send', 'advanced_mailer', 'controller', 'triggerAfterPushSend', 'after'))
{
return true;
}
return false;
}
/**
* Update.
*/
public function moduleUpdate()
{
$this->registerTriggers();
}
public function recompileCache()
{
// no-op
}
}

View file

@ -11,7 +11,7 @@
<action name="dispAdvanced_mailerAdminSMSLog" type="view" />
<action name="dispAdvanced_mailerAdminPushTest" type="view" />
<action name="dispAdvanced_mailerAdminPushLog" type="view" />
<action name="procAdvanced_mailerAdminInsertConfig" type="controller" />
<action name="procAdvanced_mailerAdminInsertExceptions" type="controller" />
<action name="procAdvanced_mailerAdminCheckDNSRecord" type="controller" />
@ -22,6 +22,12 @@
<action name="procAdvanced_mailerAdminTestSendSMS" type="controller" />
<action name="procAdvanced_mailerAdminTestSendPush" type="controller" />
</actions>
<eventHandlers>
<eventHandler before="mail.send" class="controller" method="triggerBeforeMailSend" />
<eventHandler after="mail.send" class="controller" method="triggerAfterMailSend" />
<eventHandler after="sms.send" class="controller" method="triggerAfterSMSSend" />
<eventHandler after="push.send" class="controller" method="triggerAfterPushSend" />
</eventHandlers>
<menus>
<menu name="advanced_mailer" type="all">
<title xml:lang="ko">고급 메일 발송 모듈</title>