From: Tim Starling Date: Wed, 5 Apr 2006 04:17:21 +0000 (+0000) Subject: Return 404 for non-existent pages. Nonexistent titles are not null, contrary to the... X-Git-Tag: 1.6.0~13 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22config_fonctions%22%2C%20%22image_process=%24process%22%29%20.%20%22?a=commitdiff_plain;h=f1b0c7bc374c8468781910ef70071ed01dd56f87;p=lhc%2Fweb%2Fwiklou.git Return 404 for non-existent pages. Nonexistent titles are not null, contrary to the assumptions of the original author. --- diff --git a/includes/RawPage.php b/includes/RawPage.php index 53b49ec11a..5685385cc6 100644 --- a/includes/RawPage.php +++ b/includes/RawPage.php @@ -151,12 +151,13 @@ class RawPage { } function getArticleText() { + $found = false; + $text = ''; if( $this->mTitle ) { - $text = ''; - // If it's a MediaWiki message we can just hit the message cache if ( $this->mTitle->getNamespace() == NS_MEDIAWIKI ) { $text = wfMsgForContentNoTrans( $this->mTitle->getDbkey() ); + $found = true; } else { // Get it from the DB $rev = Revision::newFromTitle( $this->mTitle, $this->mOldId ); @@ -164,22 +165,21 @@ class RawPage { $lastmod = wfTimestamp( TS_RFC2822, $rev->getTimestamp() ); header( "Last-modified: $lastmod" ); $text = $rev->getText(); - } else - $text = ''; + $found = true; + } } - - return $this->parseArticleText( $text ); } # Bad title or page does not exist - if( $this->mContentType == 'text/x-wiki' ) { + if( !$found && $this->mContentType == 'text/x-wiki' ) { # Don't return a 404 response for CSS or JavaScript; # 404s aren't generally cached and it would create # extra hits when user CSS/JS are on and the user doesn't # have the pages. header( "HTTP/1.0 404 Not Found" ); } - return ''; + + return $this->parseArticleText( $text ); } function parseArticleText( $text ) {