From d19e5bec1573dc1201891c5047e636ca60a96756 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Wed, 20 Apr 2016 01:12:28 -0700 Subject: [PATCH] Have Linker::linkUrl() accept LinkTarget This is a private function so it doesn't really make much of a difference, but will allow further refactoring. Change-Id: Idacad7b1bd4776c04659ed9af64540d6ce4b2f28 --- includes/Linker.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index 4ba3a755a3..799b8b83ef 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -270,24 +270,23 @@ class Linker { /** * Returns the Url used to link to a Title * - * @param Title $target + * @param LinkTarget $target * @param array $query Query parameters * @param array $options * @return string */ - private static function linkUrl( $target, $query, $options ) { + private static function linkUrl( LinkTarget $target, $query, $options ) { # We don't want to include fragments for broken links, because they # generally make no sense. if ( in_array( 'broken', $options, true ) && $target->hasFragment() ) { - $target = clone $target; - $target->setFragment( '' ); + $target = $target->createFragmentTarget( '' ); } # If it's a broken link, add the appropriate query pieces, unless # there's already an action specified, or unless 'edit' makes no sense # (i.e., for a nonexistent special page). if ( in_array( 'broken', $options, true ) && empty( $query['action'] ) - && !$target->isSpecialPage() ) { + && $target->getNamespace() !== NS_SPECIAL ) { $query['action'] = 'edit'; $query['redlink'] = '1'; } @@ -300,7 +299,8 @@ class Linker { $proto = PROTO_RELATIVE; } - $ret = $target->getLinkURL( $query, false, $proto ); + $title = Title::newFromLinkTarget( $target ); + $ret = $title->getLinkURL( $query, false, $proto ); return $ret; } -- 2.20.1