namespace.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 130 行

PHP
130
字号
<?php/** * Provide things related to namespaces * @package MediaWiki *//** * Definitions of the NS_ constants are in Defines.php * @private */$wgCanonicalNamespaceNames = array(	NS_MEDIA            => 'Media',	NS_SPECIAL          => 'Special',	NS_TALK	            => 'Talk',	NS_USER             => 'User',	NS_USER_TALK        => 'User_talk',	NS_PROJECT          => 'Project',	NS_PROJECT_TALK     => 'Project_talk',	NS_IMAGE            => 'Image',	NS_IMAGE_TALK       => 'Image_talk',	NS_MEDIAWIKI        => 'MediaWiki',	NS_MEDIAWIKI_TALK   => 'MediaWiki_talk',	NS_TEMPLATE         => 'Template',	NS_TEMPLATE_TALK    => 'Template_talk',	NS_HELP             => 'Help',	NS_HELP_TALK        => 'Help_talk',	NS_CATEGORY	        => 'Category',	NS_CATEGORY_TALK    => 'Category_talk',);if( is_array( $wgExtraNamespaces ) ) {	$wgCanonicalNamespaceNames = $wgCanonicalNamespaceNames + $wgExtraNamespaces;}/** * This is a utility class with only static functions * for dealing with namespaces that encodes all the * "magic" behaviors of them based on index.  The textual * names of the namespaces are handled by Language.php. * * These are synonyms for the names given in the language file * Users and translators should not change them * * @package MediaWiki */class Namespace {	/**	 * Check if the given namespace might be moved	 * @return bool	 */	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	 */	function isMain( $index ) {		return ! Namespace::isTalk( $index );	}	/**	 * Check if the give namespace is a talk page	 * @return bool	 */	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 ) {		if ( Namespace::isTalk( $index ) ) {			return $index;		} else {			# FIXME			return $index + 1;		}	}	function getSubject( $index ) {		if ( Namespace::isTalk( $index ) ) {			return $index - 1;		} else {			return $index;		}	}	/**	 * Returns the canonical (English Wikipedia) name for a given index	 */	function getCanonicalName( $index ) {		global $wgCanonicalNamespaceNames;		return $wgCanonicalNamespaceNames[$index];	}	/**	 * Returns the index for a given canonical name, or NULL	 * The input *must* be converted to lower case first	 */	function getCanonicalIndex( $name ) {		global $wgCanonicalNamespaceNames;		static $xNamespaces = false;		if ( $xNamespaces === false ) {			$xNamespaces = array();			foreach ( $wgCanonicalNamespaceNames as $i => $text ) {				$xNamespaces[strtolower($text)] = $i;			}		}		if ( array_key_exists( $name, $xNamespaces ) ) {			return $xNamespaces[$name];		} else {			return NULL;		}	}		/**	 * Can this namespace ever have a talk namespace?	 * @param $index Namespace index	 */	 function canTalk( $index ) {	 	return( $index >= NS_MAIN );	 }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?