Fixed html filecache handling of ?curid urls
authorAaron Schulz <aaron@users.mediawiki.org>
Mon, 17 Aug 2009 01:54:31 +0000 (01:54 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Mon, 17 Aug 2009 01:54:31 +0000 (01:54 +0000)
index.php

index 4997f73..edf28d3 100644 (file)
--- a/index.php
+++ b/index.php
@@ -80,20 +80,26 @@ if( $wgUseFileCache && isset( $wgTitle ) ) {
        // 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();
+               /* Set the title from the page ID if needed... */
+               if( $curid = $wgRequest->getInt('curid') ) {
+                       $wgTitle = Title::newFromID( $curid );
+               }
+               if( !is_null($wgTitle) ) {
+                       /* 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;
                        }
-                       # 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' );