* (bug 5935) Improvement to German localisation (de)
* (bug 5937) Register links from gallery captions with the parent parser output
object so that link tables receive those updates too
+* (bug 5845) Introduce BASEPAGENAME and BASEPAGENAMEE magic words
== Compatibility ==
'MAG_NEWSECTIONLINK',
'MAG_NUMBEROFPAGES',
'MAG_CURRENTVERSION',
+ 'MAG_BASEPAGENAME',
+ 'MAG_BASEPAGENAMEE',
);
if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
wfRunHooks( 'MagicWordMagicWords', array( &$magicWords ) );
MAG_NEWSECTIONLINK,
MAG_NUMBEROFPAGES,
MAG_CURRENTVERSION,
+ MAG_BASEPAGENAME,
+ MAG_BASEPAGENAMEE,
);
if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
wfRunHooks( 'MagicWordwgVariableIDs', array( &$wgVariableIDs ) );
return $this->mTitle->getSubpageText();
case MAG_SUBPAGENAMEE:
return $this->mTitle->getSubpageUrlForm();
+ case MAG_BASEPAGENAME:
+ return $this->mTitle->getBaseText();
+ case MAG_BASEPAGENAMEE:
+ return wfUrlEncode( str_replace( ' ', '_', $this->mTitle->getBaseText() ) );
case MAG_TALKPAGENAME:
if( $this->mTitle->canTalk() ) {
$talkPage = $this->mTitle->getTalkPage();
return $text;
}
+ /**
+ * Get the base name, i.e. the leftmost parts before the /
+ * @return string Base name
+ */
+ function getBaseText() {
+ global $wgNamespacesWithSubpages;
+ if( isset( $wgNamespacesWithSubpages[ $this->mNamespace] ) && $wgNamespacesWithSubpages[ $this->mNamespace ] ) {
+ $parts = explode( '/', $this->getText() );
+ unset( $parts[ count( $parts ) - 1 ] );
+ return implode( '/', $parts );
+ } else {
+ return $this->getText();
+ }
+ }
+
/**
* Get the lowest-level subpage name, i.e. the rightmost part after /
* @return string Subpage name
MAG_FULLPAGENAMEE => array( 1, 'FULLPAGENAMEE' ),
MAG_SUBPAGENAME => array( 1, 'SUBPAGENAME' ),
MAG_SUBPAGENAMEE => array( 1, 'SUBPAGENAMEE' ),
+ MAG_BASEPAGENAME => array( 1, 'BASEPAGENAME' ),
+ MAG_BASEPAGENAMEE => array( 1, 'BASEPAGENAMEE' ),
MAG_TALKPAGENAME => array( 1, 'TALKPAGENAME' ),
MAG_TALKPAGENAMEE => array( 1, 'TALKPAGENAMEE' ),
MAG_SUBJECTPAGENAME => array( 1, 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),