Added wgIsMainPage (Title->isMainPage) to mw.config

* Instead of ugly javascript construction to compare href-attributes or re-constructing proper pagenames, let's use Title->isMainPage which does this much better
* Kept function for compatibility. mw.util.isMainPage() was never released, should probably be removed before 1.18 branch point.
This commit is contained in:
Krinkle 2011-05-01 19:46:09 +00:00
parent 10cd6f1b6a
commit 351ad488fd
2 changed files with 4 additions and 23 deletions

View file

@ -2662,6 +2662,7 @@ class OutputPage {
'wgUserGroups' => $this->getUser()->getEffectiveGroups(),
'wgCategories' => $this->getCategories(),
'wgBreakFrames' => $this->getFrameOptions() == 'DENY',
'wgIsMainPage' => $title->isMainPage(),
);
if ( $wgContLang->hasVariants() ) {
$vars['wgUserVariant'] = $wgContLang->getPreferredVariant();

View file

@ -272,32 +272,12 @@
/**
* Checks wether the current page is the wiki's main page.
* This function requires the document to be ready!
*
* @param alsoRelated Boolean value, if true this function also returns true if the current page is
* in an associated namespace page of the main page rather than the main page itself (eg. talk page)
* @return Boolean
* @deprecated to be removed in 1.18: Use wgIsMainPage in mw.config instead.
*/
'isMainPage' : function( alsoRelated ) {
var isRelatedToMainpage = false;
// Don't insert colon between namespace and title if the namespace is empty (eg. main namespace)
var namespace = mw.config.get( 'wgFormattedNamespaces' )[mw.config.get( 'wgNamespaceNumber' )];
namespace = namespace ? namespace + ':' : '';
// We can't use (wgMainPageTitle == wgPageName) since the latter is escaped (underscores) and has other
// slight variations that make comparison harder.
var isTheMainPage = mw.config.get( 'wgMainPageTitle' ) === ( namespace + mw.config.get( 'wgTitle' ) );
// Also check for the title in related namespaces ?
if ( typeof alsoRelated !== 'undefined' && alsoRelated === true ) {
var tabLink = $( '#ca-talk' ).prev().find( 'a:first' ).attr( 'href' );
isRelatedToMainpage = tabLink === mw.util.wikiGetlink( mw.config.get( 'wgMainPageTitle' ) );
return isRelatedToMainpage || isTheMainPage;
}
return isTheMainPage;
'isMainPage' : function() {
return mw.config.get( 'wgIsMainPage' );
},