Scripts and data used for generating ZhConversion.php
[lhc/web/wiklou.git] / includes / Setup.php
index 2ef0b47..adea16a 100644 (file)
@@ -47,6 +47,10 @@ if( $wgUseSquid && isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
        $wgIP = '127.0.0.1';
 }
 
+if ( $wgUseData ) {
+       $wgExtraNamespaces[20] = 'Data' ;
+       $wgExtraNamespaces[21] = 'Data_talk' ;
+}
 
 $fname = 'Setup.php';
 wfProfileIn( $fname );
@@ -78,11 +82,12 @@ $wgRequest = new WebRequest();
 wfProfileOut( $fname.'-includes' );
 wfProfileIn( $fname.'-misc1' );
 global $wgUser, $wgLang, $wgContLang, $wgOut, $wgTitle;
+global $wgLangClass, $wgContLangClass;
 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;
@@ -203,10 +208,9 @@ $wgLoadBalancer->loadMasterPos();
 wfProfileOut( $fname.'-database' );
 wfProfileIn( $fname.'-User' );
 
-# Extension setup functions
-# Entries should be added to this variable during the inclusion 
-# of the extension file. This allows the extension to perform 
-# any necessary initialisation in the fully initialised environment
+# Skin setup functions
+# Entries can be added to this variable during the inclusion 
+# of the extension file. Skins can then perform any necessary initialisation.
 foreach ( $wgSkinExtensionFunctions as $func ) {
        $func();
 }
@@ -223,65 +227,64 @@ wfProfileOut( $fname.'-User' );
 wfProfileIn( $fname.'-language' );
 
 function setupLangObj(&$langclass, $langcode) {
-    global $wgUseLatin1;
-
-
-    if( ! class_exists( $langclass ) || ($langcode == 'en' && !$wgUseLatin1) ) {
-# Default to English/UTF-8
-        require_once( 'languages/LanguageUtf8.php' );
-        $langclass = 'LanguageUtf8';
-    }
-
-    $lang = new $langclass();
-    if ( !is_object($lang) ) {
-        print "No language class ($wgLang)\N";
-    }
-
-    if( $wgUseLatin1 && $langcode != 'en' ) {
-# For non-UTF-8 non-English.
-        require_once( 'languages/LanguageLatin1.php' );
-        $xxx = new LanguageLatin1( $lang );
-        unset( $lang );
-        $lang = $xxx;
-    }
-    return $lang;
+       global $wgUseLatin1;
+
+
+       if( ! class_exists( $langclass ) ) {
+               # Default to English/UTF-8
+               require_once( 'languages/LanguageUtf8.php' );
+               $langclass = 'LanguageUtf8';
+       }
+
+       $lang = new $langclass();
+       if ( !is_object($lang) ) {
+               print "No language class ($wgLang)\N";
+       }
+
+       if( $wgUseLatin1 ) {
+               # For non-UTF-8 latin-1 downconversion
+               require_once( 'languages/LanguageLatin1.php' );
+               $xxx = new LanguageLatin1( $lang );
+               unset( $lang );
+               $lang = $xxx;
+       }
+       return $lang;
 }
 
 require_once( 'languages/Language.php' );
 
+# $wgLanguageCode may be changed later to fit with user preference.
+# The content language will remain fixed as per the configuration,
+# so let's keep it.
+$wgContLanguageCode = $wgLanguageCode;
 $wgContLangClass = 'Language' . str_replace( '-', '_', ucfirst( $wgContLanguageCode ) );
 
-$wgContLang = setupLangObj($wgContLangClass, $wgContLangClass);
- $n = get_class($wgContLang);
+$wgContLang = setupLangObj( $wgContLangClass, $wgContLangClass );
+$n = get_class($wgContLang);
 
 // set default user option from content language
-if(!$wgUser->mDataLoaded) { $wgUser->loadDefaultFromLanguage(); }
+if( !$wgUser->mDataLoaded ) {
+       $wgUser->loadDefaultFromLanguage();
+}
 
 // wgLanguageCode now specifically means the UI language
 $wgLanguageCode = $wgUser->getOption('language');
 
 $wgLangClass = 'Language'. str_replace( '-', '_', ucfirst( $wgLanguageCode ) );
- if($wgLangClass == $wgContLangClass) {
-     $wgLang = &$wgContLang;
- }
- else {
-     include_once("languages/$wgLangClass.php");
-     $wgLang = setupLangObj($wgLangClass, $wgLanguageCode);
- }
+
+if( $wgLangClass == $wgContLangClass ) {
+       $wgLang = &$wgContLang;
+} else {
+       require_once("languages/$wgLangClass.php");
+       $wgLang = setupLangObj( $wgLangClass, $wgLanguageCode );
+}
 
 
 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' );
 
@@ -298,8 +301,14 @@ 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,
+#       and links
+#
+# TODO: Need to look at the issue of input/output encoding
+#
+
 
 wfProfileIn( $fname.'-OutputPage' );
 
@@ -331,6 +340,7 @@ $wgParserCache = new ParserCache();
 $wgParser = new Parser();
 $wgOut->setParserOptions( ParserOptions::newFromUser( $wgUser ) );
 $wgDBConnections = array();
+$wgMsgParserOptions = ParserOptions::newFromUser($wgUser);
 wfSeedRandom();
 
 # Placeholders in case of DB error
@@ -340,7 +350,7 @@ $wgArticle = new Article($wgTitle);
 wfProfileOut( $fname.'-misc2' );
 wfProfileIn( $fname.'-extensions' );
 
-# Extension setup functions
+# Extension setup functions for extensions other than skins
 # Entries should be added to this variable during the inclusion 
 # of the extension file. This allows the extension to perform 
 # any necessary initialisation in the fully initialised environment