From 791d5319bff0be23c3ea474a84d42ed788355688 Mon Sep 17 00:00:00 2001 From: EBernhardson Date: Fri, 9 Dec 2016 16:53:42 +0000 Subject: [PATCH] Revert "Replace Linker::link() usage with LinkRenderer" Most links on Special:Search no longer have links with text rendered. Please revert this revert and fix the issue before re-merging. This reverts commit f736c3709a54be33f808e8d12f85707b90763165. Change-Id: Id92c484adc1d3339f9412bfb60ffe213cc1315ee --- 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, 30 insertions(+), 51 deletions(-) diff --git a/includes/specials/SpecialRecentchanges.php b/includes/specials/SpecialRecentchanges.php index 66c5145657..cd3299c210 100644 --- a/includes/specials/SpecialRecentchanges.php +++ b/includes/specials/SpecialRecentchanges.php @@ -664,11 +664,12 @@ class SpecialRecentChanges extends ChangesListSpecialPage { } unset( $value ); + $text = htmlspecialchars( $title ); if ( $active ) { - $title = new HtmlArmor( '' . htmlspecialchars( $title ) . '' ); + $text = '' . $text . ''; } - return $this->getLinkRenderer()->makeKnownLink( $this->getPageTitle(), $title, [], $params ); + return Linker::linkKnown( $this->getPageTitle(), $text, [], $params ); } /** diff --git a/includes/specials/SpecialRevisiondelete.php b/includes/specials/SpecialRevisiondelete.php index 4b0fa008b6..8780c5692e 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 = $this->getLinkRenderer()->makeKnownLink( + $link = Linker::linkKnown( $this->msg( 'revdelete-reason-dropdown' )->inContentLanguage()->getTitle(), - $this->msg( 'revdelete-edit-reasonlist' )->text(), + $this->msg( 'revdelete-edit-reasonlist' )->escaped(), [], [ 'action' => 'edit' ] ); diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index f4e0b5baab..9f83832e13 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -499,16 +499,9 @@ class SpecialSearch extends SpecialPage { } $stParams = array_merge( $params, $this->powerSearchOptions() ); - $linkRenderer = $this->getLinkRenderer(); - - $snippet = $textMatches->getSuggestionSnippet() ?: null; - if ( $snippet ) { - $snippet = new HtmlArmor( $snippet ); - } - - $suggest = $linkRenderer->makeKnownLink( + $suggest = Linker::linkKnown( $this->getPageTitle(), - $snippet, + $textMatches->getSuggestionSnippet() ?: null, [ 'id' => 'mw-search-DYM-suggestion' ], $stParams ); @@ -542,25 +535,18 @@ class SpecialSearch extends SpecialPage { } $stParams = array_merge( $params, $this->powerSearchOptions() ); - $linkRenderer = $this->getLinkRenderer(); - - $snippet = $textMatches->getQueryAfterRewriteSnippet() ?: null; - if ( $snippet ) { - $snippet = new HtmlArmor( $snippet ); - } - - $rewritten = $linkRenderer->makeKnownLink( + $rewritten = Linker::linkKnown( $this->getPageTitle(), - $snippet, + $textMatches->getQueryAfterRewriteSnippet() ?: null, [ 'id' => 'mw-search-DYM-rewritten' ], $stParams ); $stParams['search'] = $term; $stParams['runsuggestion'] = 0; - $original = $linkRenderer->makeKnownLink( + $original = Linker::linkKnown( $this->getPageTitle(), - $term, + htmlspecialchars( $term ), [ 'id' => 'mw-search-DYM-original' ], $stParams ); @@ -780,11 +766,9 @@ class SpecialSearch extends SpecialPage { Hooks::run( 'ShowSearchHitTitle', [ &$link_t, &$titleSnippet, $result, $terms, $this, &$query ] ); - $linkRenderer = $this->getLinkRenderer(); - - $link = $linkRenderer->makeKnownLink( + $link = Linker::linkKnown( $link_t, - new HtmlArmor( $titleSnippet ), + $titleSnippet, [ 'data-serp-pos' => $position ], // HTML attributes $query ); @@ -818,7 +802,7 @@ class SpecialSearch extends SpecialPage { $redirect = "" . $this->msg( 'search-redirect' )->rawParams( - $linkRenderer->makeKnownLink( $redirectTitle, new HtmlArmor( $redirectText ) ) )->text() . + Linker::linkKnown( $redirectTitle, $redirectText ) )->text() . ""; } @@ -830,7 +814,7 @@ class SpecialSearch extends SpecialPage { $section = "" . $this->msg( 'search-section' )->rawParams( - $linkRenderer->makeKnownLink( $sectionTitle, new HtmlArmor( $sectionText ) ) )->text() . + Linker::linkKnown( $sectionTitle, $sectionText ) )->text() . ""; } @@ -987,8 +971,6 @@ class SpecialSearch extends SpecialPage { return ''; } - $linkRenderer = $this->getLinkRenderer(); - $title = $result->getTitle(); $titleSnippet = $result->getTitleSnippet(); @@ -997,9 +979,9 @@ class SpecialSearch extends SpecialPage { $titleSnippet = null; } - $link = $linkRenderer->makeKnownLink( + $link = Linker::linkKnown( $title, - new HtmlArmor( $titleSnippet ) + $titleSnippet ); // format redirect if any @@ -1013,7 +995,7 @@ class SpecialSearch extends SpecialPage { $redirect = "" . $this->msg( 'search-redirect' )->rawParams( - $linkRenderer->makeKnownLink( $redirectTitle, new HtmlArmor( $redirectText ) ) )->text() . + Linker::linkKnown( $redirectTitle, $redirectText ) )->text() . ""; } @@ -1031,7 +1013,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 = $linkRenderer->makeKnownLink( + $searchLink = Linker::linkKnown( $searchTitle, $this->msg( 'search-interwiki-more' )->text(), [], diff --git a/includes/specials/SpecialUncategorizedcategories.php b/includes/specials/SpecialUncategorizedcategories.php index 86d8f89c52..1cc40a9e90 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 $this->getLinkRenderer()->makeKnownLink( $title, $text ); + return Linker::linkKnown( $title, htmlspecialchars( $text ) ); } } diff --git a/includes/specials/SpecialUnwatchedpages.php b/includes/specials/SpecialUnwatchedpages.php index 96878a38aa..ae375b2d70 100644 --- a/includes/specials/SpecialUnwatchedpages.php +++ b/includes/specials/SpecialUnwatchedpages.php @@ -116,12 +116,10 @@ class UnwatchedpagesPage extends QueryPage { $text = $wgContLang->convert( $nt->getPrefixedText() ); - $linkRenderer = $this->getLinkRenderer(); - - $plink = $linkRenderer->makeKnownLink( $nt, $text ); - $wlink = $linkRenderer->makeKnownLink( + $plink = Linker::linkKnown( $nt, htmlspecialchars( $text ) ); + $wlink = Linker::linkKnown( $nt, - $this->msg( 'watch' )->text(), + $this->msg( 'watch' )->escaped(), [ 'class' => 'mw-watch-link' ], [ 'action' => 'watch' ] ); diff --git a/includes/specials/SpecialWhatlinkshere.php b/includes/specials/SpecialWhatlinkshere.php index 334985425d..1ead290f2a 100644 --- a/includes/specials/SpecialWhatlinkshere.php +++ b/includes/specials/SpecialWhatlinkshere.php @@ -327,7 +327,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { $query = []; } - $link = $this->getLinkRenderer()->makeKnownLink( + $link = Linker::linkKnown( $nt, null, $row->page_is_redirect ? [ 'class' => 'mw-redirect' ] : [], @@ -376,13 +376,11 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { $title = $this->getPageTitle(); } - $linkRenderer = $this->getLinkRenderer(); - // always show a "<- Links" link $links = [ - 'links' => $linkRenderer->makeKnownLink( + 'links' => Linker::linkKnown( $title, - new HtmlArmor( $text ), + $text, [], [ 'target' => $target->getPrefixedText() ] ), @@ -395,9 +393,9 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { // check, if the content model is editable through action=edit ContentHandler::getForTitle( $target )->supportsDirectEditing() ) { - $links['edit'] = $linkRenderer->makeKnownLink( + $links['edit'] = Linker::linkKnown( $target, - new HtmlArmor( $editText ), + $editText, [], [ 'action' => 'edit' ] ); @@ -408,9 +406,9 @@ class SpecialWhatLinksHere extends IncludableSpecialPage { } function makeSelfLink( $text, $query ) { - return $this->getLinkRenderer()->makeKnownLink( + return Linker::linkKnown( $this->selfTitle, - new HtmlArmor( $text ), + $text, [], $query ); -- 2.20.1