Merge "Add isCurrentWikiId()/isCurrentWikiDomain()/getCurrentWikiDomain() to WikiMap"
[lhc/web/wiklou.git] / includes / mail / UserMailer.php
index 7b48ad0..f348c5b 100644 (file)
@@ -82,7 +82,8 @@ class UserMailer {
        static function makeMsgId() {
                global $wgSMTP, $wgServer;
 
-               $msgid = uniqid( wfWikiID() . ".", true ); /* true required for cygwin */
+               $domainId = WikiMap::getCurrentWikiDomain()->getId();
+               $msgid = uniqid( $domainId . ".", true /** for cygwin */ );
                if ( is_array( $wgSMTP ) && isset( $wgSMTP['IDHost'] ) && $wgSMTP['IDHost'] ) {
                        $domain = $wgSMTP['IDHost'];
                } else {
@@ -198,14 +199,8 @@ class UserMailer {
        private static function isMailMimeUsable() {
                static $usable = null;
                if ( $usable === null ) {
-                       // If the class is not already loaded, and it's in the include path,
-                       // try requiring it.
-                       if ( !class_exists( 'Mail_mime' ) && stream_resolve_include_path( 'Mail/mime.php' ) ) {
-                               require_once 'Mail/mime.php';
-                       }
                        $usable = class_exists( 'Mail_mime' );
                }
-
                return $usable;
        }
 
@@ -218,11 +213,6 @@ class UserMailer {
        private static function isMailUsable() {
                static $usable = null;
                if ( $usable === null ) {
-                       // If the class is not already loaded, and it's in the include path,
-                       // try requiring it.
-                       if ( !class_exists( 'Mail' ) && stream_resolve_include_path( 'Mail.php' ) ) {
-                               require_once 'Mail.php';
-                       }
                        $usable = class_exists( 'Mail' );
                }
 
@@ -255,10 +245,9 @@ class UserMailer {
                global $wgSMTP, $wgEnotifMaxRecips, $wgAdditionalMailParams;
                $mime = null;
 
-               $replyto = isset( $options['replyTo'] ) ? $options['replyTo'] : null;
-               $contentType = isset( $options['contentType'] ) ?
-                       $options['contentType'] : 'text/plain; charset=UTF-8';
-               $headers = isset( $options['headers'] ) ? $options['headers'] : [];
+               $replyto = $options['replyTo'] ?? null;
+               $contentType = $options['contentType'] ?? 'text/plain; charset=UTF-8';
+               $headers = $options['headers'] ?? [];
 
                // Allow transformation of content, such as encrypting/signing
                $error = false;
@@ -396,7 +385,7 @@ class UserMailer {
                        Wikimedia\suppressWarnings();
 
                        // Create the mail object using the Mail::factory method
-                       $mail_object =& Mail::factory( 'smtp', $wgSMTP );
+                       $mail_object = Mail::factory( 'smtp', $wgSMTP );
                        if ( PEAR::isError( $mail_object ) ) {
                                wfDebug( "PEAR::Mail factory failed: " . $mail_object->getMessage() . "\n" );
                                Wikimedia\restoreWarnings();
@@ -442,7 +431,7 @@ class UserMailer {
                        try {
                                foreach ( $to as $recip ) {
                                        $sent = mail(
-                                               $recip,
+                                               $recip->toString(),
                                                self::quotedPrintable( $subject ),
                                                $body,
                                                $headers,