* Made special page names case-insensitive and localisable. Care has been taken to...
[lhc/web/wiklou.git] / includes / UserMailer.php
index 78a8be9..8953d7a 100644 (file)
@@ -125,14 +125,23 @@ function userMailer( $to, $from, $subject, $body, $replyto=false ) {
        } else  {
                # In the following $headers = expression we removed "Reply-To: {$from}\r\n" , because it is treated differently
                # (fifth parameter of the PHP mail function, see some lines below)
+
+               # Line endings need to be different on Unix and Windows due to 
+               # the bug described at http://trac.wordpress.org/ticket/2603
+               if ( wfIsWindows() ) {
+                       $body = str_replace( "\n", "\r\n", $body );
+                       $endl = "\r\n";
+               } else {
+                       $endl = "\n";
+               }
                $headers =
-                       "MIME-Version: 1.0\n" .
-                       "Content-type: text/plain; charset={$wgOutputEncoding}\n" .
-                       "Content-Transfer-Encoding: 8bit\n" .
-                       "X-Mailer: MediaWiki mailer\n".
-                       'From: ' . $from->toString() . "\n";
+                       "MIME-Version: 1.0$endl" .
+                       "Content-type: text/plain; charset={$wgOutputEncoding}$endl" .
+                       "Content-Transfer-Encoding: 8bit$endl" .
+                       "X-Mailer: MediaWiki mailer$endl".
+                       'From: ' . $from->toString();
                if ($replyto) {
-                       $headers .= "Reply-To: $replyto\n";
+                       $headers .= "{$endl}Reply-To: $replyto";
                }
 
                $dest = $to->toString();
@@ -158,7 +167,7 @@ function userMailer( $to, $from, $subject, $body, $replyto=false ) {
  */
 function mailErrorHandler( $code, $string ) {
        global $wgErrorString;
-       $wgErrorString = preg_replace( "/^mail\(\): /", '', $string );
+       $wgErrorString = preg_replace( '/^mail\(\)(\s*\[.*?\])?: /', '', $string );
 }
 
 
@@ -373,7 +382,7 @@ class EmailNotification {
                } else {
                        $subject = str_replace('$PAGEEDITOR', $name, $subject);
                        $keys['$PAGEEDITOR']          = $name;
-                       $emailPage = Title::makeTitle( NS_SPECIAL, 'Emailuser/' . $name );
+                       $emailPage = SpecialPage::getSafeTitleFor( 'Emailuser', $name );
                        $keys['$PAGEEDITOR_EMAIL'] = $emailPage->getFullUrl();
                }
                $userPage = $wgUser->getUserPage();