From f736c3709a54be33f808e8d12f85707b90763165 Mon Sep 17 00:00:00 2001 From: Phantom42 Date: Mon, 5 Dec 2016 21:02:51 +0200 Subject: [PATCH] Replace Linker::link() usage with LinkRenderer Linker::link() replaced with LinkRenderer in some pages in includes/specials Bug: T149346 Change-Id: I937bdc99d1342e73f20b8437a9b55dffb04161c5 --- includes/specials/SpecialRecentchanges.php | 5 +- includes/specials/SpecialRevisiondelete.php | 4 +- includes/specials/SpecialSearch.php | 46 +++++++++++++------ .../SpecialUncategorizedcategories.php | 2 +- includes/specials/SpecialUnwatchedpages.php | 8 ++-- includes/specials/SpecialWhatlinkshere.php | 16 ++++--- 6 files changed, 51 insertions(+), 30 deletions(-) diff --git a/includes/specials/SpecialRecentchanges.php b/includes/specials/SpecialRecentchanges.php index cd3299c210..66c5145657 100644 --- a/includes/specials/SpecialRecentchanges.php +++ b/includes/specials/SpecialRecentchanges.php @@ -664,12 +664,11 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } unset( $value ); - $text = htmlspecialchars( $title ); if ( $active ) { - $text = '' . $text . ''; + $title = new HtmlArmor( '' . htmlspecialchars( $title ) . '' ); } - return Linker::linkKnown( $this->getPageTitle(), $text, [], $params ); + return $this->getLinkRenderer()->makeKnownLink( $this->getPageTitle(), $title, [], $params ); } /** diff --git a/includes/specials/SpecialRevisiondelete.php b/includes/specials/SpecialRevisiondelete.php index 8780c5692e..4b0fa008b6 100644 --- a/includes/specials/SpecialRevisiondelete.php +++ b/includes/specials/SpecialRevisiondelete.php @@ -466,9 +466,9 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { Xml::closeElement( 'form' ) . "\n"; // Show link to edit the dropdown reasons if ( $this->getUser()->isAllowed( 'editinterface' ) ) { - $link = Linker::linkKnown( + $link = $this->getLinkRenderer()->makeKnownLink( $this->msg( 'revdelete-reason-dropdown' )->inContentLanguage()->getTitle(), - $this->msg( 'revdelete-edit-reasonlist' )->escaped(), + $this->msg( 'revdelete-edit-reasonlist' )->text(), [], [ 'action' => 'edit' ] ); diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 9f83832e13..f4e0b5baab 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -499,9 +499,16 @@ class SpecialSearch extends SpecialPage { } $stParams = array_merge( $params, $this->powerSearchOptions() ); - $suggest = Linker::linkKnown( + $linkRenderer = $this->getLinkRenderer(); + + $snippet = $textMatches->getSuggestionSnippet() ?: null; + if ( $snippet ) { + $snippet = new HtmlArmor( $snippet ); + } + + $suggest = $linkRenderer->makeKnownLink( $this->getPageTitle(), - $textMatches->getSuggestionSnippet() ?: null, + $snippet, [ 'id' => 'mw-search-DYM-suggestion' ], $stParams ); @@ -535,18 +542,25 @@ class SpecialSearch extends SpecialPage { } $stParams = array_merge( $params, $this->powerSearchOptions() ); - $rewritten = Linker::linkKnown( + $linkRenderer = $this->getLinkRenderer(); + + $snippet = $textMatches->getQueryAfterRewriteSnippet() ?: null; + if ( $snippet ) { + $snippet = new HtmlArmor( $snippet ); + } + + $rewritten = $linkRenderer->makeKnownLink( $this->getPageTitle(), - $textMatches->getQueryAfterRewriteSnippet() ?: null, + $snippet, [ 'id' => 'mw-search-DYM-rewritten' ], $stParams ); $stParams['search'] = $term; $stParams['runsuggestion'] = 0; - $original = Linker::linkKnown( + $original = $linkRenderer->makeKnownLink( $this->getPageTitle(), - htmlspecialchars( $term ), + $term, [ 'id' => 'mw-search-DYM-original' ], $stParams ); @@ -766,9 +780,11 @@ class SpecialSearch extends SpecialPage { Hooks::run( 'ShowSearchHitTitle', [ &$link_t, &$titleSnippet, $result, $terms, $this, &$query ] ); - $link = Linker::linkKnown( + $linkRenderer = $this->getLinkRenderer(); + + $link = $linkRenderer->makeKnownLink( $link_t, - $titleSnippet, + new HtmlArmor( $titleSnippet ), [ 'data-serp-pos' => $position ], // HTML attributes $query ); @@ -802,7 +818,7 @@ class SpecialSearch extends SpecialPage { $redirect = "" . $this->msg( 'search-redirect' )->rawParams( - Linker::linkKnown( $redirectTitle, $redirectText ) )->text() . + $linkRenderer->makeKnownLink( $redirectTitle, new HtmlArmor( $redirectText ) ) )->text() . ""; } @@ -814,7 +830,7 @@ class SpecialSearch extends SpecialPage { $section = "" . $this->msg( 'search-section' )->rawParams( - Linker::linkKnown( $sectionTitle, $sectionText ) )->text() . + $linkRenderer->makeKnownLink( $sectionTitle, new HtmlArmor( $sectionText ) ) )->text() . ""; } @@ -971,6 +987,8 @@ class SpecialSearch extends SpecialPage { return ''; } + $linkRenderer = $this->getLinkRenderer(); + $title = $result->getTitle(); $titleSnippet = $result->getTitleSnippet(); @@ -979,9 +997,9 @@ class SpecialSearch extends SpecialPage { $titleSnippet = null; } - $link = Linker::linkKnown( + $link = $linkRenderer->makeKnownLink( $title, - $titleSnippet + new HtmlArmor( $titleSnippet ) ); // format redirect if any @@ -995,7 +1013,7 @@ class SpecialSearch extends SpecialPage { $redirect = "" . $this->msg( 'search-redirect' )->rawParams( - Linker::linkKnown( $redirectTitle, $redirectText ) )->text() . + $linkRenderer->makeKnownLink( $redirectTitle, new HtmlArmor( $redirectText ) ) )->text() . ""; } @@ -1013,7 +1031,7 @@ class SpecialSearch extends SpecialPage { } // "more results" link (special page stuff could be localized, but we might not know target lang) $searchTitle = Title::newFromText( $title->getInterwiki() . ":Special:Search" ); - $searchLink = Linker::linkKnown( + $searchLink = $linkRenderer->makeKnownLink( $searchTitle, $this->msg( 'search-interwiki-more' )->text(), [], diff --git a/includes/specials/SpecialUncategorizedcategories.php b/includes/specials/SpecialUncategorizedcategories.php index 1cc40a9e90..86d8f89c52 100644 --- a/includes/specials/SpecialUncategorizedcategories.php +++ b/includes/specials/SpecialUncategorizedcategories.php @@ -42,6 +42,6 @@ class UncategorizedCategoriesPage extends UncategorizedPagesPage { $title = Title::makeTitle( NS_CATEGORY, $result->title ); $text = $title->getText(); - return Linker::linkKnown( $title, htmlspecialchars( $text ) ); + return $this->getLinkRenderer()->makeKnownLink( $title, $text ); } } diff --git a/includes/specials/SpecialUnwatchedpages.php b/includes/specials/SpecialUnwatchedpages.php index ae375b2d70..96878a38aa 100644 --- a/includes/specials/SpecialUnwatchedpages.php +++ b/includes/specials/SpecialUnwatchedpages.php @@ -116,10 +116,12 @@ class UnwatchedpagesPage extends QueryPage { $text = $wgContLang->convert( $nt->getPrefixedText() ); - $plink = Linker::linkKnown( $nt, htmlspecialchars( $text ) ); - $wlink = Linker::linkKnown( + $linkRenderer = $this->getLinkRenderer(); + + $plink = $linkRenderer->makeKnownLink( $nt, $text ); + $wlink = $linkRenderer->makeKnownLink( $nt, - $this->msg( 'watch' )->escaped(), + $this->msg( 'watch' )->text(), [ 'class' => 'mw-watch-link' ], [ 'action' => 'watch' ] ); diff --git a/includes/specials/SpecialWhatlinkshere.php b/includes/specials/SpecialWhatlinkshere.php index 1ead290f2a..334985425d 100644 --- a/includes/specials/SpecialWhatlinkshere.php +++ b/includes/specials/SpecialWhatlinkshere.php @@ -327,7 +327,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { $query = []; } - $link = Linker::linkKnown( + $link = $this->getLinkRenderer()->makeKnownLink( $nt, null, $row->page_is_redirect ? [ 'class' => 'mw-redirect' ] : [], @@ -376,11 +376,13 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { $title = $this->getPageTitle(); } + $linkRenderer = $this->getLinkRenderer(); + // always show a "<- Links" link $links = [ - 'links' => Linker::linkKnown( + 'links' => $linkRenderer->makeKnownLink( $title, - $text, + new HtmlArmor( $text ), [], [ 'target' => $target->getPrefixedText() ] ), @@ -393,9 +395,9 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { // check, if the content model is editable through action=edit ContentHandler::getForTitle( $target )->supportsDirectEditing() ) { - $links['edit'] = Linker::linkKnown( + $links['edit'] = $linkRenderer->makeKnownLink( $target, - $editText, + new HtmlArmor( $editText ), [], [ 'action' => 'edit' ] ); @@ -406,9 +408,9 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { } function makeSelfLink( $text, $query ) { - return Linker::linkKnown( + return $this->getLinkRenderer()->makeKnownLink( $this->selfTitle, - $text, + new HtmlArmor( $text ), [], $query ); -- 2.20.1