summaryrefslogtreecommitdiff
path: root/includes/Namespace.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/Namespace.php')
-rw-r--r--includes/Namespace.php55
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] );
+ }
+
+}