MediaWiki
REL1_24
|
00001 <?php 00023 // Bail if PHP is too low 00024 if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.3.2' ) < 0 ) { 00025 // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+ 00026 require dirname( dirname( __FILE__ ) ) . '/includes/PHPVersionError.php'; 00027 wfPHPVersionError( 'mw-config/index.php' ); 00028 } 00029 00030 define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' ); 00031 define( 'MEDIAWIKI_INSTALL', true ); 00032 00033 // Resolve relative to regular MediaWiki root 00034 // instead of mw-config subdirectory. 00035 chdir( dirname( __DIR__ ) ); 00036 require dirname( __DIR__ ) . '/includes/WebStart.php'; 00037 00038 wfInstallerMain(); 00039 00040 function wfInstallerMain() { 00041 global $wgRequest, $wgLang, $wgMetaNamespace, $wgCanonicalNamespaceNames; 00042 00043 $installer = InstallerOverrides::getWebInstaller( $wgRequest ); 00044 00045 if ( !$installer->startSession() ) { 00046 00047 if ( $installer->request->getVal( "css" ) ) { 00048 // Do not display errors on css pages 00049 $installer->outputCss(); 00050 exit; 00051 } 00052 00053 $errors = $installer->getPhpErrors(); 00054 $installer->showError( 'config-session-error', $errors[0] ); 00055 $installer->finish(); 00056 exit; 00057 } 00058 00059 $fingerprint = $installer->getFingerprint(); 00060 if ( isset( $_SESSION['installData'][$fingerprint] ) ) { 00061 $session = $_SESSION['installData'][$fingerprint]; 00062 } else { 00063 $session = array(); 00064 } 00065 00066 if ( !is_null( $wgRequest->getVal( 'uselang' ) ) ) { 00067 $langCode = $wgRequest->getVal( 'uselang' ); 00068 } elseif ( isset( $session['settings']['_UserLang'] ) ) { 00069 $langCode = $session['settings']['_UserLang']; 00070 } else { 00071 $langCode = 'en'; 00072 } 00073 $wgLang = Language::factory( $langCode ); 00074 00075 $installer->setParserLanguage( $wgLang ); 00076 00077 $wgMetaNamespace = $wgCanonicalNamespaceNames[NS_PROJECT]; 00078 00079 $session = $installer->execute( $session ); 00080 00081 $_SESSION['installData'][$fingerprint] = $session; 00082 00083 }