From ee0563c46f9bdbf01b61bb1848cc777033e41998 Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Mon, 28 Aug 2023 06:09:28 +0100 Subject: [PATCH] Cover other routes and cleanup code --- app/controllers/api/account.php | 57 ++++++++++++--------------------- app/workers/mails.php | 5 --- composer.lock | 36 ++++++++++----------- 3 files changed, 38 insertions(+), 60 deletions(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 3560cff166..8ace6f273b 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -1092,13 +1092,13 @@ App::post('/v1/account/sessions/magic-url') $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'); + $body = $locale->getText("emails.magicSession.body"); $subject = $locale->getText("emails.magicSession.subject"); $smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false; $customTemplate = $project->getAttribute('templates', [])['email.magicSession-' . $locale->default] ?? []; if ($smtpEnabled && !empty($customTemplate)) { - $body = Template::fromString($customTemplate['message'] ?? ''); + $body = $customTemplate['message'] ?? ''; $subject = $customTemplate['subject'] ?? $subject; $from = $customTemplate['senderName'] ?? $from; @@ -2541,23 +2541,6 @@ App::post('/v1/account/recovery') ->setSmtpSenderName($customTemplate['senderName'] ?? ''); } - // $body - // ->setParam('{{subject}}', $subject) - // ->setParam('{{hello}}', $locale->getText("emails.recovery.hello")) - // ->setParam('{{name}}', $profile->getAttribute('name')) - // ->setParam('{{body}}', $locale->getText("emails.recovery.body")) - // ->setParam('{{redirect}}', $url) - // ->setParam('{{footer}}', $locale->getText("emails.recovery.footer")) - // ->setParam('{{thanks}}', $locale->getText("emails.recovery.thanks")) - // ->setParam('{{signature}}', $locale->getText("emails.recovery.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(); - $emailVariables = [ 'subject' => $subject, 'hello' => $locale->getText("emails.recovery.hello"), @@ -2757,13 +2740,13 @@ App::post('/v1/account/verification') $projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]'); $from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $projectName); - $body = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-base.tpl'); + $body = $locale->getText("emails.verification.body"); $subject = $locale->getText("emails.verification.subject"); $smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false; $customTemplate = $project->getAttribute('templates', [])['email.verification-' . $locale->default] ?? []; if ($smtpEnabled && !empty($customTemplate)) { - $body = Template::fromString($customTemplate['message'] ?? ''); + $body = $customTemplate['message'] ?? ''; $subject = $customTemplate['subject'] ?? $subject; $from = $customTemplate['senderName'] ?? $from; @@ -2779,26 +2762,26 @@ App::post('/v1/account/verification') ->setSmtpSenderName($customTemplate['senderName'] ?? ''); } - $body - ->setParam('{{subject}}', $subject) - ->setParam('{{hello}}', $locale->getText("emails.verification.hello")) - ->setParam('{{name}}', $user->getAttribute('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(); + $emailVariables = [ + 'subject' => $subject, + 'hello' => $locale->getText("emails.verification.hello"), + 'name' => $user->getAttribute('name'), + 'body' => $locale->getText("emails.verification.body"), + 'redirect' => $url, + 'footer' => $locale->getText("emails.verification.footer"), + 'thanks' => $locale->getText("emails.verification.thanks"), + 'signature' => $locale->getText("emails.verification.signature"), + 'project' => $projectName, + 'direction' => $locale->getText('settings.direction'), + 'bg-body' => '#f7f7f7', + 'bg-content' => '#ffffff', + 'text-content' => '#000000', + ]; $mails ->setSubject($subject) ->setBody($body) + ->setVariables($emailVariables) ->setFrom($from) ->setRecipient($user->getAttribute('email')) ->setName($user->getAttribute('name') ?? '') diff --git a/app/workers/mails.php b/app/workers/mails.php index 73fb0abb7f..2d7620d76f 100644 --- a/app/workers/mails.php +++ b/app/workers/mails.php @@ -43,16 +43,11 @@ class MailsV1 extends Worker $body = Template::fromFile(__DIR__ . '/../config/locale/templates/email-base.tpl'); foreach ($variables as $key => $value) { - var_dump($key, $value); $body->setParam('{{'.$key.'}}', $value); } - var_dump($body); - $body = $body->render(); - var_dump($body); - /** @var \PHPMailer\PHPMailer\PHPMailer $mail */ $mail = empty($smtp) ? $register->get('smtp') : $this->getMailer($smtp); diff --git a/composer.lock b/composer.lock index e429b7d771..c396a7917e 100644 --- a/composer.lock +++ b/composer.lock @@ -522,22 +522,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.7.0", + "version": "7.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5" + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -628,7 +628,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.7.0" + "source": "https://github.com/guzzle/guzzle/tree/7.8.0" }, "funding": [ { @@ -644,7 +644,7 @@ "type": "tidelift" } ], - "time": "2023-05-21T14:04:53+00:00" + "time": "2023-08-27T10:20:53+00:00" }, { "name": "guzzlehttp/promises", @@ -731,16 +731,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77" + "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/8bd7c33a0734ae1c5d074360512beb716bef3f77", - "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", "shasum": "" }, "require": { @@ -827,7 +827,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.0" + "source": "https://github.com/guzzle/psr7/tree/2.6.1" }, "funding": [ { @@ -843,7 +843,7 @@ "type": "tidelift" } ], - "time": "2023-08-03T15:06:02+00:00" + "time": "2023-08-27T10:13:57+00:00" }, { "name": "influxdb/influxdb-php", @@ -2224,12 +2224,12 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "0d6c9de4e2ca43feb26a60debe3254f3194db019" + "reference": "2d52ce8ac92436cd51c36cff2ec7bfdf00c44189" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/0d6c9de4e2ca43feb26a60debe3254f3194db019", - "reference": "0d6c9de4e2ca43feb26a60debe3254f3194db019", + "url": "https://api.github.com/repos/utopia-php/database/zipball/2d52ce8ac92436cd51c36cff2ec7bfdf00c44189", + "reference": "2d52ce8ac92436cd51c36cff2ec7bfdf00c44189", "shasum": "" }, "require": { @@ -2273,7 +2273,7 @@ "issues": "https://github.com/utopia-php/database/issues", "source": "https://github.com/utopia-php/database/tree/feat-document-clone" }, - "time": "2023-08-24T14:21:25+00:00" + "time": "2023-08-25T06:18:31+00:00" }, { "name": "utopia-php/domains",