getVal( 'maxlag' ); if( !is_null( $maxLag ) && !$mediaWiki->checkMaxLag( $maxLag ) ) { exit; } # Set title from request parameters $wgTitle = $mediaWiki->checkInitialQueries( $wgRequest ); wfProfileOut( 'main-misc-setup' ); $action = $wgRequest->getVal( 'action' ); # Send Ajax requests to the Ajax dispatcher. if( $wgUseAjax && $action == 'ajax' ) { $dispatcher = new AjaxDispatcher(); $dispatcher->performAction(); $mediaWiki->restInPeace(); exit; } if( $wgUseFileCache && $wgTitle !== null ) { 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 $wgOut->disable(); wfProfileOut( 'main-try-filecache' ); $mediaWiki->finalCleanup( $wgOut ); $mediaWiki->restInPeace(); exit; } } wfProfileOut( 'main-try-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( $wgTitle, $wgArticle, $wgOut, $wgUser, $wgRequest ); $mediaWiki->finalCleanup( $wgOut ); $mediaWiki->restInPeace();