* (bug 25506) Exception is thrown if OutputPage::parse is called inside a tag hook...
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 9 Jan 2011 12:46:40 +0000 (12:46 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 9 Jan 2011 12:46:40 +0000 (12:46 +0000)
RELEASE-NOTES
includes/OutputPage.php

index b4ae6c2..2595c3b 100644 (file)
@@ -68,6 +68,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * If an edit summary exceeds 250 bytes and is truncated, add an ellipse
 * (bug 26638) Database error pages display correctly in RTL languages
 * (bug 26187) Confirmrecreate no longer parses the edit summary
+* (bug 25506) Exception is thrown if OutputPage::parse is called inside a tag hook,
+  which would reset parser state
 
 === API changes in 1.18 ===
 * (bug 26339) Throw warning when truncating an overlarge API result
index fd527d2..81eefa5 100644 (file)
@@ -1187,6 +1187,13 @@ class OutputPage {
         * @return String: HTML
         */
        public function parse( $text, $linestart = true, $interface = false, $language = null ) {
+               // Check one for one common cause for parser state resetting
+               $callers = wfGetAllCallers( 10 );
+               if ( strpos( $callers, 'Parser::extensionSubstitution' ) !== false ) {
+                       throw new MWException( "wfMsg* function with parsing cannot be used " .
+                               "inside a tag hook. Should use parser->recursiveTagParse() instead" );
+               }
+
                global $wgParser;
 
                if( is_null( $this->getTitle() ) ) {