diff options
author | Gergő Tisza <gtisza@wikimedia.org> | 2016-08-19 06:06:25 +0000 |
---|---|---|
committer | Gergő Tisza <gtisza@wikimedia.org> | 2016-08-19 07:39:39 +0000 |
commit | 97ad2ba55e4a612a2178bb9abecabf1a488ccf57 (patch) | |
tree | 037c524eb7385582ad41ad5ed73fa10013f20177 /includes/auth | |
parent | 6b6154c30eca9a6f6b451119fb800db170393336 (diff) | |
download | mediawikicore-97ad2ba55e4a612a2178bb9abecabf1a488ccf57.tar.gz mediawikicore-97ad2ba55e4a612a2178bb9abecabf1a488ccf57.zip |
Send registration welcome email post-commit
Follow-up to I8f1bd3e.
Change-Id: I26e7a1857363d4e6627a0f583a8556d0fd8ae623
Diffstat (limited to 'includes/auth')
-rw-r--r-- | includes/auth/EmailNotificationSecondaryAuthenticationProvider.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/includes/auth/EmailNotificationSecondaryAuthenticationProvider.php b/includes/auth/EmailNotificationSecondaryAuthenticationProvider.php index d32640ea1d24..a82f018d480d 100644 --- a/includes/auth/EmailNotificationSecondaryAuthenticationProvider.php +++ b/includes/auth/EmailNotificationSecondaryAuthenticationProvider.php @@ -50,15 +50,16 @@ class EmailNotificationSecondaryAuthenticationProvider && $user->getEmail() && !$this->manager->getAuthenticationSessionData( 'no-email' ) ) { - $status = $user->sendConfirmationMail(); - $user->saveSettings(); - if ( $status->isGood() ) { - // TODO show 'confirmemail_oncreate' success message - } else { - // TODO show 'confirmemail_sendfailed' error message - $this->logger->warning( 'Could not send confirmation email: ' . - $status->getWikiText( false, false, 'en' ) ); - } + // TODO show 'confirmemail_oncreate'/'confirmemail_sendfailed' message + wfGetDB( DB_MASTER )->onTransactionIdle( function () use ( $user ) { + $user = $user->getInstanceForUpdate(); + $status = $user->sendConfirmationMail(); + $user->saveSettings(); + if ( !$status->isGood() ) { + $this->logger->warning( 'Could not send confirmation email: ' . + $status->getWikiText( false, false, 'en' ) ); + } + } ); } return AuthenticationResponse::newPass(); |