MediaWiki master
index.php
Go to the documentation of this file.
1<?php
2// phpcs:disable Generic.Arrays.DisallowLongArraySyntax
28
29// Bail on old versions of PHP, or if composer has not been run yet to install
30// dependencies. Using dirname( __FILE__ ) here because __DIR__ is PHP5.3+.
31// phpcs:ignore MediaWiki.Usage.DirUsage.FunctionFound
32require_once dirname( __FILE__ ) . '/../includes/PHPVersionCheck.php';
33wfEntryPointCheck( 'html', dirname( dirname( $_SERVER['SCRIPT_NAME'] ) ) );
34
35define( 'MW_CONFIG_CALLBACK', [ Installer::class, 'overrideConfig' ] );
36define( 'MEDIAWIKI_INSTALL', true );
37
38// Resolve relative to regular MediaWiki root
39// instead of mw-config subdirectory.
40chdir( dirname( __DIR__ ) );
41require dirname( __DIR__ ) . '/includes/WebStart.php';
42
44
45function wfInstallerMain() {
47 $request = RequestContext::getMain()->getRequest();
48
49 $installer = InstallerOverrides::getWebInstaller( $request );
50
51 if ( !$installer->startSession() ) {
52 if ( $installer->request->getVal( 'css' ) ) {
53 // Do not display errors on css pages
54 $installer->outputCss();
55 exit;
56 }
57
58 $errors = $installer->getPhpErrors();
59 $installer->showError( 'config-session-error', $errors[0] );
60 $installer->finish();
61 exit;
62 }
63
64 $fingerprint = $installer->getFingerprint();
65 if ( isset( $_SESSION['installData'][$fingerprint] ) ) {
66 $session = $_SESSION['installData'][$fingerprint];
67 } else {
68 $session = array();
69 }
70
71 if ( $request->getCheck( 'uselang' ) ) {
72 $langCode = $request->getVal( 'uselang' );
73 } elseif ( isset( $session['settings']['_UserLang'] ) ) {
74 $langCode = $session['settings']['_UserLang'];
75 } else {
76 $langCode = 'en';
77 }
78 $wgLang = MediaWikiServices::getInstance()->getLanguageFactory()->getLanguage( $langCode );
79 RequestContext::getMain()->setLanguage( $wgLang );
80
81 $installer->setParserLanguage( $wgLang );
82
84
85 $session = $installer->execute( $session );
86
87 $_SESSION['installData'][$fingerprint] = $session;
88}
const NS_PROJECT
Definition Defines.php:68
wfEntryPointCheck( $format='text', $scriptPath='/')
Check PHP version and that external dependencies are installed, and display an informative error if e...
if(!defined( 'MW_NO_SESSION') &&MW_ENTRY_POINT !=='cli' $wgLang
Definition Setup.php:536
Group all the pieces relevant to the context of a request into one instance.
Base installer class.
Definition Installer.php:90
Service locator for MediaWiki core services.
$wgCanonicalNamespaceNames
Config variable stub for the CanonicalNamespaceNames setting, for use by phpdoc and IDEs.
$wgMetaNamespace
Config variable stub for the MetaNamespace setting, for use by phpdoc and IDEs.
wfInstallerMain()
Definition index.php:45