summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/mimetypemapping.dist.json (renamed from config/mimetypemapping.json)3
-rw-r--r--lib/private/helper.php11
2 files changed, 12 insertions, 2 deletions
diff --git a/config/mimetypemapping.json b/config/mimetypemapping.dist.json
index 49f3d8c9a1f..48ec4a56dab 100644
--- a/config/mimetypemapping.json
+++ b/config/mimetypemapping.dist.json
@@ -3,6 +3,9 @@
"_comment2": "The first index in the mime type array is the assumed correct mimetype",
"_comment3": "and the second (if present] is a secure alternative",
+ "_comment4": "Any changes you make here will be overwritten on an update of ownCloud",
+ "_comment5": "Put any custom mappings in a new file mimetypemapping.json in this directory",
+
"3gp": ["video/3gpp"],
"7z": ["application/x-7z-compressed"],
diff --git a/lib/private/helper.php b/lib/private/helper.php
index abe1e42ecb0..09b319e90c8 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -424,8 +424,15 @@ class OC_Helper {
*/
static public function getMimetypeDetector() {
if (!self::$mimetypeDetector) {
- $file = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.json');
- $mimetypemapping = get_object_vars(json_decode($file));
+ $dist = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.dist.json');
+ $mimetypemapping = get_object_vars(json_decode($dist));
+
+ //Check if need to load custom mappings
+ if (file_exists(OC::$SERVERROOT . '/config/mimetypemapping.json')) {
+ $custom = file_get_contents(OC::$SERVERROOT . '/config/mimetypemapping.json');
+ $custom_mapping = get_object_vars(json_decode($custom));
+ $mimetypemapping = array_merge($mimetypemapping, $custom_mapping);
+ }
self::$mimetypeDetector = new \OC\Files\Type\Detection();
self::$mimetypeDetector->registerTypeArray($mimetypemapping);