return isset( $nslist[$index] );
}
-
/**
* Returns array of all defined namespaces with their canonical
* (English) names.
global $wgExtraNamespaces, $wgCanonicalNamespaceNames;
if ( is_array( $wgExtraNamespaces ) ) {
$namespaces = $wgCanonicalNamespaceNames + $wgExtraNamespaces;
+ } else {
+ $namespaces = $wgCanonicalNamespaceNames;
}
$namespaces[NS_MAIN] = '';
- var_dump( $namespaces );
+ wfRunHooks( 'CanonicalNamespaces', array( &$namespaces ) );
}
return $namespaces;
}
if ( is_null( $mValidNamespaces ) ) {
foreach ( array_keys( self::getCanonicalNamespaces() ) as $ns ) {
- if ( $ns > 0 ) {
+ if ( $ns >= 0 ) {
$mValidNamespaces[] = $ns;
}
}
return !empty( $wgNamespacesWithSubpages[$index] );
}
+ /**
+ * Get a list of all namespace indices which are considered to contain content
+ * @return array of namespace indices
+ */
+ public static function getContentNamespaces() {
+ global $wgContentNamespaces;
+ if( !is_array( $wgContentNamespaces ) || $wgContentNamespaces === array() ) {
+ return NS_MAIN;
+ } elseif ( !in_array( NS_MAIN, $wgContentNamespaces ) ) {
+ // always force NS_MAIN to be part of array (to match the algorithm used by isContent)
+ return array_merge( array( NS_MAIN ), $wgContentNamespaces );
+ } else {
+ return $wgContentNamespaces;
+ }
+ }
/**
* Is the namespace first-letter capitalized?
*