Author: david
Description:
From http://www.mediawiki.org/wiki/Extension:Glossary#Multiple_HTML_tags_in_output
NOTE that the proposed solution below is a little bit ugly... there is probably a better way of doing the same thing
The Glossary plugin will create multiple <html> tags within the same output page which is invalid and causes undefined browser rendering behaviour. This has been reproduced with MediaWiki 1.15.0 and is caused by ParserBeforeTidy only parsing the user content of the page (rather than the entire HTML output that is sent to the client). To resolve this problem, open up Glossary.php and find:
if (glossaryParseThisNode($doc, $doc->documentElement, $term)) {
And replace it with:
$body_element = $doc->getElementsByTagName('body')->item(0); if (glossaryParseThisNode($doc, $body_element, $term)) {
Then a few lines down, find:
$doc->documentElement->appendChild($span);
And replace with:
$body_element->appendChild($span);
Finally, find:
$text = $doc->saveHTML();
And insert the following immediately below:
$text = substr($text, strpos($text, '<body>'), -16);
Version: unspecified
Severity: critical