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.
This commit is contained in:
Roeland Jago Douma 2015-07-08 15:49:53 +02:00
parent 35fba1ef9f
commit 895d29adf1
2 changed files with 12 additions and 2 deletions

View File

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

View File

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