From 903dd860b750a58be6e92bab5ff104d52b1f8aa1 Mon Sep 17 00:00:00 2001 From: Loz Calver Date: Fri, 13 May 2022 09:18:24 +0100 Subject: [PATCH] ENH: Add extension hooks to core emails --- src/Security/Member.php | 8 +++++--- src/Security/MemberAuthenticator/LostPasswordHandler.php | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Security/Member.php b/src/Security/Member.php index 7f06edf13..40b3ee577 100644 --- a/src/Security/Member.php +++ b/src/Security/Member.php @@ -914,7 +914,7 @@ class Member extends DataObject && static::config()->get('notify_password_change') && $this->isInDB() ) { - Email::create() + $email = Email::create() ->setHTMLTemplate('SilverStripe\\Control\\Email\\ChangePasswordEmail') ->setData($this) ->setTo($this->Email) @@ -922,8 +922,10 @@ class Member extends DataObject __CLASS__ . '.SUBJECTPASSWORDCHANGED', "Your password has been changed", 'Email subject' - )) - ->send(); + )); + + $this->extend('updateChangedPasswordEmail', $email); + $email->send(); } // The test on $this->ID is used for when records are initially created. Note that this only works with diff --git a/src/Security/MemberAuthenticator/LostPasswordHandler.php b/src/Security/MemberAuthenticator/LostPasswordHandler.php index 8174ab477..6fcac0f15 100644 --- a/src/Security/MemberAuthenticator/LostPasswordHandler.php +++ b/src/Security/MemberAuthenticator/LostPasswordHandler.php @@ -242,6 +242,8 @@ class LostPasswordHandler extends RequestHandler )) ->addData('PasswordResetLink', Security::getPasswordResetLink($member, $token)) ->setTo($member->Email); + + $member->extend('updateForgotPasswordEmail', $email); return $email->send(); }