From 8b356fda61f16d02237adaabeaa3dbdb32364760 Mon Sep 17 00:00:00 2001 From: Liangent Date: Thu, 24 Jul 2014 08:25:01 +0000 Subject: [PATCH] Send 404 in various special pages when there're no results Bug: 67182 Change-Id: I442645d8b98731282768e6cc19a8f426b1d0b519 --- includes/specialpage/ChangesListSpecialPage.php | 1 + includes/specials/SpecialContributions.php | 3 +++ includes/specials/SpecialRecentchanges.php | 3 +++ includes/specials/SpecialWhatlinkshere.php | 1 + 4 files changed, 8 insertions(+) diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index 008200d45c..80c612f06a 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -54,6 +54,7 @@ abstract class ChangesListSpecialPage extends SpecialPage { if ( $rows === false ) { if ( !$this->including() ) { $this->doHeader( $opts ); + $this->getOutput()->setStatusCode( 404 ); } return; diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index 251ac51e7f..a884a39e39 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -255,6 +255,9 @@ class SpecialContributions extends IncludableSpecialPage { wfEscapeWikiText( $userObj->getName() ), ) ); + if ( !$this->including() ) { + $this->getOutput()->setStatusCode( 404 ); + } } $user = htmlspecialchars( $userObj->getName() ); } else { diff --git a/includes/specials/SpecialRecentchanges.php b/includes/specials/SpecialRecentchanges.php index aa8ed82be6..c3d9d3eb3e 100644 --- a/includes/specials/SpecialRecentchanges.php +++ b/includes/specials/SpecialRecentchanges.php @@ -344,6 +344,9 @@ class SpecialRecentChanges extends ChangesListSpecialPage { $this->msg( 'recentchanges-noresult' )->parse() . '' ); + if ( !$this->including() ) { + $this->getOutput()->setStatusCode( 404 ); + } } else { $this->getOutput()->addHTML( $rclistOutput ); } diff --git a/includes/specials/SpecialWhatlinkshere.php b/includes/specials/SpecialWhatlinkshere.php index 694bc83749..a3f71d1e66 100644 --- a/includes/specials/SpecialWhatlinkshere.php +++ b/includes/specials/SpecialWhatlinkshere.php @@ -208,6 +208,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { } $errMsg = is_int( $namespace ) ? 'nolinkshere-ns' : 'nolinkshere'; $out->addWikiMsg( $errMsg, $this->target->getPrefixedText() ); + $out->setStatusCode( 404 ); } } -- 2.20.1