*
* @file
*/
+use MediaWiki\Linker\LinkTarget;
/**
* Represents a title within MediaWiki.
return self::makeTitle(
$linkTarget->getNamespace(),
$linkTarget->getText(),
- $linkTarget->getFragment() );
+ $linkTarget->getFragment(),
+ $linkTarget->getInterwiki()
+ );
}
/**
$this->mTitleValue = new TitleValue(
$this->getNamespace(),
$this->getDBkey(),
- $this->getFragment() );
+ $this->getFragment(),
+ $this->getInterwiki()
+ );
} catch ( InvalidArgumentException $ex ) {
wfDebug( __METHOD__ . ': Can\'t create a TitleValue for [[' .
$this->getPrefixedText() . ']]: ' . $ex->getMessage() . "\n" );
* specified fragment before setting, so it assumes you're passing it with
* an initial "#".
*
- * Deprecated for public use, use Title::makeTitle() with fragment parameter.
+ * Deprecated for public use, use Title::makeTitle() with fragment parameter,
+ * or Title::createFragmentTarget().
* Still in active use privately.
*
* @private
$this->mFragment = strtr( substr( $fragment, 1 ), '_', ' ' );
}
+ /**
+ * Creates a new Title for a different fragment of the same page.
+ *
+ * @since 1.27
+ * @param string $fragment
+ * @return Title
+ */
+ public function createFragmentTarget( $fragment ) {
+ return self::makeTitle(
+ $this->getNamespace(),
+ $this->getText(),
+ $fragment,
+ $this->getInterwiki()
+ );
+
+ }
+
/**
* Prefix some arbitrary text with the namespace or interwiki prefix
* of this object