From 2f256763f0f70563e576f390adc8ee33e4e95daf Mon Sep 17 00:00:00 2001 From: Lupin Date: Wed, 1 Mar 2006 03:28:48 +0000 Subject: [PATCH] Bug 5136: corner cases with relative oldids are wrong --- includes/RawPage.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/includes/RawPage.php b/includes/RawPage.php index b622fec433..0e46df5bde 100644 --- a/includes/RawPage.php +++ b/includes/RawPage.php @@ -44,10 +44,21 @@ class RawPage { $oldid = $this->mRequest->getInt( 'oldid' ); switch ( $wgRequest->getText( 'direction' ) ) { case 'next': - $oldid = $this->mTitle->getNextRevisionId( $oldid ); + # output next revision, or nothing if there isn't one + if ( $oldid ) { + $oldid = $this->mTitle->getNextRevisionId( $oldid ); + } + $oldid = $oldid ? $oldid : -1; break; case 'prev': - $oldid = $this->mTitle->getPreviousRevisionId( $oldid ); + # output previous revision, or nothing if there isn't one + if ( ! $oldid ) { + # get the current revision so we can get the penultimate one + $this->mArticle->getTouched(); + $oldid = $this->mArticle->mLatest; + } + $prev = $this->mTitle->getPreviousRevisionId( $oldid ); + $oldid = $prev ? $prev : -1 ; break; case 'cur': $oldid = 0; -- 2.20.1