Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/237973
Change subject: registration: Fix namespaces added through the
ExtensionProcessor
......................................................................
registration: Fix namespaces added through the ExtensionProcessor
Using $wgExtraNamespaces overrides any localized namespaces with the
canonical form, which is not ideal.
Namespaces added through extension.json will now store the canonical
form and numerical id in a 'ExtensionNamespaces' attribute that is read
by MWNamespace::getCanonicalNamespaces().
Also fix the documentation on $wgExtraNamespaces, as using
$wgCanonicalNamespaceNames has not been possible since r85327.
Bug: T110389
Change-Id: I5bd9a7258f59d8c4a7ad0543d2115960fbea9b3a
---
M includes/DefaultSettings.php
M includes/MWNamespace.php
M includes/registration/ExtensionProcessor.php
3 files changed, 5 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/73/237973/1
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 75ed529..ff32ccf 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -3636,8 +3636,8 @@
* Additional namespaces. If the namespaces defined in Language.php and
* Namespace.php are insufficient, you can create new ones here, for example,
* to import Help files in other languages. You can also override the namespace
- * names of existing namespaces. Extensions developers should use
- * $wgCanonicalNamespaceNames.
+ * names of existing namespaces. Extensions should use the CanonicalNamespaces
+ * hook or extension.json.
*
* @warning Once you delete a namespace, the pages in that namespace will
* no longer be accessible. If you rename it, then you can access them through
diff --git a/includes/MWNamespace.php b/includes/MWNamespace.php
index bd68551..e370bf1 100644
--- a/includes/MWNamespace.php
+++ b/includes/MWNamespace.php
@@ -210,6 +210,8 @@
if ( $namespaces === null || $rebuild ) {
global $wgExtraNamespaces, $wgCanonicalNamespaceNames;
$namespaces = array( NS_MAIN => '' ) +
$wgCanonicalNamespaceNames;
+ // Add extension namespaces
+ $namespaces +=
ExtensionRegistry::getInstance()->getAttribute( 'ExtensionNamespaces' );
if ( is_array( $wgExtraNamespaces ) ) {
$namespaces += $wgExtraNamespaces;
}
diff --git a/includes/registration/ExtensionProcessor.php
b/includes/registration/ExtensionProcessor.php
index 3564c71..093ffbc 100644
--- a/includes/registration/ExtensionProcessor.php
+++ b/includes/registration/ExtensionProcessor.php
@@ -210,7 +210,7 @@
foreach ( $info['namespaces'] as $ns ) {
$id = $ns['id'];
$this->defines[$ns['constant']] = $id;
- $this->globals['wgExtraNamespaces'][$id] =
$ns['name'];
+ $this->attributes['ExtensionNamespaces'][$id] =
$ns['name'];
if ( isset( $ns['gender'] ) ) {
$this->globals['wgExtraGenderNamespaces'][$id] = $ns['gender'];
}
--
To view, visit https://gerrit.wikimedia.org/r/237973
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5bd9a7258f59d8c4a7ad0543d2115960fbea9b3a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: REL1_25
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits