X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FNamespace.php;h=ebb2bce6b3c0e43c538bbc1e1d184afad42a2923;hb=16ed0301cdf7443b79d93e5005b81b9934e58eb8;hp=b77dbcb96d6a3644cd6fad48e3ef3e0b70bf7718;hpb=e980f2a801f7a01db66a952316fea6f9a6f742a6;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Namespace.php b/includes/Namespace.php index b77dbcb96d..ebb2bce6b3 100644 --- a/includes/Namespace.php +++ b/includes/Namespace.php @@ -1,15 +1,8 @@ 'Media', NS_SPECIAL => 'Special', - NS_TALK => 'Talk', + NS_TALK => 'Talk', NS_USER => 'User', NS_USER_TALK => 'User_talk', NS_PROJECT => 'Project', @@ -30,7 +23,7 @@ $wgCanonicalNamespaceNames = array( NS_TEMPLATE_TALK => 'Template_talk', NS_HELP => 'Help', NS_HELP_TALK => 'Help_talk', - NS_CATEGORY => 'Category', + NS_CATEGORY => 'Category', NS_CATEGORY_TALK => 'Category_talk', ); @@ -47,7 +40,6 @@ if( is_array( $wgExtraNamespaces ) ) { * These are synonyms for the names given in the language file * Users and translators should not change them * - * @package MediaWiki */ class Namespace { @@ -55,32 +47,31 @@ class Namespace { * Check if the given namespace might be moved * @return bool */ - function isMovable( $index ) { - if ( $index < NS_MAIN || $index == NS_IMAGE || $index == NS_CATEGORY ) { - return false; - } - return true; + static function isMovable( $index ) { + return !( $index < NS_MAIN || $index == NS_IMAGE || $index == NS_CATEGORY ); + } + + /** + * Check if the given namespace is not a talk page + * @return bool + */ + static function isMain( $index ) { + return ! Namespace::isTalk( $index ); } /** * Check if the give namespace is a talk page * @return bool */ - function isTalk( $index ) { - global $wgExtraNamespaces; - return ( $index == NS_TALK || $index == NS_USER_TALK || - $index == NS_PROJECT_TALK || $index == NS_IMAGE_TALK || - $index == NS_MEDIAWIKI_TALK || $index == NS_TEMPLATE_TALK || - $index == NS_HELP_TALK || $index == NS_CATEGORY_TALK - || ( (isset($wgExtraNamespaces) && $index % 2) ) - ); - + static function isTalk( $index ) { + return ($index > NS_MAIN) // Special namespaces are negative + && ($index % 2); // Talk namespaces are odd-numbered } /** * Get the talk namespace corresponding to the given index */ - function getTalk( $index ) { + static function getTalk( $index ) { if ( Namespace::isTalk( $index ) ) { return $index; } else { @@ -89,7 +80,7 @@ class Namespace { } } - function getSubject( $index ) { + static function getSubject( $index ) { if ( Namespace::isTalk( $index ) ) { return $index - 1; } else { @@ -100,7 +91,7 @@ class Namespace { /** * Returns the canonical (English Wikipedia) name for a given index */ - function &getCanonicalName( $index ) { + static function getCanonicalName( $index ) { global $wgCanonicalNamespaceNames; return $wgCanonicalNamespaceNames[$index]; } @@ -109,7 +100,7 @@ class Namespace { * Returns the index for a given canonical name, or NULL * The input *must* be converted to lower case first */ - function &getCanonicalIndex( $name ) { + static function getCanonicalIndex( $name ) { global $wgCanonicalNamespaceNames; static $xNamespaces = false; if ( $xNamespaces === false ) { @@ -124,7 +115,37 @@ class Namespace { return NULL; } } + + /** + * Can this namespace ever have a talk namespace? + * @param $index Namespace index + */ + static function canTalk( $index ) { + return( $index >= NS_MAIN ); + } + + /** + * Does this namespace contain content, for the purposes + * of calculating statistics, etc? + * + * @param $index 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 + * @return bool + */ + public static function isWatchable( $index ) { + return $index >= NS_MAIN; + } + } -} -?> +