Message: Fix error on getTitle() without language
authorFomafix <fomafix@googlemail.com>
Fri, 17 Aug 2018 16:06:47 +0000 (18:06 +0200)
committerFomafix <fomafix@googlemail.com>
Fri, 17 Aug 2018 16:09:44 +0000 (18:09 +0200)
Steps to reproduce:

Old:
> $msg = new Message( 'brackets' )
> print $msg->getTitle()
Error from line 478 of /.../includes/Message.php: Call to a member function equals() on boolean

New:
> $msg = new Message( 'brackets' )
> print $msg->getTitle()
MediaWiki:Brackets

This got broken in 796d62d0.

Change-Id: I52cde36787e348378c4df18d90aa577a5600e06b

includes/Message.php

index e2fe254..3bd7755 100644 (file)
@@ -473,13 +473,13 @@ class Message implements MessageSpecifier, Serializable {
                global $wgForceUIMsgAsContentMsg;
 
                $contLang = MediaWikiServices::getInstance()->getContentLanguage();
+               $lang = $this->getLanguage();
                $title = $this->key;
                if (
-                       !$this->language->equals( $contLang )
+                       !$lang->equals( $contLang )
                        && in_array( $this->key, (array)$wgForceUIMsgAsContentMsg )
                ) {
-                       $code = $this->language->getCode();
-                       $title .= '/' . $code;
+                       $title .= '/' . $lang->getCode();
                }
 
                return Title::makeTitle(