MediaWiki  REL1_19
MWNamespace Class Reference

This is a utility class with only static functions for dealing with namespaces that encodes all the "magic" behaviors of them based on index. More...

List of all members.

Static Public Member Functions

static canTalk ($index)
 Can this namespace ever have a talk namespace?
static equals ($ns1, $ns2)
 Returns whether the specified namespaces are the same namespace.
static exists ($index)
 Returns whether the specified namespace exists.
static getAssociated ($index)
 Get the associated namespace.
static getCanonicalIndex ($name)
 Returns the index for a given canonical name, or NULL The input *must* be converted to lower case first.
static getCanonicalName ($index)
 Returns the canonical (English) name for a given index.
static getCanonicalNamespaces ()
 Returns array of all defined namespaces with their canonical (English) names.
static getContentNamespaces ()
 Get a list of all namespace indices which are considered to contain content.
static getSubject ($index)
 Get the subject namespace index for a given namespace Special namespaces (NS_MEDIA, NS_SPECIAL) are always the subject.
static getTalk ($index)
 Get the talk namespace index for a given namespace.
static getValidNamespaces ()
 Returns an array of the namespaces (by integer id) that exist on the wiki.
static hasGenderDistinction ($index)
 Does the namespace (potentially) have different aliases for different genders.
static hasSubpages ($index)
 Does the namespace allow subpages?
static isCapitalized ($index)
 Is the namespace first-letter capitalized?
static isContent ($index)
 Does this namespace contain content, for the purposes of calculating statistics, etc?
static isMain ($index)
static isMovable ($index)
 Can pages in the given namespace be moved?
static isSubject ($index)
 Is the given namespace is a subject (non-talk) namespace?
static isTalk ($index)
 Is the given namespace a talk namespace?
static isWatchable ($index)
 Can pages in a namespace be watched?
static subjectEquals ($ns1, $ns2)
 Returns whether the specified namespaces share the same subject.

Static Private Member Functions

static isMethodValidFor ($index, $method)
 Throw an exception when trying to get the subject or talk page for a given namespace where it does not make sense.

Static Private Attributes

static $alwaysCapitalizedNamespaces = array( NS_SPECIAL, NS_USER, NS_MEDIAWIKI )
 These namespaces should always be first-letter capitalized, now and forevermore.

Detailed Description

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

Definition at line 18 of file Namespace.php.


Member Function Documentation

static MWNamespace::canTalk ( index) [static]

Can this namespace ever have a talk namespace?

Parameters:
$indexInt: namespace index
Returns:
bool

Definition at line 266 of file Namespace.php.

Referenced by Title\canTalk(), and ChangesFeed\generateFeed().

Here is the caller graph for this function:

static MWNamespace::equals ( ns1,
ns2 
) [static]

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.
Parameters:
$ns1int The first namespace index
$ns2int The second namespae index
Returns:
bool
Since:
1.19

Definition at line 165 of file Namespace.php.

Referenced by MWNamespaceTest\testEquals().

Here is the caller graph for this function:

static MWNamespace::exists ( index) [static]

Returns whether the specified namespace exists.

Parameters:
$index
Returns:
bool
Since:
1.19

Definition at line 146 of file Namespace.php.

References getCanonicalNamespaces().

Referenced by OutputPage\getJSVars(), Title\getNamespaceKey(), and Title\getNsText().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::getAssociated ( index) [static]

Get the associated namespace.

For talk namespaces, returns the subject (non-talk) namespace For subject (non-talk) namespaces, returns the talk namespace

Parameters:
$indexInt: namespace index
Returns:
int or null if no associated namespace could be found

Definition at line 126 of file Namespace.php.

References getSubject(), getTalk(), and isMethodValidFor().

Referenced by SpecialRecentChanges\buildMainQueryConds(), ContribsPager\getNamespaceCond(), MWNamespaceTest\testGetAssociated(), MWNamespaceTest\testGetAssociatedExceptionsForNsMedia(), and MWNamespaceTest\testGetAssociatedExceptionsForNsSpecial().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::getCanonicalIndex ( name) [static]

Returns the index for a given canonical name, or NULL The input *must* be converted to lower case first.

Parameters:
$nameString: namespace name
Returns:
int

Definition at line 226 of file Namespace.php.

Referenced by Language\getNsIndex().

Here is the caller graph for this function:

static MWNamespace::getCanonicalName ( index) [static]

Returns the canonical (English) name for a given index.

Parameters:
$indexInt: namespace index
Returns:
string or false if no canonical definition.

Definition at line 210 of file Namespace.php.

References getCanonicalNamespaces().

Referenced by MWNamespaceTest\__call(), ApiQuerySiteinfo\appendNamespaces(), SpecialListGroupRights\execute(), Linker\formatLinksInCommentCallback(), SpecialStatistics\getGroupStats(), OutputPage\getJSVars(), Title\getNamespaceKey(), Title\getNsText(), and Title\moveSubpages().

Here is the call graph for this function:

Here is the caller graph for this function:

Returns array of all defined namespaces with their canonical (English) names.

Returns:
Since:
1.17

Definition at line 191 of file Namespace.php.

References $wgCanonicalNamespaceNames, $wgExtraNamespaces, and wfRunHooks().

Referenced by NamespaceConflictChecker\checkAll(), MysqlUpdater\doPagelinksUpdate(), exists(), getCanonicalName(), ResourceLoaderStartUpModule\getConfig(), and Language\getNamespaces().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::getSubject ( index) [static]

Get the subject namespace index for a given namespace Special namespaces (NS_MEDIA, NS_SPECIAL) are always the subject.

Parameters:
$indexInt: Namespace index
Returns:
int

Definition at line 107 of file Namespace.php.

References isTalk().

