From: Kunal Mehta Date: Wed, 20 Apr 2016 05:21:09 +0000 (-0700) Subject: Specially handle Title objects in Title::newFromLinkTarget() X-Git-Tag: 1.31.0-rc.0~7241 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmembres/cotisations/gestion/rappel_supprimer.php?a=commitdiff_plain;h=aa21cf32facdb3f7c315bea0a4072d9da450c947;p=lhc%2Fweb%2Fwiklou.git Specially handle Title objects in Title::newFromLinkTarget() Every single caller of Title::newFromLinkTarget() already special cases when the LinkTarget object is already a Title, so move that logic into one function. Change-Id: Iba5432ae01c87850e5b34893092427c5b1629188 --- diff --git a/includes/Title.php b/includes/Title.php index 95588a222a..3fd4631af8 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -248,6 +248,10 @@ class Title implements LinkTarget { * @return Title */ public static function newFromLinkTarget( LinkTarget $linkTarget ) { + if ( $linkTarget instanceof Title ) { + // Special case if it's already a Title object + return $linkTarget; + } return self::makeTitle( $linkTarget->getNamespace(), $linkTarget->getText(), diff --git a/includes/WatchedItem.php b/includes/WatchedItem.php index 0495536a26..4dbe0f674f 100644 --- a/includes/WatchedItem.php +++ b/includes/WatchedItem.php @@ -140,11 +140,7 @@ class WatchedItem { */ public function getTitle() { if ( !$this->title ) { - if ( $this->linkTarget instanceof Title ) { - $this->title = $this->linkTarget; - } else { - $this->title = Title::newFromLinkTarget( $this->linkTarget ); - } + $this->title = Title::newFromLinkTarget( $this->linkTarget ); } return $this->title; } diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php index 8ae7932be0..5e99f8ea47 100644 --- a/includes/WatchedItemStore.php +++ b/includes/WatchedItemStore.php @@ -905,12 +905,8 @@ class WatchedItemStore implements StatsdAwareInterface { * @param LinkTarget $newTarget */ public function duplicateAllAssociatedEntries( LinkTarget $oldTarget, LinkTarget $newTarget ) { - if ( !$oldTarget instanceof Title ) { - $oldTarget = Title::newFromLinkTarget( $oldTarget ); - } - if ( !$newTarget instanceof Title ) { - $newTarget = Title::newFromLinkTarget( $newTarget ); - } + $oldTarget = Title::newFromLinkTarget( $oldTarget ); + $newTarget = Title::newFromLinkTarget( $newTarget ); $this->duplicateEntry( $oldTarget->getSubjectPage(), $newTarget->getSubjectPage() ); $this->duplicateEntry( $oldTarget->getTalkPage(), $newTarget->getTalkPage() ); diff --git a/includes/title/MediaWikiPageLinkRenderer.php b/includes/title/MediaWikiPageLinkRenderer.php index 302c9e8c4e..b458578337 100644 --- a/includes/title/MediaWikiPageLinkRenderer.php +++ b/includes/title/MediaWikiPageLinkRenderer.php @@ -106,11 +106,8 @@ class MediaWikiPageLinkRenderer implements PageLinkRenderer { // TODO: move the logic implemented by Linker here, // using $this->formatter and $this->baseUrl, and // re-implement Linker to use a HtmlPageLinkRenderer. - if ( $linkTarget instanceof Title ) { - $title = $linkTarget; - } else { - $title = Title::newFromLinkTarget( $linkTarget ); - } + + $title = Title::newFromLinkTarget( $linkTarget ); $link = Linker::link( $title, htmlspecialchars( $text ) ); return $link;