X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=index.php;h=0e9676da299d5ced433e66db82b0c455dc73bde2;hb=026ce9c37a75d01c720d1805bce5a47ba0758ae6;hp=8faead547ca16c7b59945693bf3270d56e62f1d0;hpb=ff33175e96697dce4ac215993f4e6ef9c26a0525;p=lhc%2Fweb%2Fwiklou.git diff --git a/index.php b/index.php index 8faead547c..0e9676da29 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,4 @@ getVal( 'maxlag' ); -if ( !is_null( $maxLag ) ) { - list( $host, $lag ) = wfGetLB()->getMaxLag(); - if ( $lag > $maxLag ) { - header( 'HTTP/1.1 503 Service Unavailable' ); - header( 'Retry-After: ' . max( intval( $maxLag ), 5 ) ); - header( 'X-Database-Lag: ' . intval( $lag ) ); - header( 'Content-Type: text/plain' ); - if( $wgShowHostnames ) { - echo "Waiting for $host: $lag seconds lagged\n"; - } else { - echo "Waiting for a database server: $lag seconds lagged\n"; - } - exit; - } +# Bail on old versions of PHP. Pretty much every other file in the codebase +# has structures (try/catch, foo()->bar(), etc etc) which throw parse errors in +# PHP 4. Setup.php and ObjectCache.php have structures invalid in PHP 5.0 and +# 5.1, respectively. +if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) { + // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+ + require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' ); + wfPHPVersionError( 'index.php' ); } -# Initialize MediaWiki base class -$context = RequestContext::getMain(); -$mediaWiki = new MediaWiki( $context ); - -# Set title from request parameters -$wgTitle = $mediaWiki->getTitle(); -$action = $wgRequest->getVal( 'action', 'view' ); - -wfProfileOut( 'index.php-setup' ); - -# Send Ajax requests to the Ajax dispatcher. -if ( $wgUseAjax && $action == 'ajax' ) { - $dispatcher = new AjaxDispatcher(); - $dispatcher->performAction(); - wfProfileOut( 'index.php' ); - $mediaWiki->restInPeace(); - exit; +# Initialise common code. This gives us access to GlobalFunctions, the +# AutoLoader, and the globals $wgRequest, $wgOut, $wgUser, $wgLang and +# $wgContLang, amongst others; it does *not* load $wgTitle +if ( isset( $_SERVER['MW_COMPILED'] ) ) { + require ( 'phase3/includes/WebStart.php' ); +} else { + require ( __DIR__ . '/includes/WebStart.php' ); } -if ( $wgUseFileCache && $wgTitle !== null ) { - wfProfileIn( 'index.php-filecache' ); - // Raw pages should handle cache control on their own, - // even when using file cache. This reduces hits from clients. - if ( $action != 'raw' && HTMLFileCache::useFileCache() ) { - /* Try low-level file cache hit */ - $cache = new HTMLFileCache( $wgTitle, $action ); - if ( $cache->isFileCacheGood( /* Assume up to date */ ) ) { - /* Check incoming headers to see if client has this cached */ - if ( !$context->output->checkLastModified( $cache->fileCacheTime() ) ) { - $cache->loadFromFileCache(); - } - # Do any stats increment/watchlist stuff - $wgArticle = MediaWiki::articleFromTitle( $wgTitle ); - $wgArticle->viewUpdates(); - # Tell OutputPage that output is taken care of - $context->output->disable(); - wfProfileOut( 'index.php-filecache' ); - $mediaWiki->finalCleanup(); - wfProfileOut( 'index.php' ); - $mediaWiki->restInPeace(); - exit; - } - } - wfProfileOut( 'index.php-filecache' ); -} - -# Setting global variables in mediaWiki -$mediaWiki->setVal( 'DisableHardRedirects', $wgDisableHardRedirects ); -$mediaWiki->setVal( 'EnableCreativeCommonsRdf', $wgEnableCreativeCommonsRdf ); -$mediaWiki->setVal( 'EnableDublinCoreRdf', $wgEnableDublinCoreRdf ); -$mediaWiki->setVal( 'Server', $wgServer ); -$mediaWiki->setVal( 'SquidMaxage', $wgSquidMaxage ); -$mediaWiki->setVal( 'UseExternalEditor', $wgUseExternalEditor ); -$mediaWiki->setVal( 'UsePathInfo', $wgUsePathInfo ); - -$mediaWiki->performRequestForTitle( $wgArticle ); -$mediaWiki->finalCleanup(); - -wfProfileOut( 'index.php' ); - -$mediaWiki->restInPeace(); +$mediaWiki = new MediaWiki(); +$mediaWiki->run();