Add a way for packagers to override some installation details
[lhc/web/wiklou.git] / mw-config / index.php
1 <?php
2 /**
3 * New version of MediaWiki web-based config/installation
4 *
5 * @file
6 */
7
8 define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
9 define( 'MEDIAWIKI_INSTALL', true );
10
11 chdir( dirname( dirname( __FILE__ ) ) );
12 if ( isset( $_SERVER['MW_COMPILED'] ) ) {
13 require ( 'core/includes/WebStart.php' );
14 } else {
15 require( dirname( dirname( __FILE__ ) ) . '/includes/WebStart.php' );
16 }
17
18 wfInstallerMain();
19
20 function wfInstallerMain() {
21 global $wgRequest, $wgLang, $wgMetaNamespace, $wgCanonicalNamespaceNames;
22
23 $installer = InstallerOverrides::getWebInstaller( $wgRequest );
24
25 if ( !$installer->startSession() ) {
26 $installer->finish();
27 exit;
28 }
29
30 $fingerprint = $installer->getFingerprint();
31 if ( isset( $_SESSION['installData'][$fingerprint] ) ) {
32 $session = $_SESSION['installData'][$fingerprint];
33 } else {
34 $session = array();
35 }
36
37 if ( !is_null( $wgRequest->getVal( 'uselang' ) ) ) {
38 $langCode = $wgRequest->getVal( 'uselang' );
39 } elseif ( isset( $session['settings']['_UserLang'] ) ) {
40 $langCode = $session['settings']['_UserLang'];
41 } else {
42 $langCode = 'en';
43 }
44 $wgLang = Language::factory( $langCode );
45
46 $installer->setParserLanguage( $wgLang );
47
48 $wgMetaNamespace = $wgCanonicalNamespaceNames[NS_PROJECT];
49
50 $session = $installer->execute( $session );
51
52 $_SESSION['installData'][$fingerprint] = $session;
53
54 }