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
This commit is contained in:
Yuriy Shnitkovskiy 2016-12-01 00:56:33 +02:00
parent 4de420469f
commit 68a8243d49
12 changed files with 63 additions and 46 deletions

View file

@ -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 ) );

View file

@ -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',

View file

@ -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,
[],

View file

@ -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' );

View file

@ -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 ) {
// <bdi> prevents jumbling of the versions count
// in RTL wikis in case the page title is LTR
$this->getOutput()->addHTML(
"<li>" . Linker::linkKnown( $title ) . " " .
"<li>" . $linkRenderer->makeLink( $title ) . " " .
"<bdi>" .
$this->msg( 'import-revision-count' )->numParams( $successCount )->escaped() .
"</bdi>" .
@ -656,7 +658,7 @@ class ImportReporter extends ContextSource {
);
}
} else {
$this->getOutput()->addHTML( "<li>" . Linker::linkKnown( $title ) . " " .
$this->getOutput()->addHTML( "<li>" . $linkRenderer->makeKnownLink( $title ) . " " .
$this->msg( 'import-nonewrevisions' )->escaped() . "</li>\n" );
}
}

View file

@ -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 = '<br />' . Linker::linkKnown(
$grouplink = '<br />' . $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Listusers' ),
$this->msg( 'listgrouprights-members' )->escaped()
$this->msg( 'listgrouprights-members' )->text()
);
} elseif ( !in_array( $group, $config->get( 'ImplicitGroups' ) ) ) {
$grouplink = '<br />' . Linker::linkKnown(
$grouplink = '<br />' . $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 ]
)

View file

@ -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() );

View file

@ -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',

View file

@ -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,
[],

View file

@ -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();

View file

@ -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();

View file

@ -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 );