* replace use of deprecated makeLinkObj() by link() in core
[lhc/web/wiklou.git] / includes / Setup.php
index 6f94c4f..8c2a5a3 100644 (file)
@@ -67,6 +67,14 @@ if ( empty( $wgFileStore['deleted']['directory'] ) ) {
  */
 $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface';
 
+/**
+ * The canonical names of namespaces 6 and 7 are, as of v1.14, "File"
+ * and "File_talk".  The old names "Image" and "Image_talk" are
+ * retained as aliases for backwards compatibility.
+ */
+$wgNamespaceAliases['Image'] = NS_FILE;
+$wgNamespaceAliases['Image_talk'] = NS_FILE_TALK;
+
 /**
  * Initialise $wgLocalFileRepo from backwards-compatible settings
  */
@@ -189,6 +197,20 @@ if($wgMetaNamespace === FALSE) {
 # To determine the user language, use $wgLang->getCode()
 $wgContLanguageCode = $wgLanguageCode;
 
+# Easy to forget to falsify $wgShowIPinHeader for static caches.
+# If file cache or squid cache is on, just disable this (DWIMD).
+if( $wgUseFileCache || $wgUseSquid ) $wgShowIPinHeader = false;
+
+# $wgAllowRealName and $wgAllowUserSkin were removed in 1.16
+# in favor of $wgHiddenPrefs, handle b/c here
+if( !$wgAllowRealName ) {
+       $wgHiddenPrefs[] = 'realname';
+}
+
+if( !$wgAllowUserSkin ) {
+       $wgHiddenPrefs[] = 'skin';
+}
+
 wfProfileOut( $fname.'-misc1' );
 wfProfileIn( $fname.'-memcached' );
 
@@ -201,15 +223,19 @@ wfDebug( 'Main cache: ' . get_class( $wgMemc ) .
        "\nParser cache: " . get_class( $parserMemc ) . "\n" );
 
 wfProfileOut( $fname.'-memcached' );
+
+## Most of the config is out, some might want to run hooks here.
+wfRunHooks( 'SetupAfterCache' );
+
 wfProfileIn( $fname.'-SetupSession' );
 
 # Set default shared prefix
 if( $wgSharedPrefix === false ) $wgSharedPrefix = $wgDBprefix;
 
 if( !$wgCookiePrefix ) {
-       if ( in_array('user', $wgSharedTables) && $wgSharedDB && $wgSharedPrefix ) {
+       if ( $wgSharedDB && $wgSharedPrefix && in_array('user',$wgSharedTables) ) {
                $wgCookiePrefix = $wgSharedDB . '_' . $wgSharedPrefix;
-       } elseif ( in_array('user', $wgSharedTables) && $wgSharedDB ) {
+       } elseif ( $wgSharedDB && in_array('user',$wgSharedTables) ) {
                $wgCookiePrefix = $wgSharedDB;
        } elseif ( $wgDBprefix ) {
                $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix;
@@ -243,6 +269,7 @@ $wgRequest->interpolateTitle();
 
 $wgUser = new StubUser;
 $wgLang = new StubUserLang;
+$wgVariant = new StubUserVariant;
 $wgOut = new StubObject( 'wgOut', 'OutputPage' );
 $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) );
 
@@ -289,7 +316,14 @@ wfProfileIn( $fname.'-extensions' );
 # of the extension file. This allows the extension to perform
 # any necessary initialisation in the fully initialised environment
 foreach ( $wgExtensionFunctions as $func ) {
-       $profName = $fname.'-extensions-'.strval( $func );
+       # Allow closures in PHP 5.3+
+       if ( is_object( $func ) && $func instanceof Closure )
+               $profName = $fname.'-extensions-closure';
+       elseif( is_array( $func ) )
+               $profName = $fname.'-extensions-'.implode( '::', $func );
+       else
+               $profName = $fname.'-extensions-'.strval( $func );
+
        wfProfileIn( $profName );
        call_user_func( $func );
        wfProfileOut( $profName );