All extensions using it have been corrected.
* Propagate ISBN number for Booksources in LanguageNo.php
* (bug 5548) Improvements to Indonesian localisation [patch: Ivan Lanin]
+* Add TALKSPACE, SUBJECTSPACE, TALKPAGENAME, SUBJECTPAGENAME (and encoded forms for all)
+ magic words
== Compatibility ==
'MAG_SUBPAGENAME',
'MAG_SUBPAGENAMEE',
'MAG_DISPLAYTITLE',
+ 'MAG_TALKSPACE',
+ 'MAG_TALKSPACEE',
+ 'MAG_SUBJECTSPACE',
+ 'MAG_SUBJECTSPACEE',
+ 'MAG_TALKPAGENAME',
+ 'MAG_TALKPAGENAMEE',
+ 'MAG_SUBJECTPAGENAME',
+ 'MAG_SUBJECTPAGENAMEE',
);
if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
wfRunHooks( 'MagicWordMagicWords', array( &$magicWords ) );
MAG_SUBPAGENAME,
MAG_SUBPAGENAMEE,
MAG_DISPLAYTITLE,
+ MAG_TALKSPACE,
+ MAG_TALKSPACEE,
+ MAG_SUBJECTSPACE,
+ MAG_SUBJECTSPACEE,
+ MAG_TALKPAGENAME,
+ MAG_TALKPAGENAMEE,
+ MAG_SUBJECTPAGENAME,
+ MAG_SUBJECTPAGENAMEE,
);
if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
wfRunHooks( 'MagicWordwgVariableIDs', array( &$wgVariableIDs ) );
return NULL;
}
}
+
+ /**
+ * Can this namespace ever have a talk namespace?
+ * @param $index Namespace index
+ */
+ function canTalk( $index ) {
+ return( $index >= NS_MAIN );
+ }
}
?>
return $this->mTitle->getSubpageText();
case MAG_SUBPAGENAMEE:
return $this->mTitle->getSubpageUrlForm();
+ case MAG_TALKPAGENAME:
+ if( $this->mTitle->canTalk() ) {
+ $talkPage = $this->mTitle->getTalkPage();
+ return $talkPage->getPrefixedText();
+ } else {
+ return '';
+ }
+ case MAG_TALKPAGENAMEE:
+ if( $this->mTitle->canTalk() ) {
+ $talkPage = $this->mTitle->getTalkPage();
+ return $talkPage->getPrefixedUrl();
+ } else {
+ return '';
+ }
+ case MAG_SUBJECTPAGENAME:
+ $subjPage = $this->mTitle->getSubjectPage();
+ return $subjPage->getPrefixedText();
+ case MAG_SUBJECTPAGENAMEE:
+ $subjPage = $this->mTitle->getSubjectPage();
+ return $subjPage->getPrefixedUrl();
case MAG_REVISIONID:
return $this->mRevisionId;
case MAG_NAMESPACE:
return $wgContLang->getNsText( $this->mTitle->getNamespace() );
case MAG_NAMESPACEE:
return wfUrlencode( $wgContLang->getNsText( $this->mTitle->getNamespace() ) );
+ case MAG_TALKSPACE:
+ return $this->mTitle->canTalk() ? $this->mTitle->getTalkNsText() : '';
+ case MAG_TALKSPACEE:
+ return $this->mTitle->canTalk() ? wfUrlencode( $this->mTitle->getTalkNsText() ) : '';
+ case MAG_SUBJECTSPACE:
+ return $this->mTitle->getSubjectNsText();
+ case MAG_SUBJECTSPACEE:
+ return( wfUrlencode( $this->mTitle->getSubjectNsText() ) );
case MAG_CURRENTDAYNAME:
return $varCache[$index] = $wgContLang->getWeekdayName( date( 'w', $ts ) + 1 );
case MAG_CURRENTYEAR:
return $wgContLang->getNsText( Namespace::getSubject( $this->mNamespace ) );
}
+ /**
+ * Get the namespace text of the talk page
+ * @return string
+ */
+ function getTalkNsText() {
+ global $wgContLang;
+ return( $wgContLang->getNsText( Namespace::getTalk( $this->mNamespace ) ) );
+ }
+
+ /**
+ * Could this title have a corresponding talk page?
+ * @return bool
+ */
+ function canTalk() {
+ return( Namespace::canTalk( $this->mNamespace ) );
+ }
+
/**
* Get the interwiki prefix (or null string)
* @return string
MAG_PAGENAMEE => array( 1, 'PAGENAMEE' ),
MAG_NAMESPACE => array( 1, 'NAMESPACE' ),
MAG_NAMESPACEE => array( 1, 'NAMESPACEE' ),
+ MAG_TALKSPACE => array( 1, 'TALKSPACE' ),
+ MAG_TALKSPACEE => array( 1, 'TALKSPACEE' ),
+ MAG_SUBJECTSPACE => array( 1, 'SUBJECTSPACE', 'ARTICLESPACE' ),
+ MAG_SUBJECTSPACEE => array( 1, 'SUBJECTSPACEE', 'ARTICLESPACEE' ),
MAG_FULLPAGENAME => array( 1, 'FULLPAGENAME' ),
MAG_FULLPAGENAMEE => array( 1, 'FULLPAGENAMEE' ),
- MAG_SUBPAGENAME => array( 0, 'SUBPAGENAME' ),
- MAG_SUBPAGENAMEE => array( 0, 'SUBPAGENAMEE' ),
+ MAG_SUBPAGENAME => array( 1, 'SUBPAGENAME' ),
+ MAG_SUBPAGENAMEE => array( 1, 'SUBPAGENAMEE' ),
+ MAG_TALKPAGENAME => array( 1, 'TALKPAGENAME' ),
+ MAG_TALKPAGENAMEE => array( 1, 'TALKPAGENAMEE' ),
+ MAG_SUBJECTPAGENAME => array( 1, 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+ MAG_SUBJECTPAGENAMEE => array( 1, 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
MAG_MSG => array( 0, 'MSG:' ),
MAG_SUBST => array( 0, 'SUBST:' ),
MAG_MSGNW => array( 0, 'MSGNW:' ),