From 432cc11fae9e8b30e1d9e180fd61bfc28016ab82 Mon Sep 17 00:00:00 2001 From: jdlrobson Date: Tue, 26 Mar 2019 16:58:19 -0700 Subject: [PATCH] Log entries can be rendered with parentheses in HTML Entries such as "User creation log" on Special:RecentChanges can be wrapped or not wrapped in parentheses Bug: T219348 Change-Id: Ic764081497dbe8d6d9e5bff6f8a1ceeac4b306e2 --- includes/changes/ChangesList.php | 16 ++++++++++++---- includes/changes/OldChangesList.php | 4 ++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/includes/changes/ChangesList.php b/includes/changes/ChangesList.php index a48e191003..e64920156c 100644 --- a/includes/changes/ChangesList.php +++ b/includes/changes/ChangesList.php @@ -455,13 +455,21 @@ class ChangesList extends ContextSource { * @param string &$s HTML to update * @param Title $title * @param string $logtype + * @param bool $useParentheses (optional) Wrap log entry in parentheses where needed */ - public function insertLog( &$s, $title, $logtype ) { + public function insertLog( &$s, $title, $logtype, $useParentheses = true ) { $page = new LogPage( $logtype ); $logname = $page->getName()->setContext( $this->getContext() )->text(); - $s .= Html::rawElement( 'span', [ - 'class' => 'mw-changeslist-links' - ], $this->linkRenderer->makeKnownLink( $title, $logname ) ); + $link = $this->linkRenderer->makeKnownLink( $title, $logname, [ + 'class' => $useParentheses ? '' : 'mw-changeslist-links' + ] ); + if ( $useParentheses ) { + $s .= $this->msg( 'parentheses' )->rawParams( + $link + )->escaped(); + } else { + $s .= $link; + } } /** diff --git a/includes/changes/OldChangesList.php b/includes/changes/OldChangesList.php index c15701ba66..8228baea5b 100644 --- a/includes/changes/OldChangesList.php +++ b/includes/changes/OldChangesList.php @@ -87,7 +87,7 @@ class OldChangesList extends ChangesList { if ( $rc->mAttribs['rc_log_type'] ) { $logtitle = SpecialPage::getTitleFor( 'Log', $rc->mAttribs['rc_log_type'] ); - $this->insertLog( $html, $logtitle, $rc->mAttribs['rc_log_type'] ); + $this->insertLog( $html, $logtitle, $rc->mAttribs['rc_log_type'], false ); $flags = $this->recentChangesFlags( [ 'unpatrolled' => $unpatrolled, 'bot' => $rc->mAttribs['rc_bot'] ], '' ); if ( $flags !== '' ) { @@ -98,7 +98,7 @@ class OldChangesList extends ChangesList { list( $name, $htmlubpage ) = MediaWikiServices::getInstance()->getSpecialPageFactory()-> resolveAlias( $rc->mAttribs['rc_title'] ); if ( $name == 'Log' ) { - $this->insertLog( $html, $rc->getTitle(), $htmlubpage ); + $this->insertLog( $html, $rc->getTitle(), $htmlubpage, false ); } // Regular entries } else { -- 2.20.1