Pass RevisionRecord to Linker methods
Hard deprecation of passing Revision objects will follow soon, but until that is ready core calls can be updated There is some code cleanup that could be done around the calls, but to simplify review no other changes are made. Bug: T249561 Change-Id: Ifcfb3811650decffeaa87dc033c41fd1710b47a6
This commit is contained in:
parent
9cfc05ce3a
commit
af7f397ccc
16 changed files with 78 additions and 43 deletions
|
|
@ -1908,6 +1908,8 @@ class Linker {
|
|||
* Returns null if $wgShowRollbackEditCount is disabled or false if $verify
|
||||
* is set and the user is the only contributor of the page.
|
||||
*
|
||||
* @todo Unused outside of this file - should it be made private?
|
||||
*
|
||||
* @param RevisionRecord|Revision $rev (RevisionRecord allowed since 1.35, Revision
|
||||
* deprecated since 1.35)
|
||||
* @param bool $verify Try to verify that this revision can really be rolled back
|
||||
|
|
@ -1981,6 +1983,8 @@ class Linker {
|
|||
* @since 1.16.3. $context added in 1.20. $editCount added in 1.21
|
||||
* $rev could be a RevisionRecord since 1.35
|
||||
*
|
||||
* @todo Unused outside of this file - should it be made private?
|
||||
*
|
||||
* @param RevisionRecord|Revision $rev (RevisionRecord allowed since 1.35, Revision
|
||||
* deprecated since 1.35)
|
||||
* @param IContextSource|null $context Context to use or null for the main context.
|
||||
|
|
|
|||
|
|
@ -565,7 +565,7 @@ class InfoAction extends FormlessAction {
|
|||
// Page creator
|
||||
$pageInfo['header-edits'][] = [
|
||||
$this->msg( 'pageinfo-firstuser' ),
|
||||
Linker::revUserTools( new Revision( $firstRev ) )
|
||||
Linker::revUserTools( $firstRev )
|
||||
];
|
||||
|
||||
// Date of page creation
|
||||
|
|
@ -584,7 +584,7 @@ class InfoAction extends FormlessAction {
|
|||
// Latest editor
|
||||
$pageInfo['header-edits'][] = [
|
||||
$this->msg( 'pageinfo-lastuser' ),
|
||||
Linker::revUserTools( $lastRev )
|
||||
Linker::revUserTools( $lastRev->getRevisionRecord() )
|
||||
];
|
||||
|
||||
// Date of latest edit
|
||||
|
|
|
|||
|
|
@ -164,8 +164,8 @@ class RollbackAction extends FormAction {
|
|||
$this->getOutput()->setPageTitle( $this->msg( 'actioncomplete' ) );
|
||||
$this->getOutput()->setRobotPolicy( 'noindex,nofollow' );
|
||||
|
||||
$old = Linker::revUserTools( $current );
|
||||
$new = Linker::revUserTools( $target );
|
||||
$old = Linker::revUserTools( $current->getRevisionRecord() );
|
||||
$new = Linker::revUserTools( $target->getRevisionRecord() );
|
||||
$this->getOutput()->addHTML(
|
||||
$this->msg( 'rollback-success' )
|
||||
->rawParams( $old, $new )
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ class HistoryPager extends ReverseChronologicalPager {
|
|||
$s .= " $link";
|
||||
$s .= $dirmark;
|
||||
$s .= " <span class='history-user'>" .
|
||||
Linker::revUserTools( $rev, true, false ) . "</span>";
|
||||
Linker::revUserTools( $rev->getRevisionRecord(), true, false ) . "</span>";
|
||||
$s .= $dirmark;
|
||||
|
||||
if ( $rev->isMinor() ) {
|
||||
|
|
@ -418,7 +418,7 @@ class HistoryPager extends ReverseChronologicalPager {
|
|||
}
|
||||
|
||||
# Text following the character difference is added just before running hooks
|
||||
$s2 = Linker::revComment( $rev, false, true, false );
|
||||
$s2 = Linker::revComment( $rev->getRevisionRecord(), false, true, false );
|
||||
|
||||
if ( $notificationtimestamp && ( $row->rev_timestamp >= $notificationtimestamp ) ) {
|
||||
$s2 .= ' <span class="updatedmarker">' . $this->msg( 'updatedmarker' )->escaped() . '</span>';
|
||||
|
|
@ -435,7 +435,7 @@ class HistoryPager extends ReverseChronologicalPager {
|
|||
) {
|
||||
// Get a rollback link without the brackets
|
||||
$rollbackLink = Linker::generateRollback(
|
||||
$rev,
|
||||
$rev->getRevisionRecord(),
|
||||
$this->getContext(),
|
||||
[ 'verify', 'noBrackets' ]
|
||||
);
|
||||
|
|
|
|||
|
|
@ -750,8 +750,12 @@ class ChangesList extends ContextSource {
|
|||
'actor' => $rc->mAttribs['rc_actor'] ?? null,
|
||||
'deleted' => $rc->mAttribs['rc_deleted']
|
||||
] );
|
||||
$s .= ' ' . Linker::generateRollback( $rev, $this->getContext(),
|
||||
[ 'noBrackets' ] );
|
||||
$s .= ' ';
|
||||
$s .= Linker::generateRollback(
|
||||
$rev->getRevisionRecord(),
|
||||
$this->getContext(),
|
||||
[ 'noBrackets' ]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ class ChangeTagsRevisionItem extends RevisionItem {
|
|||
$difflink = $this->list->msg( 'parentheses' )
|
||||
->rawParams( $this->getDiffLink() )->escaped();
|
||||
$revlink = $this->getRevisionLink();
|
||||
$userlink = Linker::revUserLink( $this->revision );
|
||||
$comment = Linker::revComment( $this->revision );
|
||||
$userlink = Linker::revUserLink( $this->revision->getRevisionRecord() );
|
||||
$comment = Linker::revComment( $this->revision->getRevisionRecord() );
|
||||
if ( $this->isDeleted() ) {
|
||||
$revlink = "<span class=\"history-deleted\">$revlink</span>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -663,8 +663,11 @@ class DifferenceEngine extends ContextSource {
|
|||
if ( $this->mNewRev->isCurrent() && $permissionManager->quickUserCan(
|
||||
'rollback', $user, $this->mNewPage
|
||||
) ) {
|
||||
$rollbackLink = Linker::generateRollback( $this->mNewRev, $this->getContext(),
|
||||
[ 'noBrackets' ] );
|
||||
$rollbackLink = Linker::generateRollback(
|
||||
$this->mNewRev->getRevisionRecord(),
|
||||
$this->getContext(),
|
||||
[ 'noBrackets' ]
|
||||
);
|
||||
if ( $rollbackLink ) {
|
||||
$out->preventClickjacking();
|
||||
$rollback = "\u{00A0}\u{00A0}\u{00A0}" . $rollbackLink;
|
||||
|
|
@ -710,11 +713,12 @@ class DifferenceEngine extends ContextSource {
|
|||
$oldRevisionHeader = $this->getRevisionHeader( $this->mOldRev, 'complete' );
|
||||
$oldChangeTags = ChangeTags::formatSummaryRow( $this->mOldTags, 'diff', $this->getContext() );
|
||||
|
||||
$oldRevRecord = $this->mOldRev->getRevisionRecord();
|
||||
$oldHeader = '<div id="mw-diff-otitle1"><strong>' . $oldRevisionHeader . '</strong></div>' .
|
||||
'<div id="mw-diff-otitle2">' .
|
||||
Linker::revUserTools( $this->mOldRev, !$this->unhide ) . '</div>' .
|
||||
Linker::revUserTools( $oldRevRecord, !$this->unhide ) . '</div>' .
|
||||
'<div id="mw-diff-otitle3">' . $oldminor .
|
||||
Linker::revComment( $this->mOldRev, !$diffOnly, !$this->unhide ) . $ldel . '</div>' .
|
||||
Linker::revComment( $oldRevRecord, !$diffOnly, !$this->unhide ) . $ldel . '</div>' .
|
||||
'<div id="mw-diff-otitle5">' . $oldChangeTags[0] . '</div>' .
|
||||
'<div id="mw-diff-otitle4">' . $prevlink . '</div>';
|
||||
|
||||
|
|
@ -768,11 +772,12 @@ class DifferenceEngine extends ContextSource {
|
|||
' ' . implode( ' ', $formattedRevisionTools );
|
||||
$newChangeTags = ChangeTags::formatSummaryRow( $this->mNewTags, 'diff', $this->getContext() );
|
||||
|
||||
$newRevRecord = $this->mNewRev->getRevisionRecord();
|
||||
$newHeader = '<div id="mw-diff-ntitle1"><strong>' . $newRevisionHeader . '</strong></div>' .
|
||||
'<div id="mw-diff-ntitle2">' . Linker::revUserTools( $this->mNewRev, !$this->unhide ) .
|
||||
'<div id="mw-diff-ntitle2">' . Linker::revUserTools( $newRevRecord, !$this->unhide ) .
|
||||
" $rollback</div>" .
|
||||
'<div id="mw-diff-ntitle3">' . $newminor .
|
||||
Linker::revComment( $this->mNewRev, !$diffOnly, !$this->unhide ) . $rdel . '</div>' .
|
||||
Linker::revComment( $newRevRecord, !$diffOnly, !$this->unhide ) . $rdel . '</div>' .
|
||||
'<div id="mw-diff-ntitle5">' . $newChangeTags[0] . '</div>' .
|
||||
'<div id="mw-diff-ntitle4">' . $nextlink . $this->markPatrolledLink() . '</div>';
|
||||
|
||||
|
|
@ -917,10 +922,16 @@ class DifferenceEngine extends ContextSource {
|
|||
/**
|
||||
* @param Revision $rev
|
||||
*
|
||||
* @todo Accept RevisionRecord
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function revisionDeleteLink( $rev ) {
|
||||
$link = Linker::getRevDeleteLink( $this->getUser(), $rev, $rev->getTitle() );
|
||||
$link = Linker::getRevDeleteLink(
|
||||
$this->getUser(),
|
||||
$rev->getRevisionRecord(),
|
||||
$rev->getTitle()
|
||||
);
|
||||
if ( $link !== '' ) {
|
||||
$link = "\u{00A0}\u{00A0}\u{00A0}" . $link . ' ';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1580,7 +1580,7 @@ class Article implements Page {
|
|||
$tdtime = $language->userTime( $timestamp, $user );
|
||||
|
||||
# Show user links if allowed to see them. If hidden, then show them only if requested...
|
||||
$userlinks = Linker::revUserTools( $revision, !$unhide );
|
||||
$userlinks = Linker::revUserTools( $revision->getRevisionRecord(), !$unhide );
|
||||
|
||||
$infomsg = $current && !$context->msg( 'revision-info-current' )->isDisabled()
|
||||
? 'revision-info-current'
|
||||
|
|
@ -1591,7 +1591,11 @@ class Article implements Page {
|
|||
$context->msg( $infomsg, $td )
|
||||
->rawParams( $userlinks )
|
||||
->params( $revision->getId(), $tddate, $tdtime, $revision->getUserText() )
|
||||
->rawParams( Linker::revComment( $revision, true, true ) )
|
||||
->rawParams( Linker::revComment(
|
||||
$revision->getRevisionRecord(),
|
||||
true,
|
||||
true
|
||||
) )
|
||||
->parse() .
|
||||
"</div>";
|
||||
|
||||
|
|
@ -1661,7 +1665,11 @@ class Article implements Page {
|
|||
] + $extraParams
|
||||
);
|
||||
|
||||
$cdel = Linker::getRevDeleteLink( $user, $revision, $this->getTitle() );
|
||||
$cdel = Linker::getRevDeleteLink(
|
||||
$user,
|
||||
$revision->getRevisionRecord(),
|
||||
$this->getTitle()
|
||||
);
|
||||
if ( $cdel !== '' ) {
|
||||
$cdel .= ' ';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -180,8 +180,8 @@ class RevDelRevisionItem extends RevDelItem {
|
|||
$difflink = $this->list->msg( 'parentheses' )
|
||||
->rawParams( $this->getDiffLink() )->escaped();
|
||||
$revlink = $this->getRevisionLink();
|
||||
$userlink = Linker::revUserLink( $this->revision );
|
||||
$comment = Linker::revComment( $this->revision );
|
||||
$userlink = Linker::revUserLink( $this->revision->getRevisionRecord() );
|
||||
$comment = Linker::revComment( $this->revision->getRevisionRecord() );
|
||||
if ( $this->isDeleted() ) {
|
||||
$revlink = "<span class=\"history-deleted\">$revlink</span>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,8 +135,8 @@ class RevisionItem extends RevisionItemBase {
|
|||
$difflink = $this->context->msg( 'parentheses' )
|
||||
->rawParams( $this->getDiffLink() )->escaped();
|
||||
$revlink = $this->getRevisionLink();
|
||||
$userlink = Linker::revUserLink( $this->revision );
|
||||
$comment = Linker::revComment( $this->revision );
|
||||
$userlink = Linker::revUserLink( $this->revision->getRevisionRecord() );
|
||||
$comment = Linker::revComment( $this->revision->getRevisionRecord() );
|
||||
if ( $this->isDeleted() ) {
|
||||
$revlink = "<span class=\"history-deleted\">$revlink</span>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -318,13 +318,13 @@ class SpecialMergeHistory extends SpecialPage {
|
|||
);
|
||||
}
|
||||
|
||||
$userLink = Linker::revUserTools( $rev );
|
||||
$userLink = Linker::revUserTools( $rev->getRevisionRecord() );
|
||||
|
||||
$size = $row->rev_len;
|
||||
if ( $size !== null ) {
|
||||
$stxt = Linker::formatRevisionSize( $size );
|
||||
}
|
||||
$comment = Linker::revComment( $rev );
|
||||
$comment = Linker::revComment( $rev->getRevisionRecord() );
|
||||
|
||||
return Html::rawElement( 'li', [],
|
||||
$this->msg( 'mergehistory-revisionrow' )
|
||||
|
|
|
|||
|
|
@ -397,8 +397,8 @@ class SpecialNewpages extends IncludableSpecialPage {
|
|||
)->escaped()
|
||||
);
|
||||
|
||||
$ulink = Linker::revUserTools( $rev );
|
||||
$comment = Linker::revComment( $rev );
|
||||
$ulink = Linker::revUserTools( $rev->getRevisionRecord() );
|
||||
$comment = Linker::revComment( $rev->getRevisionRecord() );
|
||||
|
||||
if ( $this->patrollable( $result ) ) {
|
||||
$classes[] = 'not-patrolled';
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ class SpecialUndelete extends SpecialPage {
|
|||
$time = $lang->userTimeAndDate( $timestamp, $user );
|
||||
$d = $lang->userDate( $timestamp, $user );
|
||||
$t = $lang->userTime( $timestamp, $user );
|
||||
$userLink = Linker::revUserTools( $rev );
|
||||
$userLink = Linker::revUserTools( $rev->getRevisionRecord() );
|
||||
|
||||
$content = $rev->getContent( RevisionRecord::FOR_THIS_USER, $user );
|
||||
|
||||
|
|
@ -500,7 +500,11 @@ class SpecialUndelete extends SpecialPage {
|
|||
|
||||
// Revision delete links
|
||||
if ( !$this->mDiff ) {
|
||||
$revdel = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
|
||||
$revdel = Linker::getRevDeleteLink(
|
||||
$user,
|
||||
$rev->getRevisionRecord(),
|
||||
$this->mTargetObj
|
||||
);
|
||||
if ( $revdel ) {
|
||||
$out->addHTML( "$revdel " );
|
||||
}
|
||||
|
|
@ -644,7 +648,7 @@ class SpecialUndelete extends SpecialPage {
|
|||
// Add show/hide deletion links if available
|
||||
$user = $this->getUser();
|
||||
$lang = $this->getLanguage();
|
||||
$rdel = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
|
||||
$rdel = Linker::getRevDeleteLink( $user, $rev->getRevisionRecord(), $this->mTargetObj );
|
||||
|
||||
if ( $rdel ) {
|
||||
$rdel = " $rdel";
|
||||
|
|
@ -689,7 +693,7 @@ class SpecialUndelete extends SpecialPage {
|
|||
Linker::revUserTools( $rev ) . '<br />' .
|
||||
'</div>' .
|
||||
'<div id="mw-diff-' . $prefix . 'title3">' .
|
||||
$minor . Linker::revComment( $rev ) . $rdel . '<br />' .
|
||||
$minor . Linker::revComment( $rev->getRevisionRecord() ) . $rdel . '<br />' .
|
||||
'</div>' .
|
||||
'<div id="mw-diff-' . $prefix . 'title5">' .
|
||||
$tagSummary[0] . '<br />' .
|
||||
|
|
@ -1019,7 +1023,7 @@ class SpecialUndelete extends SpecialPage {
|
|||
}
|
||||
|
||||
// User links
|
||||
$userLink = Linker::revUserTools( $revObject );
|
||||
$userLink = Linker::revUserTools( $revRecord );
|
||||
|
||||
// Minor edit
|
||||
$minor = $revRecord->isMinor() ? ChangesList::flag( 'minor' ) : '';
|
||||
|
|
@ -1031,7 +1035,7 @@ class SpecialUndelete extends SpecialPage {
|
|||
}
|
||||
|
||||
// Edit summary
|
||||
$comment = Linker::revComment( $revObject );
|
||||
$comment = Linker::revComment( $revRecord );
|
||||
|
||||
// Tags
|
||||
$attribs = [];
|
||||
|
|
|
|||
|
|
@ -606,8 +606,11 @@ class ContribsPager extends RangeChronologicalPager {
|
|||
$permissionManager->quickUserCan( 'edit', $user, $page )
|
||||
) {
|
||||
$this->preventClickjacking();
|
||||
$topmarktext .= ' ' . Linker::generateRollback( $rev, $this->getContext(),
|
||||
[ 'noBrackets' ] );
|
||||
$topmarktext .= ' ' . Linker::generateRollback(
|
||||
$rev->getRevisionRecord(),
|
||||
$this->getContext(),
|
||||
[ 'noBrackets' ]
|
||||
);
|
||||
}
|
||||
}
|
||||
# Is there a visible previous revision?
|
||||
|
|
@ -660,8 +663,9 @@ class ContribsPager extends RangeChronologicalPager {
|
|||
}
|
||||
|
||||
$lang = $this->getLanguage();
|
||||
$comment = $lang->getDirMark() . Linker::revComment( $rev, false, true, false );
|
||||
$d = ChangesList::revDateLink( $rev->getRevisionRecord(), $user, $lang, $page );
|
||||
$revRecord = $rev->getRevisionRecord();
|
||||
$comment = $lang->getDirMark() . Linker::revComment( $revRecord, false, true, false );
|
||||
$d = ChangesList::revDateLink( $revRecord, $user, $lang, $page );
|
||||
|
||||
# When querying for an IP range, we want to always show user and user talk links.
|
||||
$userlink = '';
|
||||
|
|
@ -682,7 +686,7 @@ class ContribsPager extends RangeChronologicalPager {
|
|||
$flags[] = ChangesList::flag( 'minor' );
|
||||
}
|
||||
|
||||
$del = Linker::getRevDeleteLink( $user, $rev, $page );
|
||||
$del = Linker::getRevDeleteLink( $user, $revRecord, $page );
|
||||
if ( $del !== '' ) {
|
||||
$del .= ' ';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ class DeletedContribsPager extends IndexPager {
|
|||
$last = htmlspecialchars( $this->messages['diff'] );
|
||||
}
|
||||
|
||||
$comment = Linker::revComment( $rev );
|
||||
$comment = Linker::revComment( $rev->getRevisionRecord() );
|
||||
$date = $this->getLanguage()->userTimeAndDate( $rev->getTimestamp(), $user );
|
||||
|
||||
if ( !$permissionManager->userHasRight( $user, 'undelete' ) ||
|
||||
|
|
@ -382,7 +382,7 @@ class DeletedContribsPager extends IndexPager {
|
|||
}
|
||||
|
||||
// Revision delete link
|
||||
$del = Linker::getRevDeleteLink( $user, $rev, $page );
|
||||
$del = Linker::getRevDeleteLink( $user, $rev->getRevisionRecord(), $page );
|
||||
if ( $del ) {
|
||||
$del .= ' ';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -473,7 +473,7 @@ class LinkerTest extends MediaWikiLangTestCase {
|
|||
$summary = CommentStoreComment::newUnsavedComment( 'Some comment!' );
|
||||
$updater->saveRevision( $summary );
|
||||
|
||||
$rollbackOutput = Linker::generateRollback( $page->getRevision(), $context );
|
||||
$rollbackOutput = Linker::generateRollback( $page->getRevisionRecord(), $context );
|
||||
$modules = $context->getOutput()->getModules();
|
||||
$currentRev = $page->getRevision();
|
||||
$revisionLookup = MediaWikiServices::getInstance()->getRevisionLookup();
|
||||
|
|
|
|||
Loading…
Reference in a new issue