// to $maintenance->mSelf. Keep that here for b/c
$self = $maintenance->getName();
-# Start the autoloader, so that extensions can derive classes from core files
-require_once "$IP/includes/AutoLoader.php";
-# Grab profiling functions
-require_once "$IP/includes/profiler/ProfilerFunctions.php";
-
-# Start the profiler
-$wgProfiler = [];
-if ( file_exists( "$IP/StartProfiler.php" ) ) {
- require "$IP/StartProfiler.php";
+// Define how settings are loaded (e.g. LocalSettings.php)
+if ( !defined( 'MW_CONFIG_CALLBACK' ) && !defined( 'MW_CONFIG_FILE' ) ) {
+ define( 'MW_CONFIG_FILE', $maintenance->loadSettings() );
}
-// Some other requires
-require_once "$IP/includes/Defines.php";
-require_once "$IP/includes/DefaultSettings.php";
-require_once "$IP/includes/GlobalFunctions.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
- call_user_func( MW_CONFIG_CALLBACK );
-} else {
- // Require the configuration (probably LocalSettings.php)
- require $maintenance->loadSettings();
-}
-
-if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
- if ( $wgLocalisationCacheConf['storeClass'] === false
- && ( $wgLocalisationCacheConf['store'] == 'db'
- || ( $wgLocalisationCacheConf['store'] == 'detect' && !$wgCacheDirectory ) )
- ) {
- $wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
+// Custom setup for Maintenance entry point
+if ( !defined( 'MW_SETUP_CALLBACK' ) ) {
+ function wfMaintenanceSetup() {
+ // @codingStandardsIgnoreLine MediaWiki.NamingConventions.ValidGlobalName.wgPrefix
+ global $maintenance, $wgLocalisationCacheConf, $wgCacheDirectory;
+ if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
+ if ( $wgLocalisationCacheConf['storeClass'] === false
+ && ( $wgLocalisationCacheConf['store'] == 'db'
+ || ( $wgLocalisationCacheConf['store'] == 'detect' && !$wgCacheDirectory ) )
+ ) {
+ $wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
+ }
+ }
+
+ $maintenance->finalSetup();
}
+ define( 'MW_SETUP_CALLBACK', 'wfMaintenanceSetup' );
}
-$maintenance->finalSetup();
-// Some last includes
require_once "$IP/includes/Setup.php";
// Initialize main config instance
// Potentially debug globals
$maintenance->globals();
-// Perform deferred updates.
-$lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
-$lbFactory->commitMasterChanges( $maintClass );
-DeferredUpdates::doUpdates();
+if ( $maintenance->getDbType() !== Maintenance::DB_NONE ) {
+ // Perform deferred updates.
+ $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
+ $lbFactory->commitMasterChanges( $maintClass );
+ DeferredUpdates::doUpdates();
+}
// log profiling info
wfLogProfilingData();
-// Commit and close up!
-$lbFactory->commitMasterChanges( 'doMaintenance' );
-$lbFactory->shutdown( $lbFactory::SHUTDOWN_NO_CHRONPROT );
+if ( isset( $lbFactory ) ) {
+ // Commit and close up!
+ $lbFactory->commitMasterChanges( 'doMaintenance' );
+ $lbFactory->shutdown( $lbFactory::SHUTDOWN_NO_CHRONPROT );
+}