From: Jens Frank Date: Sat, 2 Oct 2004 21:36:36 +0000 (+0000) Subject: Add previous/next links to old revision pages X-Git-Tag: 1.5.0alpha1~1685 X-Git-Url: https://git.cyclocoop.org/admin/?a=commitdiff_plain;h=c03d9ab67b3b84444734ec79a80af1751259183d;p=lhc%2Fweb%2Fwiklou.git Add previous/next links to old revision pages --- diff --git a/includes/Article.php b/includes/Article.php index 7dc3727662..8e724caf0e 100644 --- a/includes/Article.php +++ b/includes/Article.php @@ -409,6 +409,23 @@ class Article { $t = $this->mTitle->getPrefixedText(); if ( isset( $oldid ) ) { $oldid = IntVal( $oldid ); + if ( $wgRequest->getVal( 'direction' ) == 'next' ) { + $nextid = $this->mTitle->getNextRevisionID( $oldid ); + if ( $nextid ) { + $oldid = $nextid; + } else { + $wgOut->redirect( $this->mTitle->getFullURL( 'redirect=no' ) ); + } + } elseif ( $wgRequest->getVal( 'direction' ) == 'prev' ) { + $previd = $this->mTitle->getPreviousRevisionID( $oldid ); + if ( $previd ) { + $oldid = $previd; + } else { + # TODO + } + } + } + if ( isset( $oldid ) ) { $t .= ',oldid='.$oldid; } if ( isset( $redirect ) ) { @@ -803,7 +820,7 @@ class Article { # We're looking at an old revision if ( !empty( $oldid ) ) { - $this->setOldSubtitle(); + $this->setOldSubtitle( $oldid ); $wgOut->setRobotpolicy( 'noindex,follow' ); } if ( '' != $this->mRedirectedFrom ) { @@ -1898,14 +1915,17 @@ class Article { /** * @todo document this function * @private + * @param string $oldid Revision ID of this article revision */ - function setOldSubtitle() { + function setOldSubtitle( $oldid=0 ) { global $wgLang, $wgOut, $wgUser; $td = $wgLang->timeanddate( $this->mTimestamp, true ); $sk = $wgUser->getSkin(); $lnk = $sk->makeKnownLinkObj ( $this->mTitle, wfMsg( 'currentrevisionlink' ) ); - $r = wfMsg( 'revisionasofwithlink', $td, $lnk ); + $prevlink = $sk->makeKnownLinkObj( $this->mTitle, wfMsg( 'previousrevision' ), 'direction=prev&oldid='.$oldid ); + $nextlink = $sk->makeKnownLinkObj( $this->mTitle, wfMsg( 'nextrevision' ), 'direction=next&oldid='.$oldid ); + $r = wfMsg( 'revisionasofwithlink', $td, $lnk, $prevlink, $nextlink ); $wgOut->setSubtitle( $r ); } diff --git a/includes/DifferenceEngine.php b/includes/DifferenceEngine.php index 9276d0f058..b28cc13367 100644 --- a/includes/DifferenceEngine.php +++ b/includes/DifferenceEngine.php @@ -27,11 +27,6 @@ class DifferenceEngine { $this->mNewid = intval($old); $this->mOldid = $wgTitle->getPreviousRevisionID( $this->mNewid ); - #$dbr =& wfGetDB( DB_SLAVE ); - #$this->mOldid = $dbr->selectField( 'old', 'old_id', - #"old_title='" . $wgTitle->getDBkey() . "'" . - #' AND old_namespace=' . $wgTitle->getNamespace() . - #" AND old_id<{$this->mNewid} ORDER BY old_id DESC" ); } elseif ( 'next' == $new ) { @@ -40,11 +35,6 @@ class DifferenceEngine { # $this->mOldid = intval($old); $this->mNewid = $wgTitle->getNextRevisionID( $this->mOldid ); - #$dbr =& wfGetDB( DB_SLAVE ); - #$this->mNewid = $dbr->selectField( 'old', 'old_id', - # "old_title='" . $wgTitle->getDBkey() . "'" . - # ' AND old_namespace=' . $wgTitle->getNamespace() . - # " AND old_id>{$this->mOldid} ORDER BY old_id " ); if ( false === $this->mNewid ) { # if no result, NewId points to the newest old revision. The only newer # revision is cur, which is "0". diff --git a/languages/Language.php b/languages/Language.php index a9fb977c6b..c6c7267380 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -685,7 +685,9 @@ Please check the URL you used to access this page.\n", 'loadhist' => 'Loading page history', 'currentrev' => 'Current revision', 'revisionasof' => 'Revision as of $1', -'revisionasofwithlink' => '(Revision as of $1; $2)', +'revisionasofwithlink' => 'Revision as of $1; $2
$3 | $4', +'previousrevision' => '←Older revision', +'nextrevision' => 'Newer revision→', 'currentrevisionlink' => 'view current revision', 'cur' => 'cur', 'next' => 'next', diff --git a/languages/LanguageDe.php b/languages/LanguageDe.php index b04c8fddab..1b97725599 100644 --- a/languages/LanguageDe.php +++ b/languages/LanguageDe.php @@ -479,6 +479,9 @@ Benutzer mit Sysop-Rechten bearbeitet werden kann. Beachten Sie bitte die "loadhist" => "Lade Liste mit früheren Versionen", "currentrev" => "Aktuelle Version", "revisionasof" => "Version vom $1", +'revisionasofwithlink' => 'Version vom $1; $2
$3 | $4', +'nextrevision' => '←Nächstjüngere Version', +'previousrevision' => 'Nächstältere Version→', "cur" => "Aktuell", "next" => "Nächste", "last" => "Letzte",