|
MediaWiki master
|
This is a utility class for dealing with namespaces that encodes all the "magic" behaviors of them based on index. More...
Public Member Functions | |
| __construct (private readonly ServiceOptions $options, HookContainer $hookContainer, private readonly array $extensionNamespaces, private readonly array $immovableNamespaces) | |
| canHaveTalkPage (LinkTarget $target) | |
| Can the title have a corresponding talk page? | |
| equals ( $ns1, $ns2) | |
| Returns whether the specified namespaces are the same namespace. | |
| exists ( $index) | |
| Returns whether the specified namespace exists. | |
| getAssociated ( $index) | |
| Get the associated namespace. | |
| getAssociatedPage (LinkTarget $target) | |
| getCanonicalIndex (string $name) | |
| Returns the index for a given canonical name, or NULL The input must be converted to lower case first. | |
| getCanonicalName ( $index) | |
| Returns the canonical (English) name for a given index. | |
| getCanonicalNamespaces () | |
| Returns array of all defined namespaces with their canonical (English) names. | |
| getCategoryLinkType ( $index) | |
| Returns the link type to be used for categories. | |
| getContentNamespaces () | |
| Get a list of all namespace indices which are considered to contain content. | |
| getNamespaceContentModel ( $index) | |
| Get the default content model for a namespace This does not mean that all pages in that namespace have the model. | |
| getSubject ( $index) | |
| Get the subject namespace index for a given namespace Special namespaces (NS_MEDIA, NS_SPECIAL) are always the subject. | |
| getSubjectNamespaces () | |
| List all namespace indices which are considered subject, aka not a talk or special namespace. | |
| getSubjectPage (LinkTarget $target) | |
| getTalk ( $index) | |
| Get the talk namespace index for a given namespace. | |
| getTalkNamespaces () | |
| List all namespace indices which are considered talks, aka not a subject or special namespace. | |
| getTalkPage (LinkTarget $target) | |
| Get a LinkTarget referring to the talk page of $target. | |
| getValidNamespaces () | |
| Returns an array of the namespaces (by integer id) that exist on the wiki. | |
| hasGenderDistinction ( $index) | |
| Does the namespace (potentially) have different aliases for different genders. | |
| hasSubpages ( $index) | |
| Does the namespace allow subpages? Note that this refers to structured handling of subpages, and does not include SpecialPage subpage parameters. | |
| hasTalkNamespace ( $index) | |
| Does this namespace ever have a talk namespace? | |
| isCapitalized ( $index) | |
| Is the namespace first-letter capitalized? | |
| isContent ( $index) | |
| Does this namespace contain content, for the purposes of calculating statistics, etc? | |
| isMovable ( $index) | |
| Can pages in the given namespace be moved? | |
| isNonincludable ( $index) | |
| It is not possible to use pages from this namespace as template? | |
| isSubject ( $index) | |
| Is the given namespace is a subject (non-talk) namespace? | |
| isTalk ( $index) | |
| Is the given namespace a talk namespace? | |
| isWatchable ( $index) | |
| Can pages in a namespace be watched? | |
| subjectEquals ( $ns1, $ns2) | |
| Returns whether the specified namespaces share the same subject. | |
| wantSignatures ( $index) | |
| Might pages in this namespace require the use of the Signature button on the edit toolbar? | |
Static Public Member Functions | |
| static | getCommonNamespaces () |
| Retrieve the indexes for the namespaces defined by core. | |
Public Attributes | |
| const | CANONICAL_NAMES |
| Definitions of the NS_ constants are in Defines.php. | |
| const | CONSTRUCTOR_OPTIONS |
This is a utility class 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.
Definition at line 25 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::__construct | ( | private readonly ServiceOptions | $options, |
| HookContainer | $hookContainer, | ||
| private readonly array | $extensionNamespaces, | ||
| private readonly array | $immovableNamespaces ) |
| ServiceOptions | $options | |
| HookContainer | $hookContainer | |
| array<int,string> | $extensionNamespaces From other extension's "ExtensionNamespaces" attributes | |
| int[] | $immovableNamespaces | From other extension's "ImmovableNamespaces" attributes |
Definition at line 93 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::canHaveTalkPage | ( | LinkTarget | $target | ) |
Can the title have a corresponding talk page?
False for relative section-only links (with getText() === ''), interwiki links (with getInterwiki() !== ''), and pages in NS_SPECIAL.
Definition at line 237 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::equals | ( | $ns1, | |
| $ns2 ) |
Returns whether the specified namespaces are the same namespace.
| int | $ns1 | The first namespace index |
| int | $ns2 | The second namespace index |
Definition at line 330 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::exists | ( | $index | ) |
Returns whether the specified namespace exists.
| int | $index |
Definition at line 314 of file NamespaceInfo.php.
Referenced by MediaWiki\Title\NamespaceImportTitleFactory\__construct().
| MediaWiki\Title\NamespaceInfo::getAssociated | ( | $index | ) |
Get the associated namespace.
For talk namespaces, returns the subject (non-talk) namespace For subject (non-talk) namespaces, returns the talk namespace
| int | $index | Namespace index |
| MWException | if called on a namespace that has no talk pages (e.g., NS_SPECIAL) |
Definition at line 281 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getAssociatedPage | ( | LinkTarget | $target | ) |
| LinkTarget | $target |
| MWException | if $target's namespace doesn't have talk pages (e.g., NS_SPECIAL) |
Definition at line 296 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getCanonicalIndex | ( | string | $name | ) |
Returns the index for a given canonical name, or NULL The input must be converted to lower case first.
| string | $name | Namespace name |
Definition at line 382 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getCanonicalName | ( | $index | ) |
Returns the canonical (English) name for a given index.
| int | $index | Namespace index |
Definition at line 371 of file NamespaceInfo.php.
Referenced by MediaWiki\Logging\LogEventsList\getBlockLogWarningBox().
| MediaWiki\Title\NamespaceInfo::getCanonicalNamespaces | ( | ) |
Returns array of all defined namespaces with their canonical (English) names.
Definition at line 352 of file NamespaceInfo.php.
References NS_MAIN.
| MediaWiki\Title\NamespaceInfo::getCategoryLinkType | ( | $index | ) |
Returns the link type to be used for categories.
This determines which section of a category page titles in the namespace will appear within.
| int | $index | Namespace index |
Definition at line 572 of file NamespaceInfo.php.
References NS_CATEGORY, and NS_FILE.
|
static |
Retrieve the indexes for the namespaces defined by core.
Definition at line 589 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getContentNamespaces | ( | ) |
Get a list of all namespace indices which are considered to contain content.
Definition at line 467 of file NamespaceInfo.php.
References NS_MAIN.
Referenced by MediaWiki\Specials\SpecialRandomPage\__construct().
| MediaWiki\Title\NamespaceInfo::getNamespaceContentModel | ( | $index | ) |
Get the default content model for a namespace This does not mean that all pages in that namespace have the model.
| int | $index | Index to check |
Definition at line 559 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getSubject | ( | $index | ) |
Get the subject namespace index for a given namespace Special namespaces (NS_MEDIA, NS_SPECIAL) are always the subject.
| int | $index | Namespace index |
Definition at line 249 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getSubjectNamespaces | ( | ) |
List all namespace indices which are considered subject, aka not a talk or special namespace.
See also NamespaceInfo::isSubject
Definition at line 484 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getSubjectPage | ( | LinkTarget | $target | ) |
| LinkTarget | $target |
Definition at line 266 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getTalk | ( | $index | ) |
Get the talk namespace index for a given namespace.
| int | $index | Namespace index |
| MWException | if the given namespace doesn't have an associated talk namespace (e.g. NS_SPECIAL). |
Definition at line 192 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getTalkNamespaces | ( | ) |
List all namespace indices which are considered talks, aka not a subject or special namespace.
See also NamespaceInfo::isTalk
Definition at line 497 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getTalkPage | ( | LinkTarget | $target | ) |
Get a LinkTarget referring to the talk page of $target.
| LinkTarget | $target |
| MWException | if $target doesn't have talk pages, e.g. because it's in NS_SPECIAL, because it's a relative section-only link, or it's an interwiki link. |
Definition at line 210 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::getValidNamespaces | ( | ) |
Returns an array of the namespaces (by integer id) that exist on the wiki.
Used primarily by the API in help documentation. The array is sorted numerically and omits negative namespaces.
Definition at line 397 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::hasGenderDistinction | ( | $index | ) |
Does the namespace (potentially) have different aliases for different genders.
Not all languages make a distinction here.
| int | $index | Index to check |
Definition at line 535 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::hasSubpages | ( | $index | ) |
Does the namespace allow subpages? Note that this refers to structured handling of subpages, and does not include SpecialPage subpage parameters.
| int | $index | Index to check |
Definition at line 459 of file NamespaceInfo.php.
Referenced by MediaWiki\Title\SubpageImportTitleFactory\__construct().
| MediaWiki\Title\NamespaceInfo::hasTalkNamespace | ( | $index | ) |
Does this namespace ever have a talk namespace?
| int | $index | Namespace ID |
Definition at line 418 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isCapitalized | ( | $index | ) |
Is the namespace first-letter capitalized?
| int | $index | Index to check |
Definition at line 509 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isContent | ( | $index | ) |
Does this namespace contain content, for the purposes of calculating statistics, etc?
| int | $index | Index to check |
Definition at line 428 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isMovable | ( | $index | ) |
Can pages in the given namespace be moved?
| int | $index | Namespace index |
Definition at line 148 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isNonincludable | ( | $index | ) |
It is not possible to use pages from this namespace as template?
| int | $index | Index to check |
Definition at line 544 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isSubject | ( | $index | ) |
Is the given namespace is a subject (non-talk) namespace?
| int | $index | Namespace index |
Definition at line 169 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isTalk | ( | $index | ) |
Is the given namespace a talk namespace?
| int | $index | Namespace index |
Definition at line 178 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::isWatchable | ( | $index | ) |
Can pages in a namespace be watched?
| int | $index |
Definition at line 449 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::subjectEquals | ( | $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.
| int | $ns1 | The first namespace index |
| int | $ns2 | The second namespace index |
Definition at line 342 of file NamespaceInfo.php.
| MediaWiki\Title\NamespaceInfo::wantSignatures | ( | $index | ) |
Might pages in this namespace require the use of the Signature button on the edit toolbar?
| int | $index | Index to check |
Definition at line 439 of file NamespaceInfo.php.
| const MediaWiki\Title\NamespaceInfo::CANONICAL_NAMES |
Definitions of the NS_ constants are in Defines.php.
Definition at line 50 of file NamespaceInfo.php.
| const MediaWiki\Title\NamespaceInfo::CONSTRUCTOR_OPTIONS |
Definition at line 74 of file NamespaceInfo.php.