diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2012-05-03 13:01:35 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2012-05-03 13:01:35 +0200 |
commit | d9022f63880ce039446fba8364f68e656b7bf4cb (patch) | |
tree | 16b40fbf17bf7c9ee6f4ead25b16dd192378050a /includes/Namespace.php | |
parent | 27cf83d177256813e2e802241085fce5dd0f3fb9 (diff) |
Update to MediaWiki 1.19.0
Diffstat (limited to 'includes/Namespace.php')
-rw-r--r-- | includes/Namespace.php | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/includes/Namespace.php b/includes/Namespace.php index 95c167b2..292559d0 100644 --- a/includes/Namespace.php +++ b/includes/Namespace.php @@ -27,7 +27,7 @@ class MWNamespace { /** * Throw an exception when trying to get the subject or talk page * for a given namespace where it does not make sense. - * Special namespaces are defined in includes/define.php and have + * Special namespaces are defined in includes/Defines.php and have * a value below 0 (ex: NS_SPECIAL = -1 , NS_MEDIA = -2) * * @param $index @@ -36,7 +36,7 @@ class MWNamespace { * @return true */ private static function isMethodValidFor( $index, $method ) { - if( $index < NS_MAIN ) { + if ( $index < NS_MAIN ) { throw new MWException( "$method does not make any sense for given namespace $index" ); } return true; @@ -50,7 +50,7 @@ class MWNamespace { */ public static function isMovable( $index ) { global $wgAllowImageMoving; - return !( $index < NS_MAIN || ($index == NS_FILE && !$wgAllowImageMoving) || $index == NS_CATEGORY ); + return !( $index < NS_MAIN || ( $index == NS_FILE && !$wgAllowImageMoving ) || $index == NS_CATEGORY ); } /** @@ -58,12 +58,22 @@ class MWNamespace { * * @param $index Int: namespace index * @return bool + * @since 1.19 */ - public static function isMain( $index ) { + public static function isSubject( $index ) { return !self::isTalk( $index ); } /** + * @see self::isSubject + * @deprecated Please use the more consistently named isSubject (since 1.19) + */ + public static function isMain( $index ) { + wfDeprecated( __METHOD__, '1.19' ); + return self::isSubject( $index ); + } + + /** * Is the given namespace a talk namespace? * * @param $index Int: namespace index @@ -96,7 +106,7 @@ class MWNamespace { */ public static function getSubject( $index ) { # Handle special namespaces - if( $index < NS_MAIN ) { + if ( $index < NS_MAIN ) { return $index; } @@ -116,9 +126,9 @@ class MWNamespace { public static function getAssociated( $index ) { self::isMethodValidFor( $index, __METHOD__ ); - if( self::isMain( $index ) ) { + if ( self::isSubject( $index ) ) { return self::getTalk( $index ); - } elseif( self::isTalk( $index ) ) { + } elseif ( self::isTalk( $index ) ) { return self::getSubject( $index ); } else { return null; @@ -129,8 +139,9 @@ class MWNamespace { * Returns whether the specified namespace exists * * @param $index - * + * * @return bool + * @since 1.19 */ public static function exists( $index ) { $nslist = self::getCanonicalNamespaces(); @@ -138,6 +149,39 @@ class MWNamespace { } /** + * Returns whether the specified namespaces are the same namespace + * + * @note It's possible that in the future we may start using something + * other than just namespace indexes. Under that circumstance making use + * of this function rather than directly doing comparison will make + * sure that code will not potentially break. + * + * @param $ns1 int The first namespace index + * @param $ns2 int The second namespae index + * + * @return bool + * @since 1.19 + */ + public static function equals( $ns1, $ns2 ) { + return $ns1 == $ns2; + } + + /** + * Returns whether the specified namespaces share the same subject. + * eg: NS_USER and NS_USER wil return true, as well + * NS_USER and NS_USER_TALK will return true. + * + * @param $ns1 int The first namespace index + * @param $ns2 int The second namespae index + * + * @return bool + * @since 1.19 + */ + public static function subjectEquals( $ns1, $ns2 ) { + return self::getSubject( $ns1 ) == self::getSubject( $ns2 ); + } + + /** * Returns array of all defined namespaces with their canonical * (English) names. * @@ -165,7 +209,7 @@ class MWNamespace { */ public static function getCanonicalName( $index ) { $nslist = self::getCanonicalNamespaces(); - if( isset( $nslist[$index] ) ) { + if ( isset( $nslist[$index] ) ) { return $nslist[$index]; } else { return false; @@ -184,7 +228,7 @@ class MWNamespace { if ( $xNamespaces === false ) { $xNamespaces = array(); foreach ( self::getCanonicalNamespaces() as $i => $text ) { - $xNamespaces[strtolower($text)] = $i; + $xNamespaces[strtolower( $text )] = $i; } } if ( array_key_exists( $name, $xNamespaces ) ) { @@ -262,7 +306,7 @@ class MWNamespace { */ public static function getContentNamespaces() { global $wgContentNamespaces; - if( !is_array( $wgContentNamespaces ) || $wgContentNamespaces === array() ) { + 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) |