Send 404 in various special pages when there're no results
authorLiangent <liangent@gmail.com>
Thu, 24 Jul 2014 08:25:01 +0000 (08:25 +0000)
committerLiangent <liangent@gmail.com>
Thu, 24 Jul 2014 08:26:54 +0000 (08:26 +0000)
Bug: 67182
Change-Id: I442645d8b98731282768e6cc19a8f426b1d0b519

includes/specialpage/ChangesListSpecialPage.php
includes/specials/SpecialContributions.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialWhatlinkshere.php

index 008200d..80c612f 100644 (file)
@@ -54,6 +54,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                if ( $rows === false ) {
                        if ( !$this->including() ) {
                                $this->doHeader( $opts );
+                               $this->getOutput()->setStatusCode( 404 );
                        }
 
                        return;
index 251ac51..a884a39 100644 (file)
@@ -255,6 +255,9 @@ class SpecialContributions extends IncludableSpecialPage {
                                                wfEscapeWikiText( $userObj->getName() ),
                                        )
                                );
+                               if ( !$this->including() ) {
+                                       $this->getOutput()->setStatusCode( 404 );
+                               }
                        }
                        $user = htmlspecialchars( $userObj->getName() );
                } else {
index aa8ed82..c3d9d3e 100644 (file)
@@ -344,6 +344,9 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                                $this->msg( 'recentchanges-noresult' )->parse() .
                                '</div>'
                        );
+                       if ( !$this->including() ) {
+                               $this->getOutput()->setStatusCode( 404 );
+                       }
                } else {
                        $this->getOutput()->addHTML( $rclistOutput );
                }
index 694bc83..a3f71d1 100644 (file)
@@ -208,6 +208,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                                        }
                                        $errMsg = is_int( $namespace ) ? 'nolinkshere-ns' : 'nolinkshere';
                                        $out->addWikiMsg( $errMsg, $this->target->getPrefixedText() );
+                                       $out->setStatusCode( 404 );
                                }
                        }