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.
remotes/origin/handlebars-approach
Roeland Jago Douma 10 years ago
parent 35fba1ef9f
commit 895d29adf1
  1. 3
      config/mimetypemapping.dist.json
  2. 11
      lib/private/helper.php

@ -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"],

@ -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);

Loading…
Cancel
Save