wgNonincludableNamespaces option to disable inclusion for specific namespaces. Helps to make read-protection work
This commit is contained in:
parent
1cda921f5a
commit
e67bceab97
2 changed files with 11 additions and 1 deletions
|
|
@ -1038,6 +1038,13 @@ $wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
|
|||
$wgNamespaceProtection = array();
|
||||
$wgNamespaceProtection[ NS_MEDIAWIKI ] = array( 'editinterface' );
|
||||
|
||||
/**
|
||||
* Pages in namespaces in this array can not be used as templates.
|
||||
* Elements must be numeric namespace ids.
|
||||
* Among other things, this may be useful to enforce read-restrictions
|
||||
* which may otherwise be bypassed by using the template machanism.
|
||||
*/
|
||||
$wgNonincludableNamespaces = array();
|
||||
|
||||
/**
|
||||
* Number of seconds an account is required to age before
|
||||
|
|
|
|||
|
|
@ -2887,7 +2887,7 @@ class Parser
|
|||
* @private
|
||||
*/
|
||||
function braceSubstitution( $piece ) {
|
||||
global $wgContLang, $wgLang, $wgAllowDisplayTitle;
|
||||
global $wgContLang, $wgLang, $wgAllowDisplayTitle, $wgNonincludableNamespaces;
|
||||
$fname = __METHOD__ /*. '-L' . count( $this->mArgStack )*/;
|
||||
wfProfileIn( $fname );
|
||||
wfProfileIn( __METHOD__.'-setup' );
|
||||
|
|
@ -3065,6 +3065,9 @@ class Parser
|
|||
$isHTML = true;
|
||||
$this->disableCache();
|
||||
}
|
||||
} else if ( $wgNonincludableNamespaces && in_array( $title->getNamespace(), $wgNonincludableNamespaces ) ) {
|
||||
$found = false; //access denied
|
||||
wfDebug( "$fname: template inclusion denied for " . $title->getPrefixedDBkey() );
|
||||
} else {
|
||||
$articleContent = $this->fetchTemplate( $title );
|
||||
if ( $articleContent !== false ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue