2022-07-31 10:39:13 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Entry point for running maintenance scripts.
|
|
|
|
|
*
|
|
|
|
|
* @file
|
|
|
|
|
* @ingroup Maintenance
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
use MediaWiki\Maintenance\MaintenanceRunner;
|
|
|
|
|
use MediaWiki\Settings\SettingsBuilder;
|
|
|
|
|
|
|
|
|
|
// No AutoLoader yet
|
|
|
|
|
require_once __DIR__ . '/Maintenance.php';
|
|
|
|
|
require_once __DIR__ . '/includes/MaintenanceRunner.php';
|
|
|
|
|
require_once __DIR__ . '/includes/MaintenanceParameters.php';
|
|
|
|
|
|
|
|
|
|
// Not in file scope, abort!
|
|
|
|
|
if ( !MaintenanceRunner::shouldExecute() ) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Define the MediaWiki entrypoint
|
|
|
|
|
define( 'MEDIAWIKI', true );
|
|
|
|
|
|
2023-01-19 07:56:30 +00:00
|
|
|
$IP = wfDetectInstallPath();
|
|
|
|
|
require_once "$IP/includes/AutoLoader.php";
|
2022-07-31 10:39:13 +00:00
|
|
|
|
|
|
|
|
// phpcs:disable: MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix
|
|
|
|
|
$runner = new MaintenanceRunner();
|
|
|
|
|
$runner->initFromWrapper( $argv );
|
|
|
|
|
|
|
|
|
|
$runner->defineSettings();
|
|
|
|
|
|
|
|
|
|
// Custom setup for Maintenance entry point
|
|
|
|
|
if ( !defined( 'MW_FINAL_SETUP_CALLBACK' ) ) {
|
|
|
|
|
|
|
|
|
|
// Define a function, since we can't put a closure or object
|
|
|
|
|
// reference into MW_FINAL_SETUP_CALLBACK.
|
|
|
|
|
function wfMaintenanceRunSetup( SettingsBuilder $settingsBuilder ) {
|
|
|
|
|
global $runner;
|
|
|
|
|
$runner->setup( $settingsBuilder );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
define( 'MW_FINAL_SETUP_CALLBACK', 'wfMaintenanceRunSetup' );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Initialize MediaWiki (load settings, extensions, etc).
|
|
|
|
|
require_once "$IP/includes/Setup.php";
|
|
|
|
|
|
|
|
|
|
$success = $runner->run();
|
|
|
|
|
|
|
|
|
|
// Exit with an error status if execute() returned false
|
|
|
|
|
if ( !$success ) {
|
|
|
|
|
exit( 1 );
|
|
|
|
|
}
|