Use injected services instead of static method
authorAryeh Gregor <ayg@aryeh.name>
Wed, 14 Aug 2019 18:23:38 +0000 (21:23 +0300)
committerAryeh Gregor <ayg@aryeh.name>
Thu, 15 Aug 2019 08:18:56 +0000 (11:18 +0300)
Depends-On: I4b915244ceee4c1857178dd68dcdf57f1ee32200
Change-Id: I053894de3665c6f8f505ee6191f2ade843db62c0

includes/title/MediaWikiTitleCodec.php

index 5021a1c..039cf4e 100644 (file)
@@ -62,7 +62,8 @@ class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
        protected $nsInfo;
 
        /**
-        * @param Language $language The language object to use for localizing namespace names.
+        * @param Language $language The language object to use for localizing namespace names,
+        *   capitalization, etc.
         * @param GenderCache $genderCache The gender cache for generating gendered namespace names
         * @param string[]|string $localInterwikis
         * @param InterwikiLookup|null $interwikiLookup
@@ -433,8 +434,8 @@ class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
                # and [[Foo]] point to the same place.  Don't force it for interwikis, since the
                # other site might be case-sensitive.
                $parts['user_case_dbkey'] = $dbkey;
-               if ( $parts['interwiki'] === '' ) {
-                       $dbkey = Title::capitalize( $dbkey, $parts['namespace'] );
+               if ( $parts['interwiki'] === '' && $this->nsInfo->isCapitalized( $parts['namespace'] ) ) {
+                       $dbkey = $this->language->ucfirst( $dbkey );
                }
 
                # Can't make a link to a namespace alone... "empty" local links can only be