]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - mw-config/index.php
MediaWiki 1.17.0
[autoinstallsdev/mediawiki.git] / mw-config / index.php
diff --git a/mw-config/index.php b/mw-config/index.php
new file mode 100644 (file)
index 0000000..c00a0d0
--- /dev/null
@@ -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;
+
+}