// NOTE: ideally, this would just call makeTitle() and then isValid(),
// but presently, that means more overhead on a potential performance hotspot.
- if ( !MWNamespace::exists( $ns ) ) {
+ if ( !MediaWikiServices::getInstance()->getNamespaceInfo()->exists( $ns ) ) {
return null;
}
$canonicalNamespace = false
) {
if ( $canonicalNamespace ) {
- $namespace = MWNamespace::getCanonicalName( $ns );
+ $namespace = MediaWikiServices::getInstance()->getNamespaceInfo()->
+ getCanonicalName( $ns );
} else {
$namespace = MediaWikiServices::getInstance()->getContentLanguage()->getNsText( $ns );
}
* @return bool
*/
public function isValid() {
- if ( !MWNamespace::exists( $this->mNamespace ) ) {
+ $services = MediaWikiServices::getInstance();
+ if ( !$services->getNamespaceInfo()->exists( $this->mNamespace ) ) {
return false;
}
try {
- $parser = MediaWikiServices::getInstance()->getTitleParser();
- $parser->parseTitle( $this->mDbkeyform, $this->mNamespace );
+ $services->getTitleParser()->parseTitle( $this->mDbkeyform, $this->mNamespace );
return true;
} catch ( MalformedTitleException $ex ) {
return false;
if ( $this->isExternal() ) {
// This probably shouldn't even happen, except for interwiki transclusion.
// If possible, use the canonical name for the foreign namespace.
- $nsText = MWNamespace::getCanonicalName( $this->mNamespace );
+ $nsText = MediaWikiServices::getInstance()->getNamespaceInfo()->
+ getCanonicalName( $this->mNamespace );
if ( $nsText !== false ) {
return $nsText;
}
* @return string Namespace text
*/
public function getSubjectNsText() {
- return MediaWikiServices::getInstance()->getContentLanguage()->
- getNsText( MWNamespace::getSubject( $this->mNamespace ) );
+ $services = MediaWikiServices::getInstance();
+ return $services->getContentLanguage()->
+ getNsText( $services->getNamespaceInfo()->getSubject( $this->mNamespace ) );
}
/**
* @return string Namespace text
*/
public function getTalkNsText() {
- return MediaWikiServices::getInstance()->getContentLanguage()->
- getNsText( MWNamespace::getTalk( $this->mNamespace ) );
+ $services = MediaWikiServices::getInstance();
+ return $services->getContentLanguage()->
+ getNsText( $services->getNamespaceInfo()->getTalk( $this->mNamespace ) );
}
/**
* Can this title have a corresponding talk page?
*
- * @see MWNamespace::hasTalkNamespace
+ * @see NamespaceInfo::hasTalkNamespace
* @since 1.30
*
* @return bool True if this title either is a talk page or can have a talk page associated.
*/
public function canHaveTalkPage() {
- return MWNamespace::hasTalkNamespace( $this->mNamespace );
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasTalkNamespace( $this->mNamespace );
}
/**
* @return bool
*/
public function isWatchable() {
- return !$this->isExternal() && MWNamespace::isWatchable( $this->mNamespace );
+ return !$this->isExternal() && MediaWikiServices::getInstance()->getNamespaceInfo()->
+ isWatchable( $this->mNamespace );
}
/**
* @since 1.19
*/
public function inNamespace( $ns ) {
- return MWNamespace::equals( $this->mNamespace, $ns );
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ equals( $this->mNamespace, $ns );
}
/**
* @return bool
*/
public function hasSubjectNamespace( $ns ) {
- return MWNamespace::subjectEquals( $this->mNamespace, $ns );
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ subjectEquals( $this->mNamespace, $ns );
}
/**
* @return bool
*/
public function isContentPage() {
- return MWNamespace::isContent( $this->mNamespace );
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ isContent( $this->mNamespace );
}
/**
* @return bool
*/
public function isMovable() {
- if ( !MWNamespace::isMovable( $this->mNamespace ) || $this->isExternal() ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ isMovable( $this->mNamespace ) || $this->isExternal()
+ ) {
// Interwiki title or immovable namespace. Hooks don't get to override here
return false;
}
* @return bool
*/
public function isSubpage() {
- return MWNamespace::hasSubpages( $this->mNamespace )
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
? strpos( $this->getText(), '/' ) !== false
: false;
}
* @return bool
*/
public function isTalkPage() {
- return MWNamespace::isTalk( $this->mNamespace );
+ return MediaWikiServices::getInstance()->getNamespaceInfo()->
+ isTalk( $this->mNamespace );
}
/**
* @since 1.20
*/
public function getRootText() {
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
return $this->getText();
}
*/
public function getBaseText() {
$text = $this->getText();
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
return $text;
}
* @return string Subpage name
*/
public function getSubpageText() {
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
return $this->mTextform;
}
$parts = explode( '/', $this->mTextform );
* @return bool
*/
public function hasSubpages() {
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
# Duh
return false;
}
* doesn't allow subpages
*/
public function getSubpages( $limit = -1 ) {
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ !MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
return [];
}
* @return string Containing capitalized title
*/
public static function capitalize( $text, $ns = NS_MAIN ) {
- if ( MWNamespace::isCapitalized( $ns ) ) {
+ $services = MediaWikiServices::getInstance();
+ if ( $services->getNamespaceInfo()->isCapitalized( $ns ) ) {
return MediaWikiServices::getInstance()->getContentLanguage()->ucfirst( $text );
} else {
return $text;
];
}
// Do the source and target namespaces support subpages?
- if ( !MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo();
+ if ( !$nsInfo->hasSubpages( $this->mNamespace ) ) {
return [
- [ 'namespace-nosubpages', MWNamespace::getCanonicalName( $this->mNamespace ) ],
+ [ 'namespace-nosubpages', $nsInfo->getCanonicalName( $this->mNamespace ) ],
];
}
- if ( !MWNamespace::hasSubpages( $nt->getNamespace() ) ) {
+ if ( !$nsInfo->hasSubpages( $nt->getNamespace() ) ) {
return [
- [ 'namespace-nosubpages', MWNamespace::getCanonicalName( $nt->getNamespace() ) ],
+ [ 'namespace-nosubpages', $nsInfo->getCanonicalName( $nt->getNamespace() ) ],
];
}
*/
public function getNamespaceKey( $prepend = 'nstab-' ) {
// Gets the subject namespace of this title
- $subjectNS = MWNamespace::getSubject( $this->mNamespace );
+ $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo();
+ $subjectNS = $nsInfo->getSubject( $this->mNamespace );
// Prefer canonical namespace name for HTML IDs
- $namespaceKey = MWNamespace::getCanonicalName( $subjectNS );
+ $namespaceKey = $nsInfo->getCanonicalName( $subjectNS );
if ( $namespaceKey === false ) {
// Fallback to localised text
$namespaceKey = $this->getSubjectNsText();
public function canUseNoindex() {
global $wgExemptFromUserRobotsControl;
- $bannedNamespaces = $wgExemptFromUserRobotsControl ?? MWNamespace::getContentNamespaces();
+ $bannedNamespaces = $wgExemptFromUserRobotsControl ??
+ MediaWikiServices::getInstance()->getNamespaceInfo()->getContentNamespaces();
return !in_array( $this->mNamespace, $bannedNamespaces );
}
}
}
- if ( MWNamespace::hasSubpages( $this->mNamespace ) ) {
+ if (
+ MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $this->mNamespace )
+ ) {
// Optional notice for page itself and any parent page
$editnotice_base = $editnotice_ns;
foreach ( explode( '/', $this->mDbkeyform ) as $part ) {