From 4bc9769b0919af5816ff3172328978a0bebe209d Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 21 Nov 2003 01:12:01 +0000 Subject: [PATCH] Guarding newFromText calls --- includes/Skin.php | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/includes/Skin.php b/includes/Skin.php index 47a4ee849e..238493124d 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -1164,21 +1164,42 @@ if ( isset ( $wgUseApproval ) && $wgUseApproval ) # function makeLink( $title, $text = "", $query = "", $trail = "" ) { wfProfileIn( "Skin::makeLink" ); - $result = $this->makeLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + $nt = Title::newFromText( $title ); + if ($nt) { + $result = $this->makeLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + } else { + $result = $text == "" ? $title : $text; + } + wfProfileOut( "Skin::makeLink" ); return $result; } function makeKnownLink( $title, $text = "", $query = "", $trail = "" ) { - return $this->makeKnownLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + $nt = Title::newFromText( $title ); + if ($nt) { + return $this->makeKnownLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + } else { + return $text == "" ? $title : $text; + } } function makeBrokenLink( $title, $text = "", $query = "", $trail = "" ) { - return $this->makeBrokenLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + $nt = Title::newFromText( $title ); + if ($nt) { + return $this->makeBrokenLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + } else { + return $text == "" ? $title : $text; + } } function makeStubLink( $title, $text = "", $query = "", $trail = "" ) { - return $this->makeStubLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + $nt = Title::newFromText( $title ); + if ($nt) { + return $this->makeStubLinkObj( Title::newFromText( $title ), $text, $query, $trail ); + } else { + return $text == "" ? $title : $text; + } } # Pass a title object, not a title string -- 2.20.1