aboutsummaryrefslogtreecommitdiffstats
path: root/includes/diff
diff options
context:
space:
mode:
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>2023-10-11 02:12:32 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2023-10-11 02:12:32 +0000
commit5dd2ee1e3b76a51cc77ebfa958c3d2dedbfbabe5 (patch)
tree0210c42d609efe2ab7e3dd4beb295601fc4cd865 /includes/diff
parentb212c73931607045bf65a80994b932ce3852eb29 (diff)
parent4bbfde052a1399cce888a0cb667db2d0d8bcce69 (diff)
downloadmediawikicore-5dd2ee1e3b76a51cc77ebfa958c3d2dedbfbabe5.tar.gz
mediawikicore-5dd2ee1e3b76a51cc77ebfa958c3d2dedbfbabe5.zip
Merge "DifferenceEngine: Separate previous/next from diff itself"
Diffstat (limited to 'includes/diff')
-rw-r--r--includes/diff/DifferenceEngine.php28
1 files changed, 26 insertions, 2 deletions
diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php
index e0dedd12776d..ef6a29332165 100644
--- a/includes/diff/DifferenceEngine.php
+++ b/includes/diff/DifferenceEngine.php
@@ -706,6 +706,7 @@ class DifferenceEngine extends ContextSource {
$allowed = $this->isUserAllowedToSeeRevisions( $this->getAuthority() );
$revisionTools = [];
+ $breadCrumbs = '';
# mOldRevisionRecord is false if the difference engine is called with a "vague" query for
# a diff between a version V and its previous version V' AND the version V
@@ -775,11 +776,20 @@ class DifferenceEngine extends ContextSource {
$hasPrevious = $samePage && $this->mOldPage &&
$this->revisionStore->getPreviousRevision( $this->mOldRevisionRecord );
if ( $hasPrevious ) {
+ $prevlinkQuery = [ 'diff' => 'prev', 'oldid' => $this->mOldid ] + $query;
$prevlink = $this->linkRenderer->makeKnownLink(
$this->mOldPage,
$this->msg( 'previousdiff' )->text(),
[ 'id' => 'differences-prevlink' ],
- [ 'diff' => 'prev', 'oldid' => $this->mOldid ] + $query
+ $prevlinkQuery
+ );
+ $breadCrumbs .= $this->linkRenderer->makeKnownLink(
+ $this->mOldPage,
+ $this->msg( 'previousdiff' )->text(),
+ [
+ 'class' => 'mw-diff-revision-history-link-previous'
+ ],
+ $prevlinkQuery
);
} else {
$prevlink = "\u{00A0}";
@@ -826,11 +836,20 @@ class DifferenceEngine extends ContextSource {
# Make "next revision link"
# Skip next link on the top revision
if ( $samePage && $this->mNewPage && !$this->mNewRevisionRecord->isCurrent() ) {
+ $nextlinkQuery = [ 'diff' => 'next', 'oldid' => $this->mNewid ] + $query;
$nextlink = $this->linkRenderer->makeKnownLink(
$this->mNewPage,
$this->msg( 'nextdiff' )->text(),
[ 'id' => 'differences-nextlink' ],
- [ 'diff' => 'next', 'oldid' => $this->mNewid ] + $query
+ $nextlinkQuery
+ );
+ $breadCrumbs .= $this->linkRenderer->makeKnownLink(
+ $this->mNewPage,
+ $this->msg( 'nextdiff' )->text(),
+ [
+ 'class' => 'mw-diff-revision-history-link-next'
+ ],
+ $nextlinkQuery
);
} else {
$nextlink = "\u{00A0}";
@@ -891,6 +910,11 @@ class DifferenceEngine extends ContextSource {
$formattedRevisionTools, $nextlink, $rollback, $newminor, $diffOnly,
$rdel, $this->unhide );
+ $out->addHTML(
+ Html::rawElement( 'div', [
+ 'class' => 'mw-diff-revision-history-links'
+ ], $breadCrumbs )
+ );
# If the diff cannot be shown due to a deleted revision, then output
# the diff header and links to unhide (if available)...
if ( $this->shouldBeHiddenFromUser( $this->getAuthority() ) ) {