Trying this again. Define XML mimetypes in new global called $wgXMLMimeTypes. Used...
authorChad Horohoe <demon@users.mediawiki.org>
Wed, 2 Jul 2008 23:25:20 +0000 (23:25 +0000)
committerChad Horohoe <demon@users.mediawiki.org>
Wed, 2 Jul 2008 23:25:20 +0000 (23:25 +0000)
RELEASE-NOTES
includes/DefaultSettings.php
includes/MimeMagic.php

index a6e1dd8..23c776b 100644 (file)
@@ -64,6 +64,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   previously it was choosen based on $wgParserCacheType
 * $wgExtensionAliasesFiles option to simplify adding aliases to special pages
   provided by extensions, in a similar way to $wgExtensionMessagesFiles
+* Added $wgXMLMimeTypes, an array of XML mimetypes we can check for
+  with MimeMagic.
 
 === New features in 1.13 ===
 
index 6aae1d6..07423a4 100644 (file)
@@ -366,6 +366,18 @@ $wgMimeDetectorCommand= NULL; # use internal mime_content_type function, availab
  */
 $wgTrivialMimeDetection= false;
 
+/**
+ * Additional XML types we can allow via mime-detection.
+ * array = ( 'rootElement' => 'associatedMimeType' )
+ */
+$wgXMLMimeTypes = array(
+               'http://www.w3.org/2000/svg:svg'                        => 'image/svg+xml',
+               'svg'                                                   => 'image/svg+xml',
+               'http://www.lysator.liu.se/~alla/dia/:diagram'  => 'application/x-dia-diagram',
+               'http://www.w3.org/1999/xhtml:html'                             => 'text/html', // application/xhtml+xml?
+               'html'                                                  => 'text/html', // application/xhtml+xml?
+);
+
 /**
  * To set 'pretty' URL paths for actions other than
  * plain page views, add to this array. For instance:
index 01d33c7..ec4505a 100644 (file)
@@ -457,18 +457,10 @@ class MimeMagic {
                 */
                $xml = new XmlTypeCheck( $file );
                if( $xml->wellFormed ) {
-                       $types = array(
-                               'http://www.w3.org/2000/svg:svg'                => 'image/svg+xml',
-                               'svg'                                           => 'image/svg+xml',
-                               'http://www.lysator.liu.se/~alla/dia/:diagram'  => 'application/x-dia-diagram',
-                               'http://www.w3.org/1999/xhtml:html'             => 'text/html', // application/xhtml+xml?
-                               'html'                                          => 'text/html', // application/xhtml+xml?
-                       );
-                       if( isset( $types[$xml->rootElement] ) ) {
-                               $mime = $types[$xml->rootElement];
-                               return $mime;
+                       global $wgXMLMimeTypes;
+                       if( isset( $wgXMLMimeTypes[$xml->rootElement] ) ) {
+                               return $wgXMLMimeTypes[$xml->rootElement];
                        } else {
-                               /// Fixme -- this would be the place to allow additional XML type checks
                                return 'application/xml';
                        }
                }