From 5741a960c75d4dd52e6d55564a55d63b9d4d22d0 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Wed, 14 Dec 2022 06:35:04 +0000 Subject: [PATCH] refactor: use refactored maile event and worker --- app/controllers/api/account.php | 63 +++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 6 deletions(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 45fb03062..144bd1d2b 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -713,11 +713,34 @@ App::post('/v1/account/sessions/magic-url') $url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $user->getId(), 'secret' => $loginSecret, 'expire' => $expire, 'project' => $project->getId()]); $url = Template::unParseURL($url); + $from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $project->getAttribute('name')); + + $body = Template::fromFile(__DIR__ . '/../config/locale/templates/email-base.tpl'); + $subject = $locale->getText("emails.magicSession.subject"); + + $body + ->setParam('{{subject}}', $subject) + ->setParam('{{hello}}', $locale->getText("emails.magicSession.hello")) + ->setParam('{{name}}', '') + ->setParam('{{body}}', $locale->getText("emails.magicSession.body")) + ->setParam('{{redirect}}', $url) + ->setParam('{{footer}}', $locale->getText("emails.magicSession.footer")) + ->setParam('{{thanks}}', $locale->getText("emails.magicSession.thanks")) + ->setParam('{{signature}}', $locale->getText("emails.magicSession.signature")) + ->setParam('{{project}}', $project->getAttribute('name')) + ->setParam('{{direction}}', $locale->getText('settings.direction')) + ->setParam('{{bg-body}}', '#f7f7f7') + ->setParam('{{bg-content}}', '#ffffff') + ->setParam('{{text-content}}', '#000000'); + + $body = $body->render(); + $mails - ->setType(MAIL_TYPE_MAGIC_SESSION) + ->setName('') + ->setSubject($subject) + ->setBody($body) + ->setFrom($from) ->setRecipient($user->getAttribute('email')) - ->setUrl($url) - ->setLocale($locale->default) ->trigger() ; @@ -2150,12 +2173,40 @@ App::post('/v1/account/verification') $url = Template::parseURL($url); $url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $user->getId(), 'secret' => $verificationSecret, 'expire' => $expire]); $url = Template::unParseURL($url); + $projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]'); + + if (!$this->doesLocaleExist($locale, $prefix)) { + $locale->setDefault('en'); + } + + $from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $projectName); + $body = Template::fromFile(__DIR__ . '/../config/locale/templates/email-base.tpl'); + $subject = \sprintf($locale->getText("emails.verification.subject"), $team->getAttribute('name'), $projectName); + $body->setParam('{{owner}}', $user->getAttribute('name')); + $body->setParam('{{team}}', $team->getAttribute('name')); + + $body + ->setParam('{{subject}}', $subject) + ->setParam('{{hello}}', $locale->getText("emails.verification.hello")) + ->setParam('{{name}}', $name) + ->setParam('{{body}}', $locale->getText("emails.verification.body")) + ->setParam('{{redirect}}', $url) + ->setParam('{{footer}}', $locale->getText("emails.verification.footer")) + ->setParam('{{thanks}}', $locale->getText("emails.verification.thanks")) + ->setParam('{{signature}}', $locale->getText("emails.verification.signature")) + ->setParam('{{project}}', $projectName) + ->setParam('{{direction}}', $locale->getText('settings.direction')) + ->setParam('{{bg-body}}', '#f7f7f7') + ->setParam('{{bg-content}}', '#ffffff') + ->setParam('{{text-content}}', '#000000'); + + $body = $body->render(); $mails - ->setType(MAIL_TYPE_VERIFICATION) + ->setSubject($subject) + ->setBody($body) + ->setFrom($from) ->setRecipient($user->getAttribute('email')) - ->setUrl($url) - ->setLocale($locale->default) ->setName($user->getAttribute('name')) ->trigger() ;