aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2015-07-08 15:49:53 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2015-07-08 17:16:12 +0200
commit895d29adf18fcf6a334839aead46bdb4bd9dbbec (patch)
treec6ce62e526bf130b5b53806daa63b941cb4de72d
parent35fba1ef9f562a10a6b796e47024305218043bfc (diff)
downloadnextcloud-server-895d29adf18fcf6a334839aead46bdb4bd9dbbec.tar.gz
nextcloud-server-895d29adf18fcf6a334839aead46bdb4bd9dbbec.zip
Move mimetypemapping.json to mimetypemapping.dist.json
This allows users to create their own mapping file to extend our current mappings. This makes sure that custom mappings are not lost on OC upgrades.
-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);