summaryrefslogtreecommitdiff
path: root/mw-config/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'mw-config/index.php')
-rw-r--r--mw-config/index.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/mw-config/index.php b/mw-config/index.php
new file mode 100644
index 00000000..c00a0d01
--- /dev/null
+++ b/mw-config/index.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * New version of MediaWiki web-based config/installation
+ *
+ * @file
+ */
+
+define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
+define( 'MEDIAWIKI_INSTALL', true );
+
+chdir( dirname( dirname( __FILE__ ) ) );
+require( dirname( dirname( __FILE__ ) ) . '/includes/WebStart.php' );
+
+wfInstallerMain();
+
+function wfInstallerMain() {
+ global $wgRequest, $wgLang, $wgMetaNamespace, $wgCanonicalNamespaceNames;
+
+ $installer = new WebInstaller( $wgRequest );
+
+ if ( !$installer->startSession() ) {
+ $installer->finish();
+ exit;
+ }
+
+ $fingerprint = $installer->getFingerprint();
+ if ( isset( $_SESSION['installData'][$fingerprint] ) ) {
+ $session = $_SESSION['installData'][$fingerprint];
+ } else {
+ $session = array();
+ }
+
+ if ( isset( $session['settings']['_UserLang'] ) ) {
+ $langCode = $session['settings']['_UserLang'];
+ } elseif ( !is_null( $wgRequest->getVal( 'UserLang' ) ) ) {
+ $langCode = $wgRequest->getVal( 'UserLang' );
+ } else {
+ $langCode = 'en';
+ }
+ $wgLang = Language::factory( $langCode );
+
+ $installer->setParserLanguage( $wgLang );
+
+ $wgMetaNamespace = $wgCanonicalNamespaceNames[NS_PROJECT];
+
+ $session = $installer->execute( $session );
+
+ $_SESSION['installData'][$fingerprint] = $session;
+
+}