diff options
author | jenkins-bot <jenkins-bot@gerrit.wikimedia.org> | 2023-10-11 02:12:32 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@wikimedia.org> | 2023-10-11 02:12:32 +0000 |
commit | 5dd2ee1e3b76a51cc77ebfa958c3d2dedbfbabe5 (patch) | |
tree | 0210c42d609efe2ab7e3dd4beb295601fc4cd865 /includes/diff | |
parent | b212c73931607045bf65a80994b932ce3852eb29 (diff) | |
parent | 4bbfde052a1399cce888a0cb667db2d0d8bcce69 (diff) | |
download | mediawikicore-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.php | 28 |
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() ) ) { |