From 68a8243d4910e140b0f1f06e4e93b3504cf9b723 Mon Sep 17 00:00:00 2001 From: Yuriy Shnitkovskiy Date: Thu, 1 Dec 2016 00:56:33 +0200 Subject: [PATCH] Replace Linker::link() with LinkRenderer in some special pages * SpecialEditTags * SpecialEmailuser * SpecialFewestrevisions * SpecialImport * SpecialListgrouprights * SpecialMediaStatistics * SpecialMergeHistory * SpecialMIMEsearch * SpecialMostcategories * SpecialMostinerwikis * SpecialMostlinked Bug: T149346 Change-Id: Idee566dbff87f2e8bf909ba8371d551aaf0dd08b --- includes/specials/SpecialEditTags.php | 13 ++++++------ includes/specials/SpecialEmailuser.php | 9 +++++---- includes/specials/SpecialFewestrevisions.php | 10 +++++----- .../specials/SpecialFileDuplicateSearch.php | 5 +++-- includes/specials/SpecialImport.php | 8 +++++--- includes/specials/SpecialListgrouprights.php | 20 ++++++++++--------- includes/specials/SpecialMIMEsearch.php | 9 +++++---- includes/specials/SpecialMediaStatistics.php | 3 ++- includes/specials/SpecialMergeHistory.php | 14 ++++++++----- includes/specials/SpecialMostcategories.php | 5 +++-- includes/specials/SpecialMostinterwikis.php | 5 +++-- includes/specials/SpecialMostlinked.php | 8 +++++--- 12 files changed, 63 insertions(+), 46 deletions(-) diff --git a/includes/specials/SpecialEditTags.php b/includes/specials/SpecialEditTags.php index 252d07670e..476c452ad8 100644 --- a/includes/specials/SpecialEditTags.php +++ b/includes/specials/SpecialEditTags.php @@ -158,10 +158,11 @@ class SpecialEditTags extends UnlistedSpecialPage { // Also set header tabs to be for the target. $this->getSkin()->setRelevantTitle( $this->targetObj ); + $linkRenderer = $this->getLinkRenderer(); $links = []; - $links[] = Linker::linkKnown( + $links[] = $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'Log' ), - $this->msg( 'viewpagelogs' )->escaped(), + $this->msg( 'viewpagelogs' )->text(), [], [ 'page' => $this->targetObj->getPrefixedText(), @@ -170,17 +171,17 @@ class SpecialEditTags extends UnlistedSpecialPage { ); if ( !$this->targetObj->isSpecialPage() ) { // Give a link to the page history - $links[] = Linker::linkKnown( + $links[] = $linkRenderer->makeKnownLink( $this->targetObj, - $this->msg( 'pagehist' )->escaped(), + $this->msg( 'pagehist' )->text(), [], [ 'action' => 'history' ] ); } // Link to Special:Tags - $links[] = Linker::linkKnown( + $links[] = $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'Tags' ), - $this->msg( 'tags-edit-manage-link' )->escaped() + $this->msg( 'tags-edit-manage-link' )->text() ); // Logs themselves don't have histories or archived revisions $this->getOutput()->addSubtitle( $this->getLanguage()->pipeList( $links ) ); diff --git a/includes/specials/SpecialEmailuser.php b/includes/specials/SpecialEmailuser.php index a550e8853b..9692dd096a 100644 --- a/includes/specials/SpecialEmailuser.php +++ b/includes/specials/SpecialEmailuser.php @@ -53,13 +53,14 @@ class SpecialEmailUser extends UnlistedSpecialPage { } protected function getFormFields() { + $linkRenderer = $this->getLinkRenderer(); return [ 'From' => [ 'type' => 'info', 'raw' => 1, - 'default' => Linker::link( + 'default' => $linkRenderer->makeLink( $this->getUser()->getUserPage(), - htmlspecialchars( $this->getUser()->getName() ) + $this->getUser()->getName() ), 'label-message' => 'emailfrom', 'id' => 'mw-emailuser-sender', @@ -67,9 +68,9 @@ class SpecialEmailUser extends UnlistedSpecialPage { 'To' => [ 'type' => 'info', 'raw' => 1, - 'default' => Linker::link( + 'default' => $linkRenderer->makeLink( $this->mTargetObj->getUserPage(), - htmlspecialchars( $this->mTargetObj->getName() ) + $this->mTargetObj->getName() ), 'label-message' => 'emailto', 'id' => 'mw-emailuser-recipient', diff --git a/includes/specials/SpecialFewestrevisions.php b/includes/specials/SpecialFewestrevisions.php index b86a95e8aa..d7879ffe0c 100644 --- a/includes/specials/SpecialFewestrevisions.php +++ b/includes/specials/SpecialFewestrevisions.php @@ -88,14 +88,14 @@ class FewestrevisionsPage extends QueryPage { ) ); } + $linkRenderer = $this->getLinkRenderer(); + $text = $wgContLang->convert( $nt->getPrefixedText() ); + $plink = $linkRenderer->makeLink( $nt, $text ); - $text = htmlspecialchars( $wgContLang->convert( $nt->getPrefixedText() ) ); - $plink = Linker::linkKnown( $nt, $text ); - - $nl = $this->msg( 'nrevisions' )->numParams( $result->value )->escaped(); + $nl = $this->msg( 'nrevisions' )->numParams( $result->value )->text(); $redirect = isset( $result->redirect ) && $result->redirect ? ' - ' . $this->msg( 'isredirect' )->escaped() : ''; - $nlink = Linker::linkKnown( + $nlink = $linkRenderer->makeKnownLink( $nt, $nl, [], diff --git a/includes/specials/SpecialFileDuplicateSearch.php b/includes/specials/SpecialFileDuplicateSearch.php index 6de127d3b8..8021bc2c3a 100644 --- a/includes/specials/SpecialFileDuplicateSearch.php +++ b/includes/specials/SpecialFileDuplicateSearch.php @@ -208,11 +208,12 @@ class FileDuplicateSearchPage extends QueryPage { function formatResult( $skin, $result ) { global $wgContLang; + $linkRenderer = $this->getLinkRenderer(); $nt = $result->getTitle(); $text = $wgContLang->convert( $nt->getText() ); - $plink = Linker::link( + $plink = $linkRenderer->makeLink( $nt, - htmlspecialchars( $text ) + $text ); $userText = $result->getUser( 'text' ); diff --git a/includes/specials/SpecialImport.php b/includes/specials/SpecialImport.php index c58af603d2..ce886247a9 100644 --- a/includes/specials/SpecialImport.php +++ b/includes/specials/SpecialImport.php @@ -24,6 +24,8 @@ * @ingroup SpecialPage */ +use MediaWiki\MediaWikiServices; + /** * MediaWiki page data importer * @@ -592,12 +594,12 @@ class ImportReporter extends ContextSource { } $this->mPageCount++; - + $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); if ( $successCount > 0 ) { // prevents jumbling of the versions count // in RTL wikis in case the page title is LTR $this->getOutput()->addHTML( - "
  • " . Linker::linkKnown( $title ) . " " . + "
  • " . $linkRenderer->makeLink( $title ) . " " . "" . $this->msg( 'import-revision-count' )->numParams( $successCount )->escaped() . "" . @@ -656,7 +658,7 @@ class ImportReporter extends ContextSource { ); } } else { - $this->getOutput()->addHTML( "
  • " . Linker::linkKnown( $title ) . " " . + $this->getOutput()->addHTML( "
  • " . $linkRenderer->makeKnownLink( $title ) . " " . $this->msg( 'import-nonewrevisions' )->escaped() . "
  • \n" ); } } diff --git a/includes/specials/SpecialListgrouprights.php b/includes/specials/SpecialListgrouprights.php index d64306beab..f3d3a776e6 100644 --- a/includes/specials/SpecialListgrouprights.php +++ b/includes/specials/SpecialListgrouprights.php @@ -71,6 +71,8 @@ class SpecialListGroupRights extends SpecialPage { ) ); asort( $allGroups ); + $linkRenderer = $this->getLinkRenderer(); + foreach ( $allGroups as $group ) { $permissions = isset( $groupPermissions[$group] ) ? $groupPermissions[$group] @@ -92,22 +94,22 @@ class SpecialListGroupRights extends SpecialPage { // Do not make a link for the generic * group or group with invalid group page $grouppage = htmlspecialchars( $groupnameLocalized ); } else { - $grouppage = Linker::link( + $grouppage = $linkRenderer->makeLink( $grouppageLocalizedTitle, - htmlspecialchars( $groupnameLocalized ) + $groupnameLocalized ); } if ( $group === 'user' ) { // Link to Special:listusers for implicit group 'user' - $grouplink = '
    ' . Linker::linkKnown( + $grouplink = '
    ' . $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'Listusers' ), - $this->msg( 'listgrouprights-members' )->escaped() + $this->msg( 'listgrouprights-members' )->text() ); } elseif ( !in_array( $group, $config->get( 'ImplicitGroups' ) ) ) { - $grouplink = '
    ' . Linker::linkKnown( + $grouplink = '
    ' . $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'Listusers' ), - $this->msg( 'listgrouprights-members' )->escaped(), + $this->msg( 'listgrouprights-members' )->text(), [], [ 'group' => $group ] ); @@ -165,7 +167,7 @@ class SpecialListGroupRights extends SpecialPage { $this->msg( 'listgrouprights-namespaceprotection-restrictedto' )->text() ) ); - + $linkRenderer = $this->getLinkRenderer(); ksort( $namespaceProtection ); foreach ( $namespaceProtection as $namespace => $rights ) { if ( !in_array( $namespace, MWNamespace::getValidNamespaces() ) ) { @@ -183,9 +185,9 @@ class SpecialListGroupRights extends SpecialPage { Html::rawElement( 'td', [], - Linker::link( + $linkRenderer->makeLink( SpecialPage::getTitleFor( 'Allpages' ), - htmlspecialchars( $namespaceText ), + $namespaceText, [], [ 'namespace' => $namespace ] ) diff --git a/includes/specials/SpecialMIMEsearch.php b/includes/specials/SpecialMIMEsearch.php index 1d02a4fd45..c61609dec5 100644 --- a/includes/specials/SpecialMIMEsearch.php +++ b/includes/specials/SpecialMIMEsearch.php @@ -153,11 +153,12 @@ class MIMEsearchPage extends QueryPage { function formatResult( $skin, $result ) { global $wgContLang; + $linkRenderer = $this->getLinkRenderer(); $nt = Title::makeTitle( $result->namespace, $result->title ); $text = $wgContLang->convert( $nt->getText() ); - $plink = Linker::link( + $plink = $linkRenderer->makeLink( Title::newFromText( $nt->getPrefixedText() ), - htmlspecialchars( $text ) + $text ); $download = Linker::makeMediaLinkObj( $nt, $this->msg( 'download' )->escaped() ); @@ -166,9 +167,9 @@ class MIMEsearchPage extends QueryPage { $bytes = htmlspecialchars( $lang->formatSize( $result->img_size ) ); $dimensions = $this->msg( 'widthheight' )->numParams( $result->img_width, $result->img_height )->escaped(); - $user = Linker::link( + $user = $linkRenderer->makeLink( Title::makeTitle( NS_USER, $result->img_user_text ), - htmlspecialchars( $result->img_user_text ) + $result->img_user_text ); $time = $lang->userTimeAndDate( $result->img_timestamp, $this->getUser() ); diff --git a/includes/specials/SpecialMediaStatistics.php b/includes/specials/SpecialMediaStatistics.php index 7683ad8beb..e11977fda3 100644 --- a/includes/specials/SpecialMediaStatistics.php +++ b/includes/specials/SpecialMediaStatistics.php @@ -174,10 +174,11 @@ class MediaStatisticsPage extends QueryPage { */ protected function outputTableRow( $mime, $count, $bytes ) { $mimeSearch = SpecialPage::getTitleFor( 'MIMEsearch', $mime ); + $linkRenderer = $this->getLinkRenderer(); $row = Html::rawElement( 'td', [], - Linker::link( $mimeSearch, htmlspecialchars( $mime ) ) + $linkRenderer->makeLink( $mimeSearch, $mime ) ); $row .= Html::element( 'td', diff --git a/includes/specials/SpecialMergeHistory.php b/includes/specials/SpecialMergeHistory.php index b916c1fc78..f122db8a37 100644 --- a/includes/specials/SpecialMergeHistory.php +++ b/includes/specials/SpecialMergeHistory.php @@ -277,6 +277,8 @@ class SpecialMergeHistory extends SpecialPage { function formatRevisionRow( $row ) { $rev = new Revision( $row ); + $linkRenderer = $this->getLinkRenderer(); + $stxt = ''; $last = $this->msg( 'last' )->escaped(); @@ -285,9 +287,9 @@ class SpecialMergeHistory extends SpecialPage { $user = $this->getUser(); - $pageLink = Linker::linkKnown( + $pageLink = $linkRenderer->makeKnownLink( $rev->getTitle(), - htmlspecialchars( $this->getLanguage()->userTimeAndDate( $ts, $user ) ), + $this->getLanguage()->userTimeAndDate( $ts, $user ), [], [ 'oldid' => $rev->getId() ] ); @@ -299,9 +301,9 @@ class SpecialMergeHistory extends SpecialPage { if ( !$rev->userCan( Revision::DELETED_TEXT, $user ) ) { $last = $this->msg( 'last' )->escaped(); } elseif ( isset( $this->prevId[$row->rev_id] ) ) { - $last = Linker::linkKnown( + $last = $linkRenderer->makeKnownLink( $rev->getTitle(), - $this->msg( 'last' )->escaped(), + $this->msg( 'last' )->text(), [], [ 'diff' => $row->rev_id, @@ -359,7 +361,9 @@ class SpecialMergeHistory extends SpecialPage { return false; } - $targetLink = Linker::link( + $linkRenderer = $this->getLinkRenderer(); + + $targetLink = $linkRenderer->makeLink( $targetTitle, null, [], diff --git a/includes/specials/SpecialMostcategories.php b/includes/specials/SpecialMostcategories.php index 015701d877..6095412ac7 100644 --- a/includes/specials/SpecialMostcategories.php +++ b/includes/specials/SpecialMostcategories.php @@ -91,10 +91,11 @@ class MostcategoriesPage extends QueryPage { ); } + $linkRenderer = $this->getLinkRenderer(); if ( $this->isCached() ) { - $link = Linker::link( $title ); + $link = $linkRenderer->makeLink( $title ); } else { - $link = Linker::linkKnown( $title ); + $link = $linkRenderer->makeKnownLink( $title ); } $count = $this->msg( 'ncategories' )->numParams( $result->value )->escaped(); diff --git a/includes/specials/SpecialMostinterwikis.php b/includes/specials/SpecialMostinterwikis.php index 3e78352a50..210c4a2808 100644 --- a/includes/specials/SpecialMostinterwikis.php +++ b/includes/specials/SpecialMostinterwikis.php @@ -97,10 +97,11 @@ class MostinterwikisPage extends QueryPage { ); } + $linkRenderer = $this->getLinkRenderer(); if ( $this->isCached() ) { - $link = Linker::link( $title ); + $link = $linkRenderer->makeLink( $title ); } else { - $link = Linker::linkKnown( $title ); + $link = $linkRenderer->makeKnownLink( $title ); } $count = $this->msg( 'ninterwikis' )->numParams( $result->value )->escaped(); diff --git a/includes/specials/SpecialMostlinked.php b/includes/specials/SpecialMostlinked.php index 01eb39e3f6..712574cf14 100644 --- a/includes/specials/SpecialMostlinked.php +++ b/includes/specials/SpecialMostlinked.php @@ -91,7 +91,8 @@ class MostlinkedPage extends QueryPage { function makeWlhLink( $title, $caption ) { $wlh = SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedDBkey() ); - return Linker::linkKnown( $wlh, $caption ); + $linkRenderer = $this->getLinkRenderer(); + return $linkRenderer->makeKnownLink( $wlh, $caption ); } /** @@ -115,10 +116,11 @@ class MostlinkedPage extends QueryPage { ); } - $link = Linker::link( $title ); + $linkRenderer = $this->getLinkRenderer(); + $link = $linkRenderer->makeLink( $title ); $wlh = $this->makeWlhLink( $title, - $this->msg( 'nlinks' )->numParams( $result->value )->escaped() + $this->msg( 'nlinks' )->numParams( $result->value )->text() ); return $this->getLanguage()->specialList( $link, $wlh ); -- 2.20.1