X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=index.php;h=201087847a7a9afc802318f520729081f704e0db;hb=e41e273bd221100232160457e9383806150521ff;hp=b0454ddbfa86a8f62d98849730695483c72bd7c7;hpb=db461a71653d358298fe38b37e6575fc6c2808bd;p=lhc%2Fweb%2Fwiklou.git diff --git a/index.php b/index.php index b0454ddbfa..201087847a 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,4 @@ getVal( 'maxlag' ); -if( !is_null( $maxLag ) && !$mediaWiki->checkMaxLag( $maxLag ) ) { - 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 ) { + require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' ); + wfPHPVersionError( 'index.php' ); } -# Query string fields -$action = $wgRequest->getVal( 'action', 'view' ); -$title = $wgRequest->getVal( 'title' ); - -# Set title from request parameters -$wgTitle = $mediaWiki->checkInitialQueries( $title, $action ); -if( $wgTitle === null ) { - unset( $wgTitle ); +# 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 ( dirname( __FILE__ ) . '/includes/WebStart.php' ); } -wfProfileOut( 'main-misc-setup' ); - -# -# Send Ajax requests to the Ajax dispatcher. -# -if( $wgUseAjax && $action == 'ajax' ) { - require_once( $IP . '/includes/AjaxDispatcher.php' ); - $dispatcher = new AjaxDispatcher(); - $dispatcher->performAction(); - $mediaWiki->restInPeace(); - exit; -} - -if( $wgUseFileCache && isset( $wgTitle ) ) { - wfProfileIn( 'main-try-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( !$wgOut->checkLastModified( $cache->fileCacheTime() ) ) { - $cache->loadFromFileCache(); - } - # Do any stats increment/watchlist stuff - $wgArticle = MediaWiki::articleFromTitle( $wgTitle ); - $wgArticle->viewUpdates(); - # Tell $wgOut that output is taken care of - wfProfileOut( 'main-try-filecache' ); - $mediaWiki->restInPeace(); - exit; - } - } - wfProfileOut( 'main-try-filecache' ); -} - -# Setting global variables in mediaWiki -$mediaWiki->setVal( 'action', $action ); -$mediaWiki->setVal( 'DisabledActions', $wgDisabledActions ); -$mediaWiki->setVal( 'DisableHardRedirects', $wgDisableHardRedirects ); -$mediaWiki->setVal( 'EnableCreativeCommonsRdf', $wgEnableCreativeCommonsRdf ); -$mediaWiki->setVal( 'EnableDublinCoreRdf', $wgEnableDublinCoreRdf ); -$mediaWiki->setVal( 'JobRunRate', $wgJobRunRate ); -$mediaWiki->setVal( 'Server', $wgServer ); -$mediaWiki->setVal( 'SquidMaxage', $wgSquidMaxage ); -$mediaWiki->setVal( 'UseExternalEditor', $wgUseExternalEditor ); -$mediaWiki->setVal( 'UsePathInfo', $wgUsePathInfo ); - -$mediaWiki->performRequestForTitle( $wgTitle, $wgArticle, $wgOut, $wgUser, $wgRequest ); -$mediaWiki->finalCleanup( $wgDeferredUpdateList, $wgOut ); - -$mediaWiki->restInPeace(); - +$mediaWiki = new MediaWiki(); +$mediaWiki->run();