Replaced Linker::link() usage with LinkRenderer in some special pages
authorSubin Siby <subins2000@gmail.com>
Sat, 3 Dec 2016 08:01:49 +0000 (13:31 +0530)
committerLegoktm <legoktm@member.fsf.org>
Sun, 4 Dec 2016 06:09:00 +0000 (06:09 +0000)
Bug: T149346
Change-Id: I73c2b7402012a49e4419b6214f1d03f2e819220b

includes/specials/SpecialMostlinkedtemplates.php
includes/specials/SpecialPagesWithProp.php
includes/specials/SpecialProtectedtitles.php
includes/specials/SpecialStatistics.php
includes/specials/SpecialTrackingCategories.php
includes/specials/SpecialUnblock.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUnusedcategories.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWantedcategories.php

index 7fcb9d8..d102791 100644 (file)
@@ -104,7 +104,7 @@ class MostlinkedTemplatesPage extends QueryPage {
                }
 
                return $this->getLanguage()->specialList(
-                       Linker::link( $title ),
+                       $this->getLinkRenderer()->makeLink( $title ),
                        $this->makeWlhLink( $title, $result )
                );
        }
@@ -118,9 +118,9 @@ class MostlinkedTemplatesPage extends QueryPage {
         */
        private function makeWlhLink( $title, $result ) {
                $wlh = SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedText() );
-               $label = $this->msg( 'ntransclusions' )->numParams( $result->value )->escaped();
+               $label = $this->msg( 'ntransclusions' )->numParams( $result->value )->text();
 
-               return Linker::link( $wlh, $label );
+               return $this->getLinkRenderer()->makeLink( $wlh, $label );
        }
 
        protected function getGroupName() {
index 706a1d7..37006d8 100644 (file)
@@ -133,7 +133,7 @@ class SpecialPagesWithProp extends QueryPage {
         */
        function formatResult( $skin, $result ) {
                $title = Title::newFromRow( $result );
-               $ret = Linker::link( $title, null, [], [], [ 'known' ] );
+               $ret = $this->getLinkRenderer()->makeKnownLink( $title );
                if ( $result->pp_value !== '' ) {
                        // Do not show very long or binary values on the special page
                        $valueLength = strlen( $result->pp_value );
index c800d96..fa9033c 100644 (file)
@@ -84,7 +84,7 @@ class SpecialProtectedtitles extends SpecialPage {
                        ) . "\n";
                }
 
-               $link = Linker::link( $title );
+               $link = $this->getLinkRenderer()->makeLink( $title );
                $description_items = [];
                // Messages: restriction-level-sysop, restriction-level-autoconfirmed
                $protType = $this->msg( 'restriction-level-' . $row->pt_create_perm )->escaped();
index 86f1e20..3342c32 100644 (file)
@@ -112,18 +112,20 @@ class SpecialStatistics extends SpecialPage {
         * @return string
         */
        private function getPageStats() {
+               $linkRenderer = $this->getLinkRenderer();
+
                $specialAllPagesTitle = SpecialPage::getTitleFor( 'Allpages' );
                $pageStatsHtml = Xml::openElement( 'tr' ) .
                        Xml::tags( 'th', [ 'colspan' => '2' ], $this->msg( 'statistics-header-pages' )
                                ->parse() ) .
                        Xml::closeElement( 'tr' ) .
-                               $this->formatRow( Linker::linkKnown( $specialAllPagesTitle,
-                                       $this->msg( 'statistics-articles' )->parse(), [], [ 'hideredirects' => 1 ] ),
+                               $this->formatRow( $linkRenderer->makeKnownLink( $specialAllPagesTitle,
+                                       $this->msg( 'statistics-articles' )->text(), [], [ 'hideredirects' => 1 ] ),
                                        $this->getLanguage()->formatNum( $this->good ),
                                        [ 'class' => 'mw-statistics-articles' ],
                                        'statistics-articles-desc' ) .
-                               $this->formatRow( Linker::linkKnown( $specialAllPagesTitle,
-                                       $this->msg( 'statistics-pages' )->parse() ),
+                               $this->formatRow( $linkRenderer->makeKnownLink( $specialAllPagesTitle,
+                                       $this->msg( 'statistics-pages' )->text() ),
                                        $this->getLanguage()->formatNum( $this->total ),
                                        [ 'class' => 'mw-statistics-pages' ],
                                        'statistics-pages-desc' );
@@ -131,8 +133,8 @@ class SpecialStatistics extends SpecialPage {
                // Show the image row only, when there are files or upload is possible
                if ( $this->images !== 0 || $this->getConfig()->get( 'EnableUploads' ) ) {
                        $pageStatsHtml .= $this->formatRow(
-                               Linker::linkKnown( SpecialPage::getTitleFor( 'MediaStatistics' ),
-                               $this->msg( 'statistics-files' )->parse() ),
+                               $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'MediaStatistics' ),
+                               $this->msg( 'statistics-files' )->text() ),
                                $this->getLanguage()->formatNum( $this->images ),
                                [ 'class' => 'mw-statistics-files' ] );
                }
@@ -166,9 +168,9 @@ class SpecialStatistics extends SpecialPage {
                                [ 'class' => 'mw-statistics-users' ]
                        ) .
                        $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
-                               Linker::linkKnown(
+                               $this->getLinkRenderer()->makeKnownLink(
                                        SpecialPage::getTitleFor( 'Activeusers' ),
-                                       $this->msg( 'listgrouprights-members' )->escaped()
+                                       $this->msg( 'listgrouprights-members' )->text()
                                ),
                                $this->getLanguage()->formatNum( $this->activeUsers ),
                                [ 'class' => 'mw-statistics-users-active' ],
@@ -178,6 +180,7 @@ class SpecialStatistics extends SpecialPage {
        }
 
        private function getGroupStats() {
+               $linkRenderer = $this->getLinkRenderer();
                $text = '';
                foreach ( $this->getConfig()->get( 'GroupPermissions' ) as $group => $permissions ) {
                        # Skip generic * and implicit groups
@@ -200,17 +203,17 @@ class SpecialStatistics extends SpecialPage {
                        $linkTarget = Title::newFromText( $grouppageLocalized );
 
                        if ( $linkTarget ) {
-                               $grouppage = Linker::link(
+                               $grouppage = $linkRenderer->makeLink(
                                        $linkTarget,
-                                       htmlspecialchars( $groupnameLocalized )
+                                       $groupnameLocalized
                                );
                        } else {
                                $grouppage = htmlspecialchars( $groupnameLocalized );
                        }
 
-                       $grouplink = Linker::linkKnown(
+                       $grouplink = $linkRenderer->makeKnownLink(
                                SpecialPage::getTitleFor( 'Listusers' ),
-                               $this->msg( 'listgrouprights-members' )->escaped(),
+                               $this->msg( 'listgrouprights-members' )->text(),
                                [],
                                [ 'group' => $group ]
                        );
index 4c6a345..8ff0527 100644 (file)
@@ -89,19 +89,21 @@ class SpecialTrackingCategories extends SpecialPage {
 
                Hooks::run( 'SpecialTrackingCategories::preprocess', [ $this, $trackingCategories ] );
 
+               $linkRenderer = $this->getLinkRenderer();
+
                foreach ( $trackingCategories as $catMsg => $data ) {
                        $allMsgs = [];
                        $catDesc = $catMsg . '-desc';
 
-                       $catMsgTitleText = Linker::link(
+                       $catMsgTitleText = $linkRenderer->makeLink(
                                $data['msg'],
-                               htmlspecialchars( $catMsg )
+                               $catMsg
                        );
 
                        foreach ( $data['cats'] as $catTitle ) {
-                               $html = Linker::link(
+                               $html = $linkRenderer->makeLink(
                                        $catTitle,
-                                       htmlspecialchars( $catTitle->getText() )
+                                       $catTitle->getText()
                                );
 
                                Hooks::run( 'SpecialTrackingCategories::generateCatLink',
index cff8bf4..326a1fa 100644 (file)
@@ -119,14 +119,14 @@ class SpecialUnblock extends SpecialPage {
                                $fields['Target']['type'] = 'hidden';
                                switch ( $type ) {
                                        case Block::TYPE_IP:
-                                               $fields['Name']['default'] = Linker::linkKnown(
+                                               $fields['Name']['default'] = $this->getLinkRenderer()->makeKnownLink(
                                                        SpecialPage::getTitleFor( 'Contributions', $target->getName() ),
                                                        $target->getName()
                                                );
                                                $fields['Name']['raw'] = true;
                                                break;
                                        case Block::TYPE_USER:
-                                               $fields['Name']['default'] = Linker::link(
+                                               $fields['Name']['default'] = $this->getLinkRenderer()->makeLink(
                                                        $target->getUserPage(),
                                                        $target->getName()
                                                );
index efac615..04f5be4 100644 (file)
@@ -997,14 +997,15 @@ class SpecialUndelete extends SpecialPage {
 
                $out->addWikiMsg( 'undeletepagetext', $this->getLanguage()->formatNum( $result->numRows() ) );
 
+               $linkRenderer = $this->getLinkRenderer();
                $undelete = $this->getPageTitle();
                $out->addHTML( "<ul>\n" );
                foreach ( $result as $row ) {
                        $title = Title::makeTitleSafe( $row->ar_namespace, $row->ar_title );
                        if ( $title !== null ) {
-                               $item = Linker::linkKnown(
+                               $item = $linkRenderer->makeKnownLink(
                                        $undelete,
-                                       htmlspecialchars( $title->getPrefixedText() ),
+                                       $title->getPrefixedText(),
                                        [],
                                        [ 'target' => $title->getPrefixedText() ]
                                );
@@ -1083,9 +1084,9 @@ class SpecialUndelete extends SpecialPage {
                        }
                }
 
-               $link = Linker::linkKnown(
+               $link = $this->getLinkRenderer()->makeKnownLink(
                        $this->getPageTitle( $this->mTargetObj->getPrefixedDBkey() ),
-                       htmlspecialchars( $this->mTargetObj->getPrefixedText() )
+                       $this->mTargetObj->getPrefixedText()
                );
 
                $lang = $this->getLanguage();
@@ -1259,14 +1260,14 @@ class SpecialUndelete extends SpecialPage {
                // FIXME This is reimplementing DifferenceEngine#getRevisionHeader
                // and partially #showDiffPage, but worse
                return '<div id="mw-diff-' . $prefix . 'title1"><strong>' .
-                       Linker::link(
+                       $this->getLinkRenderer()->makeLink(
                                $targetPage,
                                $this->msg(
                                        'revisionasof',
                                        $lang->userTimeAndDate( $rev->getTimestamp(), $user ),
                                        $lang->userDate( $rev->getTimestamp(), $user ),
                                        $lang->userTime( $rev->getTimestamp(), $user )
-                               )->escaped(),
+                               )->text(),
                                [],
                                $targetQuery
                        ) .
@@ -1550,9 +1551,9 @@ class SpecialUndelete extends SpecialPage {
                                $last = $this->msg( 'diff' )->escaped();
                        } elseif ( $remaining > 0 || ( $earliestLiveTime && $ts > $earliestLiveTime ) ) {
                                $pageLink = $this->getPageLink( $rev, $titleObj, $ts );
-                               $last = Linker::linkKnown(
+                               $last = $this->getLinkRenderer()->makeKnownLink(
                                        $titleObj,
-                                       $this->msg( 'diff' )->escaped(),
+                                       $this->msg( 'diff' )->text(),
                                        [],
                                        [
                                                'target' => $this->mTargetObj->getPrefixedText(),
@@ -1672,9 +1673,9 @@ class SpecialUndelete extends SpecialPage {
                        return '<span class="history-deleted">' . $time . '</span>';
                }
 
-               $link = Linker::linkKnown(
+               $link = $this->getLinkRenderer()->makeKnownLink(
                        $titleObj,
-                       htmlspecialchars( $time ),
+                       $time,
                        [],
                        [
                                'target' => $this->mTargetObj->getPrefixedText(),
@@ -1707,9 +1708,9 @@ class SpecialUndelete extends SpecialPage {
                        return '<span class="history-deleted">' . $time . '</span>';
                }
 
-               $link = Linker::linkKnown(
+               $link = $this->getLinkRenderer()->makeKnownLink(
                        $titleObj,
-                       htmlspecialchars( $time ),
+                       $time,
                        [],
                        [
                                'target' => $this->mTargetObj->getPrefixedText(),
@@ -1796,7 +1797,7 @@ class SpecialUndelete extends SpecialPage {
                                        $this->getUser(), $this->mComment ] );
                        }
 
-                       $link = Linker::linkKnown( $this->mTargetObj );
+                       $link = $this->getLinkRenderer()->makeKnownLink( $this->mTargetObj );
                        $out->addHTML( $this->msg( 'undeletedpage' )->rawParams( $link )->parse() );
                } else {
                        $out->setPageTitle( $this->msg( 'undelete-error' ) );
index 88c0e21..ec39ccf 100644 (file)
@@ -70,7 +70,7 @@ class UnusedCategoriesPage extends QueryPage {
        function formatResult( $skin, $result ) {
                $title = Title::makeTitle( NS_CATEGORY, $result->title );
 
-               return Linker::link( $title, htmlspecialchars( $title->getText() ) );
+               return $this->getLinkRenderer()->makeLink( $title, $title->getText() );
        }
 
        protected function getGroupName() {
index 2cd492e..272f074 100644 (file)
@@ -785,12 +785,12 @@ class SpecialVersion extends SpecialPage {
                if ( isset( $extension['name'] ) ) {
                        $licenseName = null;
                        if ( isset( $extension['license-name'] ) ) {
-                               $licenseName = $out->parseInline( $extension['license-name'] );
+                               $licenseName = new HtmlArmor( $out->parseInline( $extension['license-name'] ) );
                        } elseif ( $this->getExtLicenseFileName( $extensionPath ) ) {
-                               $licenseName = $this->msg( 'version-ext-license' )->escaped();
+                               $licenseName = $this->msg( 'version-ext-license' )->text();
                        }
                        if ( $licenseName !== null ) {
-                               $licenseLink = Linker::link(
+                               $licenseLink = $this->getLinkRenderer()->makeLink(
                                        $this->getPageTitle( 'License/' . $extension['name'] ),
                                        $licenseName,
                                        [
@@ -956,6 +956,7 @@ class SpecialVersion extends SpecialPage {
         */
        public function listAuthors( $authors, $extName, $extDir ) {
                $hasOthers = false;
+               $linkRenderer = $this->getLinkRenderer();
 
                $list = [];
                foreach ( (array)$authors as $item ) {
@@ -963,9 +964,9 @@ class SpecialVersion extends SpecialPage {
                                $hasOthers = true;
 
                                if ( $extName && $this->getExtAuthorsFileName( $extDir ) ) {
-                                       $text = Linker::link(
+                                       $text = $linkRenderer->makeLink(
                                                $this->getPageTitle( "Credits/$extName" ),
-                                               $this->msg( 'version-poweredby-others' )->escaped()
+                                               $this->msg( 'version-poweredby-others' )->text()
                                        );
                                } else {
                                        $text = $this->msg( 'version-poweredby-others' )->escaped();
@@ -982,9 +983,9 @@ class SpecialVersion extends SpecialPage {
                }
 
                if ( $extName && !$hasOthers && $this->getExtAuthorsFileName( $extDir ) ) {
-                       $list[] = $text = Linker::link(
+                       $list[] = $text = $linkRenderer->makeLink(
                                $this->getPageTitle( "Credits/$extName" ),
-                               $this->msg( 'version-poweredby-others' )->escaped()
+                               $this->msg( 'version-poweredby-others' )->text()
                        );
                }
 
index 9bf44ad..fc0c312 100644 (file)
@@ -91,20 +91,17 @@ class WantedCategoriesPage extends WantedQueryPage {
                global $wgContLang;
 
                $nt = Title::makeTitle( $result->namespace, $result->title );
-               $text = htmlspecialchars( $wgContLang->convert( $nt->getText() ) );
+               $text = $wgContLang->convert( $nt->getText() );
 
                if ( !$this->isCached() ) {
                        // We can assume the freshest data
-                       $plink = Linker::link(
+                       $plink = $this->getLinkRenderer()->makeBrokenLink(
                                $nt,
-                               $text,
-                               [],
-                               [],
-                               [ 'broken' ]
+                               $text
                        );
                        $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped();
                } else {
-                       $plink = Linker::link( $nt, $text );
+                       $plink = $this->getLinkRenderer()->makeLink( $nt, $text );
 
                        $currentValue = isset( $this->currentCategoryCounts[$result->title] )
                                ? $this->currentCategoryCounts[$result->title]