Fix comment to note return type on error
[lhc/web/wiklou.git] / includes / Setup.php
index b04319d..d57cba1 100644 (file)
@@ -22,7 +22,7 @@ $fname = 'Setup.php';
 wfProfileIn( $fname );
 
 // Check to see if we are at the file scope
-if( !isset( $wgVersion ) ) {
+if ( !isset( $wgVersion ) ) {
        echo "Error, Setup.php must be included from the file scope, after DefaultSettings.php\n";
        die( 1 );
 }
@@ -33,9 +33,9 @@ if( $wgRedirectScript === false ) $wgRedirectScript = "$wgScriptPath/redirect$wg
 
 if( $wgArticlePath === false ) {
        if( $wgUsePathInfo ) {
-               $wgArticlePath = "$wgScript/$1";
+               $wgArticlePath      = "$wgScript/$1";
        } else {
-               $wgArticlePath = "$wgScript?title=$1";
+               $wgArticlePath      = "$wgScript?title=$1";
        }
 }
 
@@ -54,15 +54,15 @@ if( $wgTmpDirectory === false ) $wgTmpDirectory = "{$wgUploadDirectory}/tmp";
 if( $wgReadOnlyFile === false ) $wgReadOnlyFile = "{$wgUploadDirectory}/lock_yBgMBwiR";
 if( $wgFileCacheDirectory === false ) $wgFileCacheDirectory = "{$wgUploadDirectory}/cache";
 
-if( empty( $wgFileStore['deleted']['directory'] ) ) {
+if ( empty( $wgFileStore['deleted']['directory'] ) ) {
        $wgFileStore['deleted']['directory'] = "{$wgUploadDirectory}/deleted";
 }
 
 /**
- * Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a 
- * sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure. 
+ * Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a
+ * sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure.
  *
- * Note that this is the definition of editinterface and it can be granted to 
+ * Note that this is the definition of editinterface and it can be granted to
  * all users if desired.
  */
 $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface';
@@ -78,7 +78,7 @@ $wgNamespaceAliases['Image_talk'] = NS_FILE_TALK;
 /**
  * Initialise $wgLocalFileRepo from backwards-compatible settings
  */
-if( !$wgLocalFileRepo ) {
+if ( !$wgLocalFileRepo ) {
        $wgLocalFileRepo = array(
                'class' => 'LocalRepo',
                'name' => 'local',
@@ -95,8 +95,8 @@ if( !$wgLocalFileRepo ) {
 /**
  * Initialise shared repo from backwards-compatible settings
  */
-if( $wgUseSharedUploads ) {
-       if( $wgSharedUploadDBname ) {
+if ( $wgUseSharedUploads ) {
+       if ( $wgSharedUploadDBname ) {
                $wgForeignFileRepos[] = array(
                        'class' => 'ForeignDBRepo',
                        'name' => 'shared',
@@ -130,7 +130,9 @@ if( $wgUseSharedUploads ) {
                );
        }
 }
-require_once( "$IP/includes/AutoLoader.php" );
+if ( !class_exists( 'AutoLoader' ) ) {
+       require_once( "$IP/includes/AutoLoader.php" );
+}
 
 wfProfileIn( $fname.'-exception' );
 require_once( "$IP/includes/Exception.php" );
@@ -147,16 +149,17 @@ require_once( "$IP/includes/ImageFunctions.php" );
 require_once( "$IP/includes/StubObject.php" );
 wfProfileOut( $fname.'-includes' );
 wfProfileIn( $fname.'-misc1' );
-
+# Raise the memory limit if it's too low
+wfMemoryLimit();
 
 $wgIP = false; # Load on demand
 # Can't stub this one, it sets up $_GET and $_REQUEST in its constructor
 $wgRequest = new WebRequest;
 
 # Useful debug output
-if( $wgCommandLineMode ) {
+if ( $wgCommandLineMode ) {
        wfDebug( "\n\nStart command line script $self\n" );
-} elseif( function_exists( 'getallheaders' ) ) {
+} elseif ( function_exists( 'getallheaders' ) ) {
        wfDebug( "\n\nStart request\n" );
        wfDebug( $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . "\n" );
        $headers = getallheaders();
@@ -181,13 +184,13 @@ if( $wgRCFilterByAge ) {
        }
 }
 
-if( $wgSkipSkin ) {
+if ( $wgSkipSkin ) {
        $wgSkipSkins[] = $wgSkipSkin;
 }
 
 $wgUseEnotif = $wgEnotifUserTalk || $wgEnotifWatchlist;
 
-if( $wgMetaNamespace === FALSE ) {
+if($wgMetaNamespace === FALSE) {
        $wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
 }
 
@@ -195,6 +198,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' );
 
@@ -234,7 +251,7 @@ $wgCookiePrefix = strtr($wgCookiePrefix, "=,; +.\"'\\[", "__________");
 if( !wfIniGetBool( 'session.auto_start' ) )
        session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' );
 
-if( !$wgCommandLineMode && ( $wgRequest->checkSessionCookie() || isset($_COOKIE[$wgCookiePrefix.'Token']) ) ) {
+if( !$wgCommandLineMode && ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) {
        wfIncrStats( 'request_with_session' );
        wfSetupSession();
        $wgSessionStarted = true;
@@ -253,6 +270,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 ) );
 
@@ -266,7 +284,7 @@ wfProfileIn( $fname.'-User' );
 # 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 ) {
+foreach ( $wgSkinExtensionFunctions as $func ) {
        call_user_func( $func );
 }
 
@@ -282,8 +300,8 @@ wfProfileIn( $fname.'-misc2' );
 $wgDeferredUpdateList = array();
 $wgPostCommitUpdateList = array();
 
-if( $wgAjaxWatch ) $wgAjaxExportList[] = 'wfAjaxWatch';
-if( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'UploadForm::ajaxGetExistsWarning';
+if ( $wgAjaxWatch ) $wgAjaxExportList[] = 'wfAjaxWatch';
+if ( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'UploadForm::ajaxGetExistsWarning';
 if( $wgAjaxLicensePreview )
        $wgAjaxExportList[] = 'UploadForm::ajaxGetLicensePreview';
 
@@ -294,12 +312,30 @@ $wgArticle = null;
 wfProfileOut( $fname.'-misc2' );
 wfProfileIn( $fname.'-extensions' );
 
+/*
+ * load the $wgExtensionMessagesFiles for the script loader
+ * this can't be done in a normal extension type way
+ * since the script-loader is an entry point
+ */
+$wgExtensionMessagesFiles['mwEmbed'] = "{$IP}/js2/mwEmbed/php/languages/mwEmbed.i18n.php";
+
 # 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
-foreach( $wgExtensionFunctions as $func ) {
-       $profName = $fname.'-extensions-'.strval( $func );
+foreach ( $wgExtensionFunctions as $func ) {
+       # Allow closures in PHP 5.3+
+       if ( is_object( $func ) && $func instanceof Closure ) {
+               $profName = $fname.'-extensions-closure';
+       } elseif( is_array( $func ) ) {
+               if ( is_object( $func[0] ) )
+                       $profName = $fname.'-extensions-'.get_class( $func[0] ).'::'.$func[1];
+               else
+                       $profName = $fname.'-extensions-'.implode( '::', $func );
+       } else {
+               $profName = $fname.'-extensions-'.strval( $func );
+       }
+
        wfProfileIn( $profName );
        call_user_func( $func );
        wfProfileOut( $profName );