MediaWiki REL1_39
doMaintenance.php
Go to the documentation of this file.
1<?php
30
31// No AutoLoader yet
32require_once __DIR__ . '/includes/MaintenanceRunner.php';
33require_once __DIR__ . '/includes/MaintenanceParameters.php';
34
35if ( !defined( 'RUN_MAINTENANCE_IF_MAIN' ) ) {
36 echo "This file must be included after Maintenance.php\n";
37 exit( 1 );
38}
39
40// Wasn't included from the file scope, halt execution (probably wanted the class)
41// If a class is using CommandLineInc (old school maintenance), they definitely
42// cannot be included and will proceed with execution
43// @phan-suppress-next-line PhanSuspiciousValueComparisonInGlobalScope
44if ( !MaintenanceRunner::shouldExecute() && $maintClass != CommandLineInc::class ) {
45 return;
46}
47
48// @phan-suppress-next-line PhanImpossibleConditionInGlobalScope
49if ( !$maintClass || !class_exists( $maintClass ) ) {
50 echo "\$maintClass is not set or is set to a non-existent class.\n";
51 exit( 1 );
52}
53
54// Define the MediaWiki entrypoint
55define( 'MEDIAWIKI', true );
56
58
60$runner->init( $maintClass );
61
62// We used to call this variable $self, but it was moved
63// to $maintenance->mSelf. Keep that here for b/c
64$self = $runner->getName();
65
66$runner->defineSettings();
67
68// Custom setup for Maintenance entry point
69if ( !defined( 'MW_SETUP_CALLBACK' ) ) {
70
71 // Define a function, since we can't put a closure or object
72 // reference into MW_SETUP_CALLBACK.
73 function wfMaintenanceSetup( SettingsBuilder $settingsBuilder ) {
74 global $runner;
75 $runner->overrideConfig( $settingsBuilder );
76 }
77
78 define( 'MW_SETUP_CALLBACK', 'wfMaintenanceSetup' );
79}
80
81// Initialize MediaWiki (load settings, initialized session,
82// enable MediaWikiServices)
83require_once "$IP/includes/Setup.php";
84
86
87// Exit with an error status if execute() returned false
88if ( !$success ) {
89 exit( 1 );
90}
wfDetectInstallPath()
Decide and remember where mediawiki is installed.
$maintClass
A runner for maintenance scripts.
Utility for loading settings files.
$runner
$success