summaryrefslogtreecommitdiff
path: root/maintenance/doMaintenance.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/doMaintenance.php')
-rw-r--r--maintenance/doMaintenance.php57
1 files changed, 35 insertions, 22 deletions
diff --git a/maintenance/doMaintenance.php b/maintenance/doMaintenance.php
index 2bb2a0f4..3bd508cb 100644
--- a/maintenance/doMaintenance.php
+++ b/maintenance/doMaintenance.php
@@ -34,7 +34,7 @@ if ( !defined( 'RUN_MAINTENANCE_IF_MAIN' ) ) {
// Wasn't included from the file scope, halt execution (probably wanted the class)
// If a class is using commandLine.inc (old school maintenance), they definitely
// cannot be included and will proceed with execution
-if( !Maintenance::shouldExecute() && $maintClass != 'CommandLineInc' ) {
+if ( !Maintenance::shouldExecute() && $maintClass != 'CommandLineInc' ) {
return;
}
@@ -53,27 +53,29 @@ $maintenance->setup();
// to $maintenance->mSelf. Keep that here for b/c
$self = $maintenance->getName();
-// Detect compiled mode
-if ( isset( $_SERVER['MW_COMPILED'] ) ) {
- define( 'MW_COMPILED', 1 );
-} else {
- # Get the MWInit class
- require_once( "$IP/includes/Init.php" );
- require_once( "$IP/includes/AutoLoader.php" );
-}
-
+# Start the autoloader, so that extensions can derive classes from core files
+require_once "$IP/includes/AutoLoader.php";
# Stub the profiler
-require_once( MWInit::compiledPath( 'includes/profiler/Profiler.php' ) );
+require_once "$IP/includes/profiler/Profiler.php";
+
+# Start the profiler
+$wgProfiler = array();
+if ( file_exists( "$IP/StartProfiler.php" ) ) {
+ require "$IP/StartProfiler.php";
+}
// Some other requires
-if ( !defined( 'MW_COMPILED' ) ) {
- require_once( "$IP/includes/Defines.php" );
+require_once "$IP/includes/Defines.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";
}
-require_once( MWInit::compiledPath( 'includes/DefaultSettings.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 ( file_exists( "$IP/../wmf-config/wikimedia-mode" ) ) {
// Load settings, using wikimedia-mode if needed
@@ -82,25 +84,26 @@ if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
# Maybe a hook?
global $cluster;
$cluster = 'pmtpa';
- require( MWInit::interpretedPath( '../wmf-config/wgConf.php' ) );
+ require "$IP/../wmf-config/wgConf.php";
}
// Require the configuration (probably LocalSettings.php)
- require( $maintenance->loadSettings() );
+ require $maintenance->loadSettings();
}
if ( $maintenance->getDbType() === Maintenance::DB_ADMIN &&
is_readable( "$IP/AdminSettings.php" ) )
{
- require( MWInit::interpretedPath( 'AdminSettings.php' ) );
+ require "$IP/AdminSettings.php";
}
if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
- if ( $wgLocalisationCacheConf['storeClass'] === false && ( $wgLocalisationCacheConf['store'] == 'db' || ( $wgLocalisationCacheConf['store'] == 'detect' && !$wgCacheDirectory ) ) )
+ if ( $wgLocalisationCacheConf['storeClass'] === false && ( $wgLocalisationCacheConf['store'] == 'db' || ( $wgLocalisationCacheConf['store'] == 'detect' && !$wgCacheDirectory ) ) ) {
$wgLocalisationCacheConf['storeClass'] = 'LCStore_Null';
+ }
}
$maintenance->finalSetup();
// Some last includes
-require_once( MWInit::compiledPath( 'includes/Setup.php' ) );
+require_once "$IP/includes/Setup.php";
// Much much faster startup than creating a title object
$wgTitle = null;
@@ -111,8 +114,18 @@ try {
// Potentially debug globals
$maintenance->globals();
+
+ // Perform deferred updates.
+ DeferredUpdates::doUpdates( 'commit' );
+
+ // log profiling info
+ wfLogProfilingData();
+
+ // Commit and close up!
+ $factory = wfGetLBFactory();
+ $factory->commitMasterChanges();
+ $factory->shutdown();
} catch ( MWException $mwe ) {
- echo( $mwe->getText() );
+ echo $mwe->getText();
exit( 1 );
}
-