http://www.mediawiki.org/wiki/Special:Code/MediaWiki/56359

Revision: 56359
Author:   werdna
Date:     2009-09-15 12:51:09 +0000 (Tue, 15 Sep 2009)

Log Message:
-----------
Fix for bug 20645, ensure that LQT notifications are sent in the user's 
language, not the language of the person who wrote the message.

Modified Paths:
--------------
    trunk/extensions/LiquidThreads/classes/NewMessagesController.php

Modified: trunk/extensions/LiquidThreads/classes/NewMessagesController.php
===================================================================
--- trunk/extensions/LiquidThreads/classes/NewMessagesController.php    
2009-09-15 12:50:14 UTC (rev 56358)
+++ trunk/extensions/LiquidThreads/classes/NewMessagesController.php    
2009-09-15 12:51:09 UTC (rev 56359)
@@ -225,9 +225,9 @@
                
                while( $row = $dbr->fetchObject( $res ) ) {
                        $u = User::newFromRow( $row );
+                       $lang = Language::factory( $u->getOption( 'language' ) 
);
+                       $langCode = $lang->getCode();
                        
-                       global $wgLang;
-                       
                        $permalink = LqtView::permalinkUrl( $t );
                        
                        // Adjust with time correction
@@ -237,20 +237,26 @@
                        } else {
                                $timeCorrection = $row->up_value;
                        }
-                       $adjustedTimestamp = $wgLang->userAdjust( $timestamp, 
$timeCorrection );
+                       $adjustedTimestamp = $lang->userAdjust( $timestamp, 
$timeCorrection );
                        
-                       $date = $wgLang->date( $adjustedTimestamp );
-                       $time = $wgLang->time( $adjustedTimestamp );
+                       $date = $lang->date( $adjustedTimestamp );
+                       $time = $lang->time( $adjustedTimestamp );
                        
                        $talkPage = 
$t->article()->getTitle()->getPrefixedText();
-                       $msg = wfMsg( $msgName, $u->getName(), 
$t->subjectWithoutIncrement(),
+                       $params = array( $u->getName(), 
$t->subjectWithoutIncrement(),
                                                        $date, $time, 
$talkPage, $permalink );
+                       
+                       // Get message in user's own language, bug 20645
+                       $msg = wfMsgReal( $msgName, $params, true /* use DB */, 
$langCode,
+                                                               true 
/*transform*/ );
                                                        
                        global $wgPasswordSender;
                                                        
                        $from = new MailAddress( $wgPasswordSender, 'WikiAdmin' 
);
                        $to   = new MailAddress( $u );
-                       $subject = wfMsgExt( $subjectMsg, 'parsemag', 
$t->subjectWithoutIncrement() );
+                       $threadSubject = $t->subject();
+                       $subject = wfMsgReal( $subjectMsg, 
array($threadSubject), true /* use DB */,
+                                                                       
$langCode, true /* transform */);
                        
                        UserMailer::send( $to, $from, $subject, $msg );
                }



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to