setup(); // We used to call this variable $self, but it was moved // to $maintenance->mSelf. Keep that here for b/c $self = $maintenance->getName(); // Define how settings are loaded (e.g. LocalSettings.php) if ( !defined( 'MW_CONFIG_CALLBACK' ) && !defined( 'MW_CONFIG_FILE' ) ) { define( 'MW_CONFIG_FILE', $maintenance->loadSettings() ); } // Custom setup for Maintenance entry point if ( !defined( 'MW_SETUP_CALLBACK' ) ) { function wfMaintenanceSetup() { global $maintenance, $wgLocalisationCacheConf, $wgCacheDirectory; if ( $maintenance->getDbType() === Maintenance::DB_NONE ) { if ( $wgLocalisationCacheConf['storeClass'] === false && ( $wgLocalisationCacheConf['store'] == 'db' || ( $wgLocalisationCacheConf['store'] == 'detect' && !$wgCacheDirectory ) ) ) { $wgLocalisationCacheConf['storeClass'] = LCStoreNull::class; } } $maintenance->finalSetup(); } define( 'MW_SETUP_CALLBACK', 'wfMaintenanceSetup' ); } require_once "$IP/includes/Setup.php"; // Initialize main config instance $maintenance->setConfig( MediaWikiServices::getInstance()->getMainConfig() ); // Sanity-check required extensions are installed $maintenance->checkRequiredExtensions(); if ( $maintenance->getDbType() == Maintenance::DB_NONE ) { // Be strict with maintenance tasks that claim to not need a database by // disabling the storage backend. MediaWikiServices::disableStorageBackend(); } $maintenance->validateParamsAndArgs(); // Do the work try { $success = $maintenance->execute(); } catch ( Exception $ex ) { $success = false; $exReportMessage = ''; while ( $ex ) { $cls = get_class( $ex ); $exReportMessage .= "$cls from line {$ex->getLine()} of {$ex->getFile()}: {$ex->getMessage()}\n"; $exReportMessage .= $ex->getTraceAsString() . "\n"; $ex = $ex->getPrevious(); } // Print the exception to stderr if possible, don't mix it in // with stdout output. if ( defined( 'STDERR' ) ) { fwrite( STDERR, $exReportMessage ); } else { echo $exReportMessage; } } // Potentially debug globals $maintenance->globals(); $maintenance->shutdown(); // Exit with an error status if execute() returned false if ( $success === false ) { exit( 1 ); }