Parse duplicate-defaultsort error message
[lhc/web/wiklou.git] / includes / parser / CoreParserFunctions.php
index 375ff2b..41cbd08 100644 (file)
@@ -824,7 +824,9 @@ class CoreParserFunctions {
                        $title = SpecialPage::getTitleFor( $page, $subpage );
                        return $title->getPrefixedText();
                } else {
-                       return wfMessage( 'nosuchspecialpage' )->inContentLanguage()->text();
+                       // unknown special page, just use the given text as its title, if at all possible
+                       $title = Title::makeTitleSafe( NS_SPECIAL, $text );
+                       return $title ? $title->getPrefixedText() : self::special( $parser, 'Badtitle' );
                }
        }
 
@@ -860,7 +862,10 @@ class CoreParserFunctions {
                        return '';
                } else {
                        return '<span class="error">' .
-                               wfMessage( 'duplicate-defaultsort', $old, $text )->inContentLanguage()->escaped() .
+                               wfMessage( 'duplicate-defaultsort',
+                                       wfEscapeWikiText( $old ), // Message should be parsed, but these params should only be escaped.
+                                       wfEscapeWikiText( $text )
+                               )->inContentLanguage()->text() .
                                '</span>';
                }
        }