MediaWiki  master
index.php
Go to the documentation of this file.
1 <?php
2 // phpcs:disable Generic.Arrays.DisallowLongArraySyntax
24 // Bail on old versions of PHP, or if composer has not been run yet to install
25 // dependencies. Using dirname( __FILE__ ) here because __DIR__ is PHP5.3+.
26 // phpcs:ignore MediaWiki.Usage.DirUsage.FunctionFound
27 require_once dirname( __FILE__ ) . '/../includes/PHPVersionCheck.php';
28 wfEntryPointCheck( 'html', dirname( dirname( $_SERVER['SCRIPT_NAME'] ) ) );
29 
30 define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
31 define( 'MEDIAWIKI_INSTALL', true );
32 
33 // Resolve relative to regular MediaWiki root
34 // instead of mw-config subdirectory.
35 chdir( dirname( __DIR__ ) );
36 require dirname( __DIR__ ) . '/includes/WebStart.php';
37 
39 
40 function wfInstallerMain() {
42  $request = RequestContext::getMain()->getRequest();
43 
44  $installer = InstallerOverrides::getWebInstaller( $request );
45 
46  if ( !$installer->startSession() ) {
47  if ( $installer->request->getVal( 'css' ) ) {
48  // Do not display errors on css pages
49  $installer->outputCss();
50  exit;
51  }
52 
53  $errors = $installer->getPhpErrors();
54  $installer->showError( 'config-session-error', $errors[0] );
55  $installer->finish();
56  exit;
57  }
58 
59  $fingerprint = $installer->getFingerprint();
60  if ( isset( $_SESSION['installData'][$fingerprint] ) ) {
61  $session = $_SESSION['installData'][$fingerprint];
62  } else {
63  $session = array();
64  }
65 
66  if ( $request->getCheck( 'uselang' ) ) {
67  $langCode = $request->getVal( 'uselang' );
68  } elseif ( isset( $session['settings']['_UserLang'] ) ) {
69  $langCode = $session['settings']['_UserLang'];
70  } else {
71  $langCode = 'en';
72  }
73  $wgLang = Language::factory( $langCode );
74  RequestContext::getMain()->setLanguage( $wgLang );
75 
76  $installer->setParserLanguage( $wgLang );
77 
78  $wgMetaNamespace = $wgCanonicalNamespaceNames[NS_PROJECT];
79 
80  $session = $installer->execute( $session );
81 
82  $_SESSION['installData'][$fingerprint] = $session;
83 }
$wgCanonicalNamespaceNames
Definitions of the NS_ constants are in Defines.php.
Definition: Setup.php:467
$wgMetaNamespace
Name of the project namespace.
wfEntryPointCheck( $format='text', $scriptPath='/')
Check PHP version and that external dependencies are installed, and display an informative error if e...
const NS_PROJECT
Definition: Defines.php:64
$wgLang
Definition: Setup.php:856
static getMain()
Get the RequestContext object associated with the main request.
static factory( $code)
Get a cached or new language object for a given language code.
Definition: Language.php:212
static getWebInstaller(WebRequest $request)
Instantiates and returns an instance of WebInstaller or its descendant classes.
wfInstallerMain()
Definition: index.php:40