* @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(),
*/
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;
}
* @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() );
// 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;