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()) { /* 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);
private function main() { global $wgUseFileCache, $wgTitle, $wgUseAjax; wfProfileIn(__METHOD__); # Set title from request parameters $wgTitle = $this->getTitle(); $action = $this->getAction(); $user = $this->context->getUser(); # Send Ajax requests to the Ajax dispatcher. if ($wgUseAjax && $action == 'ajax') { $dispatcher = new AjaxDispatcher(); $dispatcher->performAction(); wfProfileOut(__METHOD__); return; } if ($wgUseFileCache && $wgTitle->getNamespace() != NS_SPECIAL) { wfProfileIn('main-try-filecache'); // Raw pages should handle cache control on their own, // even when using file cache. This reduces hits from clients. if (HTMLFileCache::useFileCache()) { /* Try low-level file cache hit */ $cache = new HTMLFileCache($wgTitle, $action); if ($cache->isFileCacheGood()) { /* Check incoming headers to see if client has this cached */ $timestamp = $cache->fileCacheTime(); if (!$this->context->getOutput()->checkLastModified($timestamp)) { $cache->loadFromFileCache(); } # Do any stats increment/watchlist stuff $article = WikiPage::factory($wgTitle); $article->doViewUpdates($user); # Tell OutputPage that output is taken care of $this->context->getOutput()->disable(); wfProfileOut('main-try-filecache'); wfProfileOut(__METHOD__); return; } } wfProfileOut('main-try-filecache'); } $this->performRequest(); $this->finalCleanup(); wfProfileOut(__METHOD__); }