summaryrefslogtreecommitdiff
path: root/includes/WebStart.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/WebStart.php')
-rw-r--r--includes/WebStart.php67
1 files changed, 31 insertions, 36 deletions
diff --git a/includes/WebStart.php b/includes/WebStart.php
index 01c5eea8..58c953af 100644
--- a/includes/WebStart.php
+++ b/includes/WebStart.php
@@ -27,7 +27,7 @@
# This must be done before any globals are set by the code
if ( ini_get( 'register_globals' ) ) {
if ( isset( $_REQUEST['GLOBALS'] ) || isset( $_FILES['GLOBALS'] ) ) {
- die( '<a href="http://www.hardened-php.net/globals-problem">$GLOBALS overwrite vulnerability</a>');
+ die( '<a href="http://www.hardened-php.net/globals-problem">$GLOBALS overwrite vulnerability</a>' );
}
$verboten = array(
'GLOBALS',
@@ -48,7 +48,7 @@ if ( ini_get( 'register_globals' ) ) {
'HTTP_SESSION_VARS'
);
foreach ( $_REQUEST as $name => $value ) {
- if( in_array( $name, $verboten ) ) {
+ if ( in_array( $name, $verboten ) ) {
header( "HTTP/1.1 500 Internal Server Error" );
echo "register_globals security paranoia: trying to overwrite superglobals, aborting.";
die( -1 );
@@ -57,12 +57,12 @@ if ( ini_get( 'register_globals' ) ) {
}
}
-# bug 15461: Make IE8 turn off content sniffing. Everbody else should ignore this
+# bug 15461: Make IE8 turn off content sniffing. Everybody else should ignore this
# We're adding it here so that it's *always* set, even for alternate entry
# points and when $wgOut gets disabled or overridden.
header( 'X-Content-Type-Options: nosniff' );
-$wgRequestTime = microtime(true);
+$wgRequestTime = microtime( true );
# getrusage() does not exist on the Microsoft Windows platforms, catching this
if ( function_exists ( 'getrusage' ) ) {
$wgRUstart = getrusage();
@@ -80,62 +80,60 @@ define( 'MEDIAWIKI', true );
# Full path to working directory.
# Makes it possible to for example to have effective exclude path in apc.
-# Also doesn't break installations using symlinked includes, like
-# __DIR__ would do.
+# __DIR__ breaks symlinked includes, but realpath() returns false
+# if we don't have permissions on parent directories.
$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
- $IP = realpath( '.' );
+ if ( realpath( '.' ) ) {
+ $IP = realpath( '.' );
+ } else {
+ $IP = dirname( __DIR__ );
+ }
}
-if ( isset( $_SERVER['MW_COMPILED'] ) ) {
- define( 'MW_COMPILED', 1 );
-} else {
- # Get MWInit class
- require_once( "$IP/includes/Init.php" );
+# Start the autoloader, so that extensions can derive classes from core files
+require_once "$IP/includes/AutoLoader.php";
- # Start the autoloader, so that extensions can derive classes from core files
- require_once( "$IP/includes/AutoLoader.php" );
+# Load the profiler
+require_once "$IP/includes/profiler/Profiler.php";
- # Load the profiler
- require_once( "$IP/includes/profiler/Profiler.php" );
-
- # Load up some global defines.
- require_once( "$IP/includes/Defines.php" );
-}
+# Load up some global defines.
+require_once "$IP/includes/Defines.php";
# Start the profiler
$wgProfiler = array();
if ( file_exists( "$IP/StartProfiler.php" ) ) {
- require( "$IP/StartProfiler.php" );
+ require "$IP/StartProfiler.php";
}
wfProfileIn( 'WebStart.php-conf' );
# Load default settings
-require_once( MWInit::compiledPath( "includes/DefaultSettings.php" ) );
+require_once "$IP/includes/DefaultSettings.php";
+
+# Load composer's autoloader if present
+if ( is_readable( "$IP/vendor/autoload.php" ) ) {
+ require_once "$IP/vendor/autoload.php";
+}
if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
# Use a callback function to configure MediaWiki
- MWFunction::call( MW_CONFIG_CALLBACK );
+ call_user_func( MW_CONFIG_CALLBACK );
} else {
if ( !defined( 'MW_CONFIG_FILE' ) ) {
- define('MW_CONFIG_FILE', MWInit::interpretedPath( 'LocalSettings.php' ) );
+ define( 'MW_CONFIG_FILE', "$IP/LocalSettings.php" );
}
# LocalSettings.php is the per site customization file. If it does not exist
# the wiki installer needs to be launched or the generated file uploaded to
# the root wiki directory
- if( !file_exists( MW_CONFIG_FILE ) ) {
- require_once( "$IP/includes/templates/NoLocalSettings.php" );
+ if ( !file_exists( MW_CONFIG_FILE ) ) {
+ require_once "$IP/includes/templates/NoLocalSettings.php";
die();
}
# Include site settings. $IP may be changed (hopefully before the AutoLoader is invoked)
- require_once( MW_CONFIG_FILE );
-}
-
-if ( $wgEnableSelenium ) {
- require_once( MWInit::compiledPath( "includes/SeleniumWebSettings.php" ) );
+ require_once MW_CONFIG_FILE;
}
wfProfileOut( 'WebStart.php-conf' );
@@ -146,14 +144,11 @@ wfProfileIn( 'WebStart.php-ob_start' );
# that would cause us to potentially mix gzip and non-gzip output, creating a
# big mess.
if ( !defined( 'MW_NO_OUTPUT_BUFFER' ) && ob_get_level() == 0 ) {
- if ( !defined( 'MW_COMPILED' ) ) {
- require_once( "$IP/includes/OutputHandler.php" );
- }
+ require_once "$IP/includes/OutputHandler.php";
ob_start( 'wfOutputHandler' );
}
wfProfileOut( 'WebStart.php-ob_start' );
if ( !defined( 'MW_NO_SETUP' ) ) {
- require_once( MWInit::compiledPath( "includes/Setup.php" ) );
+ require_once "$IP/includes/Setup.php";
}
-