MediaWiki
master
doMaintenance.php
Go to the documentation of this file.
1
<?php
28
use
MediaWiki\Maintenance\MaintenanceRunner
;
29
use
MediaWiki\Settings\SettingsBuilder
;
30
31
// No AutoLoader yet
32
require_once __DIR__ .
'/includes/MaintenanceRunner.php'
;
33
require_once __DIR__ .
'/includes/MaintenanceParameters.php'
;
34
35
if
( !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
// This typically happens when a maintenance script is executed using run.php.
42
// @phan-suppress-next-line PhanSuspiciousValueComparisonInGlobalScope
43
if
( !MaintenanceRunner::shouldExecute() &&
$maintClass
!= CommandLineInc::class ) {
44
return
;
45
}
46
47
// @phan-suppress-next-line PhanImpossibleConditionInGlobalScope
48
if
( !
$maintClass
|| !class_exists(
$maintClass
) ) {
49
echo
"\$maintClass is not set or is set to a non-existent class.\n"
;
50
exit( 1 );
51
}
52
53
// Define the MediaWiki entrypoint
54
define(
'MEDIAWIKI'
,
true
);
55
56
$IP
=
wfDetectInstallPath
();
57
require_once
"$IP/includes/AutoLoader.php"
;
58
59
$runner
=
new
MaintenanceRunner
();
60
$runner
->initForClass(
$maintClass
, $GLOBALS[
'argv'
] );
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
69
if
( !defined(
'MW_FINAL_SETUP_CALLBACK'
) ) {
70
71
// Define a function, since we can't put a closure or object
72
// reference into MW_FINAL_SETUP_CALLBACK.
73
function
wfMaintenanceSetup(
SettingsBuilder
$settingsBuilder ) {
74
global
$runner
;
75
$runner
->setup( $settingsBuilder );
76
}
77
78
define(
'MW_FINAL_SETUP_CALLBACK'
,
'wfMaintenanceSetup'
);
79
}
80
81
// Initialize MediaWiki (load settings, initialized session,
82
// enable MediaWikiServices)
83
require_once
"$IP/includes/Setup.php"
;
84
85
// We only get here if the script was invoked directly.
86
// If it was loaded by MaintenanceRunner, MaintenanceRunner::shouldExecute() would have returned false,
87
// and we would have returned from this file early.
88
89
if
( stream_isatty( STDOUT ) ) {
90
echo
"\n"
;
91
echo
"*******************************************************************************\n"
;
92
echo
"NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!\n"
;
93
echo
" Running scripts directly has been deprecated in MediaWiki 1.40.\n"
;
94
echo
" It may not work for some (or any) scripts in the future.\n"
;
95
echo
"*******************************************************************************\n"
;
96
echo
"\n"
;
97
}
98
99
// Do it!
100
$success
=
$runner
->run();
101
102
// Exit with an error status if execute() returned false
103
if
( !
$success
) {
104
exit( 1 );
105
}
wfDetectInstallPath
wfDetectInstallPath()
Decide and remember where mediawiki is installed.
Definition
BootstrapHelperFunctions.php:66
$maintClass
$maintClass
Definition
addChangeTag.php:69
MediaWiki\Maintenance\MaintenanceRunner
A runner for maintenance scripts.
Definition
MaintenanceRunner.php:26
MediaWiki\Settings\SettingsBuilder
Builder class for constructing a Config object from a set of sources during bootstrap.
Definition
SettingsBuilder.php:55
$IP
$IP
Definition
doMaintenance.php:56
$self
$self
Definition
doMaintenance.php:64
$runner
$runner
Definition
doMaintenance.php:59
$success
if(stream_isatty(STDOUT)) $success
Definition
doMaintenance.php:100
maintenance
doMaintenance.php
Generated on Sat Nov 2 2024 20:27:15 for MediaWiki by
1.10.0