Show change tags for log entries on Special:RevisionDelete

When revdel/suppress a log entry the change tags should be shown
as shown on Special:Log for the same log entry.

Bug: T109041
Change-Id: Ia2c89869008593ff765f06e61e0186b78539c18c
This commit is contained in:
Umherirrender 2022-01-11 22:21:55 +01:00 committed by Samtar
parent 796dd9fdd9
commit 79e5606b7a
2 changed files with 37 additions and 9 deletions

View file

@ -138,7 +138,18 @@ class RevDelLogItem extends RevDelItem {
$comment = '<span class="history-deleted">' . $comment . '</span>';
}
return "<li>$loglink $date $action $comment</li>";
$content = "$loglink $date $action $comment";
$attribs = [];
if ( $this->row->ts_tags ) {
list( $tagSummary, $classes ) = ChangeTags::formatSummaryRow(
$this->row->ts_tags,
'revisiondelete',
$this->list->getContext()
);
$content .= " $tagSummary";
$attribs['class'] = implode( ' ', $classes );
}
return Xml::tags( 'li', $attribs, $content );
}
public function getApiData( ApiResult $result ) {

View file

@ -91,9 +91,9 @@ class RevDelLogList extends RevDelList {
$commentQuery = $this->commentStore->getJoin( 'log_comment' );
return $db->select(
[ 'logging', 'actor' ] + $commentQuery['tables'],
[
$queryInfo = [
'tables' => [ 'logging', 'actor' ] + $commentQuery['tables'],
'fields' => [
'log_id',
'log_type',
'log_action',
@ -107,12 +107,29 @@ class RevDelLogList extends RevDelList {
'log_user' => 'actor_user',
'log_user_text' => 'actor_name'
] + $commentQuery['fields'],
[ 'log_id' => $ids ],
__METHOD__,
[ 'ORDER BY' => 'log_id DESC' ],
[
'conds' => [ 'log_id' => $ids ],
'options' => [ 'ORDER BY' => 'log_id DESC' ],
'join_conds' => [
'actor' => [ 'JOIN', 'actor_id=log_actor' ]
] + $commentQuery['joins']
] + $commentQuery['joins'],
];
ChangeTags::modifyDisplayQuery(
$queryInfo['tables'],
$queryInfo['fields'],
$queryInfo['conds'],
$queryInfo['join_conds'],
$queryInfo['options'],
''
);
return $db->select(
$queryInfo['tables'],
$queryInfo['fields'],
$queryInfo['conds'],
__METHOD__,
$queryInfo['options'],
$queryInfo['join_conds']
);
}