return wfMsgReal( $key, $args, false, true );
}
+
/**
* Really get a message
*/
function wfMsgReal( $key, $args, $useDB, $forContent=false ) {
- global $wgReplacementKeys;
+ global $wgReplacementKeys, $wgParser, $wgMsgParserOptions;
+
if($forContent) {
- global $wgContMessageCache, $wgContLang;
- $cache = &$wgContMessageCache;
+ global $wgMessageCache, $wgContLang;
+ $cache = &$wgMessageCache;
$lang = &$wgContLang;
}
else {
- global $wgMessageCache, $wgLang;
- $cache = &$wgMessageCache;
+ global $wgLang;
+ $cache = false;
$lang = &$wgLang;
}
$message = $cache->get( $key, $useDB );
} elseif (is_object($lang)) {
$message = $lang->getMessage( $key );
+ if(strstr($message, '{{' ) !== false) {
+ $message = $wgParser->transformMsg($message, $wgMsgParserOptions);
+ }
} else {
wfDebug( "No language object when getting $key\n" );
$message = "<$key>";
var $mMemcKey, $mKeys, $mParserOptions, $mParser;
var $mExtensionMessages;
var $mInitialised = false;
- var $mLang, $mLangCode;
- function initialise( &$memCached, $useDB, $expiry, $memcPrefix, $langobj, $langcode) {
+
+ function initialise( &$memCached, $useDB, $expiry, $memcPrefix) {
$fname = 'MessageCache::initialise';
wfProfileIn( $fname );
- $this->mLang = $langobj;
- $this->mLangCode = $langcode;
+
$this->mUseCache = !is_null( $memCached );
$this->mMemc = &$memCached;
$this->mDisable = !$useDB;
* Not really needed anymore
*/
function getKeys() {
- global $wgAllMessagesEn;
+ global $wgAllMessagesEn, $wgContLang;
if ( !$this->mKeys ) {
$this->mKeys = array();
foreach ( $wgAllMessagesEn as $key => $value ) {
- array_push( $this->mKeys, $this->mLang->ucfirst( $key ) );
+ array_push( $this->mKeys, $wgContLang->ucfirst( $key ) );
}
}
return $this->mKeys;
}
function get( $key, $useDB ) {
-
+ global $wgContLang, $wgContLanguageCode;
# If uninitialised, someone is trying to call this halfway through Setup.php
if ( !$this->mInitialised ) {
return "<$key>";
$message = false;
if ( !$this->mDisable && $useDB ) {
- $title = $this->mLang->ucfirst( $key );
+ $title = $wgContLang->ucfirst( $key );
# Try the cache
# Try the array in the language object
if ( !$message ) {
wfSuppressWarnings();
- $message = $this->mLang->getMessage( $key );
+ $message = $wgContLang->getMessage( $key );
wfRestoreWarnings();
}
# Try the English array
- if ( !$message && $this->mLangCode != 'en' ) {
+ if ( !$message && $wgContLanguageCode != 'en' ) {
wfSuppressWarnings();
$message = Language::getMessage( $key );
wfRestoreWarnings();
global $wgUser, $wgLang, $wgContLang, $wgOut, $wgTitle;
global $wgArticle, $wgDeferredUpdateList, $wgLinkCache;
global $wgMemc, $wgMagicWords, $wgMwRedir, $wgDebugLogFile;
-global $wgMessageCache, $wgUseMemCached, $wgUseDatabaseMessages, $wgContMessageCach;
+global $wgMessageCache, $wgUseMemCached, $wgUseDatabaseMessages;
global $wgMsgCacheExpiry, $wgCommandLineMode;
-global $wgBlockCache, $wgParserCache, $wgParser, $wgDBConnections;
+global $wgBlockCache, $wgParserCache, $wgParser, $wgDBConnections, $wgMsgParserOptions;
global $wgLoadBalancer, $wgDBservers, $wgDebugDumpSql;
global $wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, $wgDBtype;
global $wgUseOldExistenceCheck, $wgEnablePersistentLC;
$wgLanguageCode = $wgUser->getOption('language');
$wgLangClass = 'Language'. str_replace( '-', '_', ucfirst( $wgLanguageCode ) );
-if($wgLangClass == $wgContLangClass) {
+
+if($wgLangClass == $wgContLangClass ) {
$wgLang = &$wgContLang;
}
else {
wfProfileOut( $fname.'-language' );
wfProfileIn( $fname.'-MessageCache' );
-$wgContMessageCache = new MessageCache;
-$wgContMessageCache->initialise( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname, $wgContLang, $wgContLanguageCode );
-if($wgLangClass == $wgContLangClass) {
- $wgMessageCache = &$wgContMessageCache;
-}
-else {
- $wgMessageCache = new MessageCache;
- $wgMessageCache->initialise( $messageMemc,false , $wgMsgCacheExpiry, $wgDBname.":$wgLangClass", $wgLang, $wgLanguageCode);
-}
+$wgMessageCache = new MessageCache;
+$wgMessageCache->initialise( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname);
wfProfileOut( $fname.'-MessageCache' );
# $wgLangClass = $wgContLangClass;
# $wgLanguageCode = $wgContLanguageCode;
# $wgLang = $wgContLang;
-# $wgMessageCache = $wgContMessageCache;
#
# TODO: Need to change reference to $wgLang to $wgContLang at proper
# places, including namespaces, dates in signatures, magic words,
$wgParser = new Parser();
$wgOut->setParserOptions( ParserOptions::newFromUser( $wgUser ) );
$wgDBConnections = array();
+$wgMsgParserOptions = ParserOptions::newFromUser($wgUser);
wfSeedRandom();
# Placeholders in case of DB error