From ce724622159c923a1fde82d19ab18476964876c0 Mon Sep 17 00:00:00 2001 From: Platonides Date: Sat, 14 May 2011 11:09:26 +0000 Subject: [PATCH] (Bug 28960) add message when email copy is sent to user Also added an error message when the mails were not sent. Documented the new messages plus some older ones. Note: $successCount and $failCount fields of Status are ugly to use. --- RELEASE-NOTES-1.19 | 1 + includes/specials/SpecialEmailuser.php | 19 ++++++++++++++++++- languages/messages/MessagesEn.php | 4 ++++ languages/messages/MessagesQqq.php | 9 +++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES-1.19 b/RELEASE-NOTES-1.19 index c6b711a69c..116065c902 100644 --- a/RELEASE-NOTES-1.19 +++ b/RELEASE-NOTES-1.19 @@ -32,6 +32,7 @@ used in Tiff files. * New title field of Special:MovePage is now length limited on client side. * (bug 28888) Searching for something starting with a # sign no longer tells the user a page named [[:]] already exists. +* (bug 28960) Added more messages to Special:EmailUser. === API changes in 1.19 === * (bug 27790) add query type for querymodules to action=paraminfo diff --git a/includes/specials/SpecialEmailuser.php b/includes/specials/SpecialEmailuser.php index b3ba9c5cf5..22bc254a4d 100644 --- a/includes/specials/SpecialEmailuser.php +++ b/includes/specials/SpecialEmailuser.php @@ -148,8 +148,18 @@ class SpecialEmailUser extends UnlistedSpecialPage { if( $result === true || ( $result instanceof Status && $result->isGood() ) ) { $wgOut->setPageTitle( wfMsg( 'emailsent' ) ); $wgOut->addWikiMsg( 'emailsenttext' ); - $wgOut->returnToMain( false, $this->mTargetObj->getUserPage() ); + if ( $status->successCount > 1 ) $wgOut->addWikiMsg( 'emailyougotcopy' ); + } elseif ( $result instanceof Status ) { + if ( $status->successCount == 0 ) { + $wgOut->setPageTitle( wfMsg( 'emailnotsent' ) ); + $wgOut->addWikiMsg( $result->getWikiText( 'emailfailed' ) ); + } elseif ( $status->failCount ) { + $wgOut->setPageTitle( wfMsg( 'emailsent' ) ); + $wgOut->addWikiMsg( 'emailsenttext' ); + $wgOut->addWikiMsg( $result->getWikiText( 'emailccfailed' ) ); + } } + $wgOut->returnToMain( false, $this->mTargetObj->getUserPage() ); } /** @@ -303,6 +313,8 @@ class SpecialEmailUser extends UnlistedSpecialPage { if( !$status->isGood() ) { return $status; } else { + $status->successCount++; + // if the user requested a copy of this mail, do this now, // unless they are emailing themselves, in which case one // copy of the message is sufficient. @@ -314,6 +326,11 @@ class SpecialEmailUser extends UnlistedSpecialPage { ); wfRunHooks( 'EmailUserCC', array( &$from, &$from, &$cc_subject, &$text ) ); $ccStatus = UserMailer::send( $from, $from, $cc_subject, $text ); + if ( $ccStatus->isGood() ) { + $ccStatus->successCount++; + } else { + $ccStatus->failCount++; + } $status->merge( $ccStatus ); } diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 785359998f..098211e56f 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2696,7 +2696,11 @@ The e-mail address you entered in [[Special:Preferences|your user preferences]] 'emailccme' => 'E-mail me a copy of my message.', 'emailccsubject' => 'Copy of your message to $1: $2', 'emailsent' => 'E-mail sent', +'emailnotsent' => 'E-mail not sent', 'emailsenttext' => 'Your e-mail message has been sent.', +'emailyougotcopy' => 'A copy of the e-mail has been sent to you.', +'emailfailed' => 'The e-mail could not be sent: $1', +'emailccfailed' => 'Your e-mail copy could not be sent: $1', 'emailuserfooter' => 'This e-mail was sent by $1 to $2 by the "E-mail user" function at {{SITENAME}}.', # User Messenger diff --git a/languages/messages/MessagesQqq.php b/languages/messages/MessagesQqq.php index 830b09d7c2..5b43b065f8 100644 --- a/languages/messages/MessagesQqq.php +++ b/languages/messages/MessagesQqq.php @@ -2328,6 +2328,15 @@ This is a button text used in [[Special:Emailuser]] when called without a (valid {{Identical|Send}}', 'emailccme' => 'Used at [[Special:Preferences]] > E-mail', 'emailccsubject' => 'Subject of the carbon-copied email for the sender sent through MediaWiki.', +'emailsent' => 'Title of Special:Emailuser when it says you it sent an email', +'emailnotsent' => 'Title of Special:Emailuser when it says you it did not sent the email', +'emailsenttext' => 'When you send an e-mail, Special:Emailuser says you this (Your email has been sent).', +'emailyougotcopy' => 'Shown below emailsenttext when \'e-mail em a copy\' was chosen.', +'emailfailed' => 'Error message when sending of the main e-mail failed (cc one is not even tried). The actual error is given as parameter.', +'emailccfailed' => 'Error message when the e-mail was sent but the user copy was not. The actual error is given as parameter.', + + +'emailyougotcopy' => 'Shown below emailsenttext if you chose "send me a copy".', 'emailuserfooter' => 'This message is appended to every email sent through the "Email user" function. * $1: username of the sender -- 2.20.1