Referenced by WatchedItem\addWatch(), getAssociated(), Title\getNamespaceKey(), Title\getSubjectNsText(), Title\getSubjectPage(), ApiQueryInfo\getTSIDs(), isCapitalized(), SpecialSearch\powerSearchBox(), WatchedItem\removeWatch(), subjectEquals(), SkinTemplate\tabAction(), and MWNamespaceTest\testGetSubject().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::getTalk ( index) [static]

Get the talk namespace index for a given namespace.

Parameters:
$indexInt: namespace index
Returns:
int

Definition at line 93 of file Namespace.php.

References isMethodValidFor(), and isTalk().

Referenced by WatchedItem\addWatch(), getAssociated(), Title\getTalkNsText(), Title\getTalkPage(), ApiQueryInfo\getTSIDs(), WatchedItem\removeWatch(), MWNamespaceTest\testGetTalk(), MWNamespaceTest\testGetTalkExceptionsForNsMedia(), and MWNamespaceTest\testGetTalkExceptionsForNsSpecial().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::getValidNamespaces ( ) [static]

Returns an array of the namespaces (by integer id) that exist on the wiki.

Used primarily by the api in help documentation.

Returns:
array

Definition at line 246 of file Namespace.php.

Referenced by ApiBase\makeHelpMsgParameters().

Here is the caller graph for this function:

static MWNamespace::hasGenderDistinction ( index) [static]

Does the namespace (potentially) have different aliases for different genders.

Not all languages make a distinction here.

Since:
1.18
Parameters:
$indexint Index to check
Returns:
bool

Definition at line 352 of file Namespace.php.

Referenced by GenderCache\doLinkBatch(), Title\getNsText(), and MWNamespaceTest\testHasGenderDistinction().

Here is the caller graph for this function:

static MWNamespace::hasSubpages ( index) [static]
static MWNamespace::isCapitalized ( index) [static]

Is the namespace first-letter capitalized?

Parameters:
$indexint Index to check
Returns:
bool

Definition at line 324 of file Namespace.php.

References $wgCapitalLinkOverrides, $wgCapitalLinks, and getSubject().

Referenced by FileRepo\__construct(), UploadForm\addUploadJS(), ApiQuerySiteinfo\appendNamespaces(), Title\capitalize(), ResourceLoaderStartUpModule\getConfig(), FileRepo\getNameFromTitle(), XmlDumpWriter\namespaces(), and MWNamespaceTest\testIsCapitalizedHardcodedAssertions().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::isContent ( index) [static]

Does this namespace contain content, for the purposes of calculating statistics, etc?

Parameters:
$indexInt: index to check
Returns:
bool

Definition at line 277 of file Namespace.php.

References $wgContentNamespaces.

Referenced by ApiQuerySiteinfo\appendNamespaces(), and Title\isContentPage().

Here is the caller graph for this function:

static MWNamespace::isMain ( index) [static]
See also:
self::isSubject
Deprecated:
Please use the more consistently named isSubject (since 1.19)

Definition at line 71 of file Namespace.php.

References isSubject(), and wfDeprecated().

Referenced by GenerateSitemap\guessPriority(), and MWNamespaceTest\testIsSubject().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::isMethodValidFor ( index,
method 
) [static, private]

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/Defines.php and have a value below 0 (ex: NS_SPECIAL = -1 , NS_MEDIA = -2)

Parameters:
$index
$method
Returns:
true

Definition at line 38 of file Namespace.php.

Referenced by getAssociated(), and getTalk().

Here is the caller graph for this function:

static MWNamespace::isMovable ( index) [static]

Can pages in the given namespace be moved?

Parameters:
$indexInt: namespace index
Returns:
bool

Definition at line 51 of file Namespace.php.

References $wgAllowImageMoving.

Referenced by Title\checkActionPermissions(), Title\isMovable(), and MWNamespaceTest\testIsMovable().

Here is the caller graph for this function:

static MWNamespace::isSubject ( index) [static]

Is the given namespace is a subject (non-talk) namespace?

Parameters:
$indexInt: namespace index
Returns:
bool
Since:
1.19

Definition at line 63 of file Namespace.php.

References isTalk().

Referenced by isMain(), and MWNamespaceTest\testIsSubject().

Here is the call graph for this function:

Here is the caller graph for this function:

static MWNamespace::isTalk ( index) [static]

Is the given namespace a talk namespace?

Parameters:
$indexInt: namespace index
Returns:
bool

Definition at line 82 of file Namespace.php.

Referenced by getSubject(), getTalk(), ApiQueryInfo\getTSIDs(), SpecialEditWatchlist\getWatchlistInfo(), isSubject(), Title\isTalkPage(), and DumpNotalkFilter\pass().

Here is the caller graph for this function:

static MWNamespace::isWatchable ( index) [static]

Can pages in a namespace be watched?

Parameters:
$indexInt
Returns:
bool

Definition at line 288 of file Namespace.php.

static MWNamespace::subjectEquals ( ns1,
ns2 
) [static]

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.

Parameters:
$ns1int The first namespace index
$ns2int The second namespae index
Returns:
bool
Since:
1.19

Definition at line 180 of file Namespace.php.

References getSubject().

Referenced by MWNamespaceTest\assertDifferentSubject(), MWNamespaceTest\assertSameSubject(), and Title\hasSubjectNamespace().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

MWNamespace::$alwaysCapitalizedNamespaces = array( NS_SPECIAL, NS_USER, NS_MEDIAWIKI ) [static, private]

These namespaces should always be first-letter capitalized, now and forevermore.

Historically, they could've probably been lowercased too, but some things are just too ingrained now. :)

Definition at line 25 of file Namespace.php.


The documentation for this class was generated from the following file: