diff options
Diffstat (limited to 'includes/Namespace.php')
-rw-r--r-- | includes/Namespace.php | 55 |
1 files changed, 32 insertions, 23 deletions
diff --git a/includes/Namespace.php b/includes/Namespace.php index 57a71282..7c7b7ded 100644 --- a/includes/Namespace.php +++ b/includes/Namespace.php @@ -1,6 +1,7 @@ <?php /** * Provide things related to namespaces + * @file */ /** @@ -42,26 +43,23 @@ if( is_array( $wgExtraNamespaces ) ) { * */ -/* -WARNING: The statement below may fail on some versions of PHP: see bug 12294 -*/ - -class Namespace { +class MWNamespace { /** * Can pages in the given namespace be moved? * - * @param int $index Namespace index + * @param $index Int: namespace index * @return bool */ public static function isMovable( $index ) { - return !( $index < NS_MAIN || $index == NS_IMAGE || $index == NS_CATEGORY ); + global $wgAllowImageMoving; + return !( $index < NS_MAIN || ($index == NS_IMAGE && !$wgAllowImageMoving) || $index == NS_CATEGORY ); } /** * Is the given namespace is a subject (non-talk) namespace? * - * @param int $index Namespace index + * @param $index Int: namespace index * @return bool */ public static function isMain( $index ) { @@ -71,7 +69,7 @@ class Namespace { /** * Is the given namespace a talk namespace? * - * @param int $index Namespace index + * @param $index Int: namespace index * @return bool */ public static function isTalk( $index ) { @@ -82,7 +80,7 @@ class Namespace { /** * Get the talk namespace index for a given namespace * - * @param int $index Namespace index + * @param $index Int: namespace index * @return int */ public static function getTalk( $index ) { @@ -94,7 +92,7 @@ class Namespace { /** * Get the subject namespace index for a given namespace * - * @param int $index Namespace index + * @param $index Int: Namespace index * @return int */ public static function getSubject( $index ) { @@ -106,7 +104,7 @@ class Namespace { /** * Returns the canonical (English Wikipedia) name for a given index * - * @param int $index Namespace index + * @param $index Int: namespace index * @return string */ public static function getCanonicalName( $index ) { @@ -118,7 +116,7 @@ class Namespace { * Returns the index for a given canonical name, or NULL * The input *must* be converted to lower case first * - * @param string $name Namespace name + * @param $name String: namespace name * @return int */ public static function getCanonicalIndex( $name ) { @@ -136,37 +134,48 @@ class Namespace { return NULL; } } - + /** * Can this namespace ever have a talk namespace? * - * @param $index Namespace index + * @param $index Int: namespace index * @return bool */ public static function canTalk( $index ) { return $index >= NS_MAIN; } - + /** - * Does this namespace contain content, for the purposes - * of calculating statistics, etc? + * Does this namespace contain content, for the purposes of calculating + * statistics, etc? * - * @param $index Index to check + * @param $index Int: index to check * @return bool */ public static function isContent( $index ) { global $wgContentNamespaces; return $index == NS_MAIN || in_array( $index, $wgContentNamespaces ); } - + /** * Can pages in a namespace be watched? * - * @param int $index + * @param $index Int * @return bool */ public static function isWatchable( $index ) { return $index >= NS_MAIN; } - -}
\ No newline at end of file + + /** + * Does the namespace allow subpages? + * + * @param $index int Index to check + * @return bool + */ + public static function hasSubpages( $index ) { + global $wgNamespacesWithSubpages; + return !empty( $wgNamespacesWithSubpages[$index] ); + } + +} |