Add classes to when a linked change is suppressed

This also tries to centralize adding logic of adding history-deleted
class as well. To make future changes easier.

This doesn't affect history deletion on files, recentchanges, and logs yet

Bug: T23272
Change-Id: I08f14f712479e1b170c606e2b64857f8386acd76
This commit is contained in:
Amir Sarabadani 2021-04-13 08:27:39 +02:00 committed by Jforrester
parent 5041330ec4
commit b6f148bec6
10 changed files with 55 additions and 14 deletions

View file

@ -1127,11 +1127,26 @@ class Linker {
$link = wfMessage( 'rev-deleted-user' )->escaped(); $link = wfMessage( 'rev-deleted-user' )->escaped();
} }
if ( $revRecord->isDeleted( RevisionRecord::DELETED_USER ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_USER ) ) {
return '<span class="history-deleted">' . $link . '</span>'; $class = self::getRevisionDeletedClass( $revRecord );
return '<span class="' . $class . '">' . $link . '</span>';
} }
return $link; return $link;
} }
/**
* Returns css class of a deleted revision
* @param RevisionRecord $revisionRecord
* @return string 'history-deleted', 'mw-history-suppressed' added if suppressed too
* @since 1.37
*/
public static function getRevisionDeletedClass( RevisionRecord $revisionRecord ) : string {
$class = 'history-deleted';
if ( $revisionRecord->isDeleted( RevisionRecord::DELETED_RESTRICTED ) ) {
$class .= ' mw-history-suppressed';
}
return $class;
}
/** /**
* Generate a user tool link cluster if the current user is allowed to view it * Generate a user tool link cluster if the current user is allowed to view it
* *
@ -1174,7 +1189,8 @@ class Linker {
} }
if ( $revRecord->isDeleted( RevisionRecord::DELETED_USER ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_USER ) ) {
return ' <span class="history-deleted mw-userlink">' . $link . '</span>'; $class = self::getRevisionDeletedClass( $revRecord );
return ' <span class="' . $class . ' mw-userlink">' . $link . '</span>';
} }
return $link; return $link;
} }
@ -1638,7 +1654,8 @@ class Linker {
$block = " <span class=\"comment\">" . wfMessage( 'rev-deleted-comment' )->escaped() . "</span>"; $block = " <span class=\"comment\">" . wfMessage( 'rev-deleted-comment' )->escaped() . "</span>";
} }
if ( $revRecord->isDeleted( RevisionRecord::DELETED_COMMENT ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_COMMENT ) ) {
return " <span class=\"history-deleted comment\">$block</span>"; $class = self::getRevisionDeletedClass( $revRecord );
return " <span class=\"$class comment\">$block</span>";
} }
return $block; return $block;
} }

View file

@ -444,7 +444,8 @@ class ChangesList extends ContextSource {
$link = htmlspecialchars( $date ); $link = htmlspecialchars( $date );
} }
if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) {
$link = "<span class=\"history-deleted mw-changeslist-date\">$link</span>"; $deletedClass = Linker::getRevisionDeletedClass( $rev );
$link = "<span class=\"$deletedClass mw-changeslist-date\">$link</span>";
} }
return $link; return $link;
} }
@ -560,7 +561,11 @@ class ChangesList extends ContextSource {
$params $params
); );
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_TEXT ) ) { if ( $this->isDeleted( $rc, RevisionRecord::DELETED_TEXT ) ) {
$articlelink = '<span class="history-deleted">' . $articlelink . '</span>'; $class = 'history-deleted';
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_RESTRICTED ) ) {
$class .= ' mw-history-suppressed';
}
$articlelink = '<span class="' . $class . '">' . $articlelink . '</span>';
} }
# To allow for boldening pages watched by this user # To allow for boldening pages watched by this user
$articlelink = "<span class=\"mw-title\">{$articlelink}</span>"; $articlelink = "<span class=\"mw-title\">{$articlelink}</span>";
@ -655,7 +660,11 @@ class ChangesList extends ContextSource {
*/ */
public function insertUserRelatedLinks( &$s, &$rc ) { public function insertUserRelatedLinks( &$s, &$rc ) {
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_USER ) ) { if ( $this->isDeleted( $rc, RevisionRecord::DELETED_USER ) ) {
$s .= ' <span class="history-deleted">' . $deletedClass = 'history-deleted';
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_RESTRICTED ) ) {
$deletedClass = ' mw-history-suppressed';
}
$s .= ' <span class="' . $deletedClass . '">' .
$this->msg( 'rev-deleted-user' )->escaped() . '</span>'; $this->msg( 'rev-deleted-user' )->escaped() . '</span>';
} else { } else {
$s .= $this->getLanguage()->getDirMark() . Linker::userLink( $rc->mAttribs['rc_user'], $s .= $this->getLanguage()->getDirMark() . Linker::userLink( $rc->mAttribs['rc_user'],
@ -694,7 +703,11 @@ class ChangesList extends ContextSource {
*/ */
public function insertComment( $rc ) { public function insertComment( $rc ) {
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_COMMENT ) ) { if ( $this->isDeleted( $rc, RevisionRecord::DELETED_COMMENT ) ) {
return ' <span class="history-deleted comment">' . $deletedClass = 'history-deleted';
if ( $this->isDeleted( $rc, RevisionRecord::DELETED_RESTRICTED ) ) {
$deletedClass .= ' mw-history-suppressed';
}
return ' <span class="' . $deletedClass . ' comment">' .
$this->msg( 'rev-deleted-comment' )->escaped() . '</span>'; $this->msg( 'rev-deleted-comment' )->escaped() . '</span>';
} else { } else {
return Linker::commentBlock( $rc->mAttribs['rc_comment'], $rc->getTitle(), return Linker::commentBlock( $rc->mAttribs['rc_comment'], $rc->getTitle(),

View file

@ -42,7 +42,8 @@ class ChangeTagsRevisionItem extends RevisionItem {
$userlink = Linker::revUserLink( $this->getRevisionRecord() ); $userlink = Linker::revUserLink( $this->getRevisionRecord() );
$comment = Linker::revComment( $this->getRevisionRecord() ); $comment = Linker::revComment( $this->getRevisionRecord() );
if ( $this->isDeleted() ) { if ( $this->isDeleted() ) {
$revlink = "<span class=\"history-deleted\">$revlink</span>"; $class = Linker::getRevisionDeletedClass( $this->getRevisionRecord() );
$revlink = "<span class=\"$class\">$revlink</span>";
} }
$content = "$difflink $revlink $userlink $comment"; $content = "$difflink $revlink $userlink $comment";

View file

@ -1809,7 +1809,7 @@ class DifferenceEngine extends ContextSource {
if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( $rev->isDeleted( RevisionRecord::DELETED_TEXT ) ) {
$header = Html::rawElement( $header = Html::rawElement(
'span', 'span',
[ 'class' => 'history-deleted' ], [ 'class' => Linker::getRevisionDeletedClass( $rev ) ],
$header $header
); );
} }

View file

@ -199,7 +199,8 @@ class RevDelRevisionItem extends RevDelItem {
$userlink = Linker::revUserLink( $revRecord ); $userlink = Linker::revUserLink( $revRecord );
$comment = Linker::revComment( $revRecord ); $comment = Linker::revComment( $revRecord );
if ( $this->isDeleted() ) { if ( $this->isDeleted() ) {
$revlink = "<span class=\"history-deleted\">$revlink</span>"; $class = Linker::getRevisionDeletedClass( $revRecord );
$revlink = "<span class=\"$class\">$revlink</span>";
} }
$content = "$difflink $revlink $userlink $comment"; $content = "$difflink $revlink $userlink $comment";
$attribs = []; $attribs = [];

View file

@ -159,7 +159,8 @@ class RevisionItem extends RevisionItemBase {
$userlink = Linker::revUserLink( $this->getRevisionRecord() ); $userlink = Linker::revUserLink( $this->getRevisionRecord() );
$comment = Linker::revComment( $this->getRevisionRecord() ); $comment = Linker::revComment( $this->getRevisionRecord() );
if ( $this->isDeleted() ) { if ( $this->isDeleted() ) {
$revlink = "<span class=\"history-deleted\">$revlink</span>"; $class = Linker::getRevisionDeletedClass( $this->getRevisionRecord() );
$revlink = "<span class=\"$class\">$revlink</span>";
} }
return "<li>$difflink $revlink $userlink $comment</li>"; return "<li>$difflink $revlink $userlink $comment</li>";
} }

View file

@ -333,7 +333,8 @@ class SpecialMergeHistory extends SpecialPage {
[ 'oldid' => $revRecord->getId() ] [ 'oldid' => $revRecord->getId() ]
); );
if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) {
$pageLink = '<span class="history-deleted">' . $pageLink . '</span>'; $class = Linker::getRevisionDeletedClass( $revRecord );
$pageLink = '<span class=" ' . $class . '">' . $pageLink . '</span>';
} }
# Last link # Last link

View file

@ -1231,7 +1231,8 @@ class SpecialUndelete extends SpecialPage {
); );
if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) {
$link = '<span class="history-deleted">' . $link . '</span>'; $class = Linker::getRevisionDeletedClass( $revRecord );
$link = '<span class="' . $class . '">' . $link . '</span>';
} }
return $link; return $link;

View file

@ -382,7 +382,8 @@ class DeletedContribsPager extends IndexPager {
} }
// Style deleted items // Style deleted items
if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) { if ( $revRecord->isDeleted( RevisionRecord::DELETED_TEXT ) ) {
$link = '<span class="history-deleted">' . $link . '</span>'; $class = Linker::getRevisionDeletedClass( $revRecord );
$link = '<span class="' . $class . '">' . $link . '</span>';
} }
$pagelink = $linkRenderer->makeLink( $pagelink = $linkRenderer->makeLink(

View file

@ -134,6 +134,11 @@ span.history-deleted {
font-style: italic; font-style: italic;
} }
span.mw-history-suppressed {
font-weight: bold;
text-decoration-style: double;
}
/* The auto-generated edit comments */ /* The auto-generated edit comments */
.autocomment, .autocomment,
.autocomment a, .autocomment a,