From a0ff21a2326e415bb1c0147ba2d96179d4036ca2 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Thu, 12 Jan 2012 18:26:13 +0100 Subject: [PATCH] added a file to fix wrong recognised mime-types --- lib/filestorage/local.php | 9 ++++++++- lib/mimetypes.fixlist.php | 12 ++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lib/mimetypes.fixlist.php diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index cfc2715978..1261bd3aa8 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -132,6 +132,13 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function getMimeType($fspath){ if($this->is_readable($fspath)){ $mimeType='application/octet-stream'; + if ($mimeType=='application/octet-stream') { + self::$mimetypes = include('mimetypes.fixlist.php'); + $extention=strtolower(strrchr(basename($fspath), ".")); + $extention=substr($extention,1);//remove leading . + $mimeType=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream'; + + } if (@is_dir($this->datadir.$fspath)) { // directories are easy return "httpd/unix-directory"; @@ -158,7 +165,7 @@ class OC_Filestorage_Local extends OC_Filestorage{ } if ($mimeType=='application/octet-stream') { // Fallback solution: (try to guess the type by the file extension - if(!self::$mimetypes){ + if(!self::$mimetypes || self::$mimetypes == include('mimetypes.list.php')){ self::$mimetypes=include('mimetypes.list.php'); } $extention=strtolower(strrchr(basename($fspath), ".")); diff --git a/lib/mimetypes.fixlist.php b/lib/mimetypes.fixlist.php new file mode 100644 index 0000000000..f2d86d0db1 --- /dev/null +++ b/lib/mimetypes.fixlist.php @@ -0,0 +1,12 @@ +'text/calendar', + 'ical'=>'text/calendar', + 'js'=>'application/javascript', + 'odt'=>'application/vnd.oasis.opendocument.text', + 'ods'=>'application/vnd.oasis.opendocument.spreadsheet', + 'odg'=>'application/vnd.oasis.opendocument.graphics', + 'odp'=>'application/vnd.oasis.opendocument.presentation', + 'pl'=>'text/x-script.perl', + 'py'=>'text/x-script.phyton', +);