From: Craig Andrews <candrews@integralblue.com>
Date: Wed, 5 Aug 2009 22:55:47 +0000 (-0400)
Subject: Don't start HTML responses with <?xml if the document is served as text/html.
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=b975a6a0e5a5a7332eea4834494029c5c1238540;p=quix0rs-gnu-social.git

Don't start HTML responses with <?xml if the document is served as text/html.

Starting a text/html mime type document with <?xml causes some browsers (previous version of Opera and IE) to switch to Quirks Mode.
---

diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php
index cba8a5f5e0..8f3b1a609c 100644
--- a/lib/htmloutputter.php
+++ b/lib/htmloutputter.php
@@ -109,8 +109,13 @@ class HTMLOutputter extends XMLOutputter
         header('Content-Type: '.$type);
 
         $this->extraHeaders();
-
-        $this->startXML('html');
+        if( ! substr($type,0,strlen('text/html'))=='text/html' ){
+            // Browsers don't like it when <?xml it output for non-xhtml documents
+            $this->xw->startDocument('1.0', 'UTF-8');
+        }
+        if ($doc) {
+            $this->xw->writeDTD('html', $public, $system);
+        }
 
         $language = $this->getLanguage();