* Create a new Title from a prefixed DB key
*
* @param string $key The database key, which has underscores
- * instead of spaces, possibly including namespace and
- * interwiki prefixes
+ * instead of spaces, possibly including namespace and
+ * interwiki prefixes
* @return Title|null Title, or null on an error
*/
public static function newFromDBkey( $key ) {
* @return int Result of string comparison, or namespace comparison
*/
public static function compare( LinkTarget $a, LinkTarget $b ) {
- if ( $a->getNamespace() == $b->getNamespace() ) {
- return strcmp( $a->getText(), $b->getText() );
- } else {
- return $a->getNamespace() - $b->getNamespace();
- }
+ return $a->getNamespace() <=> $b->getNamespace()
+ ?: strcmp( $a->getText(), $b->getText() );
}
/**
*/
public function getNsText() {
if ( $this->isExternal() ) {
- // This probably shouldn't even happen,
- // but for interwiki transclusion it sometimes does.
- // Use the canonical namespaces if possible to try to
- // resolve a foreign namespace.
- if ( MWNamespace::exists( $this->mNamespace ) ) {
- return MWNamespace::getCanonicalName( $this->mNamespace );
+ // 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 );
+ if ( $nsText !== false ) {
+ return $nsText;
}
}
if ( !$this->mRestrictionsLoaded ) {
$this->loadRestrictions();
}
- return isset( $this->mRestrictions[$action] )
- ? $this->mRestrictions[$action]
- : [];
+ return $this->mRestrictions[$action] ?? [];
}
/**
if ( !$this->mRestrictionsLoaded ) {
$this->loadRestrictions();
}
- return isset( $this->mRestrictionsExpiry[$action] ) ? $this->mRestrictionsExpiry[$action] : false;
+ return $this->mRestrictionsExpiry[$action] ?? false;
}
/**
}
$dbw = wfGetDB( DB_MASTER );
- $dbw->onTransactionPreCommitOrIdle( function () {
- ResourceLoaderWikiModule::invalidateModuleCache( $this, null, null, wfWikiID() );
- } );
+ $dbw->onTransactionPreCommitOrIdle(
+ function () {
+ ResourceLoaderWikiModule::invalidateModuleCache( $this, null, null, wfWikiID() );
+ },
+ __METHOD__
+ );
$conds = $this->pageCond();
DeferredUpdates::addUpdate(
*/
public function getNamespaceKey( $prepend = 'nstab-' ) {
global $wgContLang;
- // Gets the subject namespace if this title
- $namespace = MWNamespace::getSubject( $this->getNamespace() );
- // Checks if canonical namespace name exists for namespace
- if ( MWNamespace::exists( $this->getNamespace() ) ) {
- // Uses canonical namespace name
- $namespaceKey = MWNamespace::getCanonicalName( $namespace );
- } else {
- // Uses text of namespace
+ // Gets the subject namespace of this title
+ $subjectNS = MWNamespace::getSubject( $this->getNamespace() );
+ // Prefer canonical namespace name for HTML IDs
+ $namespaceKey = MWNamespace::getCanonicalName( $subjectNS );
+ if ( $namespaceKey === false ) {
+ // Fallback to localised text
$namespaceKey = $this->getSubjectNsText();
}
// Makes namespace key lowercase