MediaWiki
1.34.0
WebStart.php
Go to the documentation of this file.
1
<?php
28
# T17461: Make IE8 turn off content sniffing. Everybody else should ignore this
29
# We're adding it here so that it's *always* set, even for alternate entry
30
# points and when $wgOut gets disabled or overridden.
31
header(
'X-Content-Type-Options: nosniff'
);
32
33
# Valid web server entry point, enable includes.
34
# Please don't move this line to includes/Defines.php. This line essentially
35
# defines a valid entry point. If you put it in includes/Defines.php, then
36
# any script that includes it becomes an entry point, thereby defeating
37
# its purpose.
38
define(
'MEDIAWIKI'
,
true
);
39
40
# Full path to the installation directory.
41
$IP
= getenv(
'MW_INSTALL_PATH'
);
42
if
(
$IP
===
false
) {
43
$IP
= dirname( __DIR__ );
44
}
45
46
// If no LocalSettings file exists, try to display an error page
47
// (use a callback because it depends on TemplateParser)
48
if
( !defined(
'MW_CONFIG_CALLBACK'
) ) {
49
if
( !defined(
'MW_CONFIG_FILE'
) ) {
50
define(
'MW_CONFIG_FILE'
,
"$IP/LocalSettings.php"
);
51
}
52
if
( !is_readable( MW_CONFIG_FILE ) ) {
53
54
function
wfWebStartNoLocalSettings() {
55
# LocalSettings.php is the per-site customization file. If it does not exist
56
# the wiki installer needs to be launched or the generated file uploaded to
57
# the root wiki directory. Give a hint, if it is not readable by the server.
58
global
$IP
;
59
require_once
"$IP/includes/NoLocalSettings.php"
;
60
die();
61
}
62
63
define(
'MW_CONFIG_CALLBACK'
,
'wfWebStartNoLocalSettings'
);
64
}
65
}
66
67
// Custom setup for WebStart entry point
68
if
( !defined(
'MW_SETUP_CALLBACK'
) ) {
69
70
function
wfWebStartSetup() {
71
// Initialise output buffering
72
// Check for previously set up buffers, to avoid a mix of gzip and non-gzip output.
73
if
( ob_get_level() == 0 ) {
74
ob_start(
'MediaWiki\\OutputHandler::handle'
);
75
}
76
}
77
78
define(
'MW_SETUP_CALLBACK'
,
'wfWebStartSetup'
);
79
}
80
81
require_once
"$IP/includes/Setup.php"
;
82
83
# Multiple DBs or commits might be used; keep the request as transactional as possible
84
if
( isset( $_SERVER[
'REQUEST_METHOD'
] ) && $_SERVER[
'REQUEST_METHOD'
] ===
'POST'
) {
85
ignore_user_abort(
true
);
86
}
87
88
if
( !defined(
'MW_API'
) &&
89
RequestContext::getMain
()->getRequest()->getHeader(
'Promise-Non-Write-API-Action'
)
90
) {
91
header(
'Cache-Control: no-cache'
);
92
header(
'Content-Type: text/html; charset=utf-8'
);
93
HttpStatus::header
( 400 );
94
$errorHtml =
wfMessage
(
'nonwrite-api-promise-error'
)
95
->useDatabase(
false
)
96
->inContentLanguage()
97
->escaped();
98
$content
= <<<HTML
99
<!DOCTYPE html>
100
<html>
101
<head><meta charset=
"UTF-8"
/></head>
102
<body>
103
$errorHtml
104
</body>
105
</html>
106
107
HTML;
108
header(
'Content-Length: '
. strlen(
$content
) );
109
echo
$content
;
110
die();
111
}
wfMessage
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
Definition:
GlobalFunctions.php:1264
$content
$content
Definition:
router.php:78
RequestContext\getMain
static getMain()
Get the RequestContext object associated with the main request.
Definition:
RequestContext.php:431
HttpStatus\header
static header( $code)
Output an HTTP status code header.
Definition:
HttpStatus.php:96
$IP
$IP
Definition:
WebStart.php:41
includes
WebStart.php
Generated on Thu Dec 19 2019 14:55:06 for MediaWiki by
1.8.16