From: Mark A. Hershberger Date: Thu, 28 Jul 2011 19:15:58 +0000 (+0000) Subject: further sanity checks for sending email … bomb out if we aren't given X-Git-Tag: 1.31.0-rc.0~28556 X-Git-Url: http://git.cyclocoop.org/ecrire?a=commitdiff_plain;h=2da8afe11ee69f60c208b5fe07b6b03df453d13e;p=lhc%2Fweb%2Fwiklou.git further sanity checks for sending email … bomb out if we aren't given any user with an email address. --- diff --git a/includes/UserMailer.php b/includes/UserMailer.php index 47e95b2f6c..1bb7c08875 100644 --- a/includes/UserMailer.php +++ b/includes/UserMailer.php @@ -67,6 +67,8 @@ class MailAddress { } else { return $this->address; } + } else { + return ""; } } @@ -153,6 +155,9 @@ class UserMailer { } else if( $to->address ) { $dest[] = $to->address; } + if ( count( $dest ) == 0 ) { + return Status::newFatal( 'user-mail-no-addy' ); + } if ( $wgEnotifImpersonal ) { $headers['To'] = 'undisclosed-recipients:;'; @@ -231,11 +236,8 @@ class UserMailer { ini_set( 'html_errors', '0' ); set_error_handler( 'UserMailer::errorHandler' ); - if ( !is_array( $to ) ) { - $to = array( $to ); - } - foreach ( $to as $recip ) { - $sent = mail( $recip->toString(), self::quotedPrintable( $subject ), $body, $headers, $wgAdditionalMailParams ); + foreach ( $dest as $recip ) { + $sent = mail( $recip, self::quotedPrintable( $subject ), $body, $headers, $wgAdditionalMailParams ); } restore_error_handler(); diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 3ef7ddcc21..91cef944b2 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -1146,6 +1146,7 @@ Please wait before trying again.', 'pear-mail-error' => '$1', # do not translate or duplicate this message to other languages 'php-mail-error' => '$1', # do not translate or duplicate this message to other languages 'php-mail-error-unknown' => "Unknown error in PHP's mail() function", +'user-mail-no-addy' => "Tried to send email without an email address", # Change password dialog 'resetpass' => 'Change password',