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();
}
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;
}
/**
* 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
*
@ -1174,7 +1189,8 @@ class Linker {
}
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;
}
@ -1638,7 +1654,8 @@ class Linker {
$block = " <span class=\"comment\">" . wfMessage( 'rev-deleted-comment' )->escaped() . "</span>";
}
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;
}

View file

@ -444,7 +444,8 @@ class ChangesList extends ContextSource {
$link = htmlspecialchars( $date );
}
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;
}
@ -560,7 +561,11 @@ class ChangesList extends ContextSource {
$params
);
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
$articlelink = "<span class=\"mw-title\">{$articlelink}</span>";
@ -655,7 +660,11 @@ class ChangesList extends ContextSource {
*/
public function insertUserRelatedLinks( &$s, &$rc ) {
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>';
} else {
$s .= $this->getLanguage()->getDirMark() . Linker::userLink( $rc->mAttribs['rc_user'],
@ -694,7 +703,11 @@ class ChangesList extends ContextSource {
*/
public function insertComment( $rc ) {
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>';
} else {
return Linker::commentBlock( $rc->mAttribs['rc_comment'], $rc->getTitle(),

View file

@ -42,7 +42,8 @@ class ChangeTagsRevisionItem extends RevisionItem {
$userlink = Linker::revUserLink( $this->getRevisionRecord() );
$comment = Linker::revComment( $this->getRevisionRecord() );
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";

View file

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

View file

@ -199,7 +199,8 @@ class RevDelRevisionItem extends RevDelItem {
$userlink = Linker::revUserLink( $revRecord );
$comment = Linker::revComment( $revRecord );
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";
$attribs = [];

View file

@ -159,7 +159,8 @@ class RevisionItem extends RevisionItemBase {
$userlink = Linker::revUserLink( $this->getRevisionRecord() );
$comment = Linker::revComment( $this->getRevisionRecord() );
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>";
}

View file

@ -333,7 +333,8 @@ class SpecialMergeHistory extends SpecialPage {
[ 'oldid' => $revRecord->getId() ]
);
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

View file

@ -1231,7 +1231,8 @@ class SpecialUndelete extends SpecialPage {
);
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;

View file

@ -382,7 +382,8 @@ class DeletedContribsPager extends IndexPager {
}
// Style deleted items
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(

View file

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