From c5f76785ba143a569726fb4f6e9a9c7bafd50f1c Mon Sep 17 00:00:00 2001 From: Rello Date: Thu, 31 Aug 2017 17:48:49 +0200 Subject: [PATCH 1/2] Mapping of m3u, m3u8, pls to audio streams Signed-Off-By: Rello --- lib/private/Repair/RepairMimeTypes.php | 14 ++++++++++++++ resources/config/mimetypemapping.dist.json | 3 +++ 2 files changed, 17 insertions(+) diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php index 74d81be983..e77c7a2681 100644 --- a/lib/private/Repair/RepairMimeTypes.php +++ b/lib/private/Repair/RepairMimeTypes.php @@ -149,6 +149,16 @@ class RepairMimeTypes implements IRepairStep { $this->updateMimetypes($updatedMimetypes); } + private function introduceStreamingTypes() { + $updatedMimetypes = [ + 'm3u' => 'audio/mpegurl', + 'm3u8' => 'audio/mpegurl', + 'pls' => 'audio/x-scpls' + ]; + + $this->updateMimetypes($updatedMimetypes); + } + /** * Fix mime types */ @@ -174,5 +184,9 @@ class RepairMimeTypes implements IRepairStep { if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.3', '<') && $this->introduceInternetShortcutTypes()) { $out->info('Fixed internet-shortcut mime types'); } + + if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.6', '<') && $this->introduceStreamingTypes()) { + $out->info('Fixed streaming mime types'); + } } } diff --git a/resources/config/mimetypemapping.dist.json b/resources/config/mimetypemapping.dist.json index 06e4d30b9e..ef3de4d75d 100644 --- a/resources/config/mimetypemapping.dist.json +++ b/resources/config/mimetypemapping.dist.json @@ -88,6 +88,8 @@ "ldif": ["text/x-ldif"], "lwp": ["application/vnd.lotus-wordpro"], "m2t": ["video/mp2t"], + "m3u": ["audio/mpegurl"], + "m3u8": ["audio/mpegurl"], "m4a": ["audio/mp4"], "m4b": ["audio/m4b"], "m4v": ["video/mp4"], @@ -129,6 +131,7 @@ "pef": ["image/x-dcraw"], "php": ["application/x-php"], "pl": ["application/x-perl"], + "pls": ["audio/x-scpls"], "png": ["image/png"], "pot": ["application/vnd.ms-powerpoint"], "potm": ["application/vnd.ms-powerpoint.template.macroEnabled.12"], From ba6e5bcc051e825c9048a5bd1f2680d1c04661de Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 31 Oct 2017 14:04:14 +0100 Subject: [PATCH 2/2] Add the return which is being used Signed-off-by: Joas Schilling --- lib/private/Repair/RepairMimeTypes.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php index e77c7a2681..8caadfa3a6 100644 --- a/lib/private/Repair/RepairMimeTypes.php +++ b/lib/private/Repair/RepairMimeTypes.php @@ -92,6 +92,7 @@ class RepairMimeTypes implements IRepairStep { $this->folderMimeTypeId = (int)$result->fetchOne(); } + $count = 0; foreach ($updatedMimetypes as $extension => $mimetype) { $result = \OC_DB::executeAudited(self::existsStmt(), array($mimetype)); $exists = $result->fetchOne(); @@ -106,8 +107,10 @@ class RepairMimeTypes implements IRepairStep { $mimetypeId = $result->fetchOne(); // change mimetype for files with x extension - \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetypeId, $this->folderMimeTypeId, $mimetypeId, '%.' . $extension)); + $count += \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetypeId, $this->folderMimeTypeId, $mimetypeId, '%.' . $extension)); } + + return $count; } private function introduceImageTypes() { @@ -116,7 +119,7 @@ class RepairMimeTypes implements IRepairStep { 'webp' => 'image/webp', ); - $this->updateMimetypes($updatedMimetypes); + return $this->updateMimetypes($updatedMimetypes); } private function introduceWindowsProgramTypes() { @@ -126,7 +129,7 @@ class RepairMimeTypes implements IRepairStep { 'cmd' => 'application/cmd', ); - $this->updateMimetypes($updatedMimetypes); + return $this->updateMimetypes($updatedMimetypes); } private function introduceLocationTypes() { @@ -137,7 +140,7 @@ class RepairMimeTypes implements IRepairStep { 'tcx' => 'application/vnd.garmin.tcx+xml', ]; - $this->updateMimetypes($updatedMimetypes); + return $this->updateMimetypes($updatedMimetypes); } private function introduceInternetShortcutTypes() { @@ -146,7 +149,7 @@ class RepairMimeTypes implements IRepairStep { 'webloc' => 'application/internet-shortcut' ]; - $this->updateMimetypes($updatedMimetypes); + return $this->updateMimetypes($updatedMimetypes); } private function introduceStreamingTypes() { @@ -156,7 +159,7 @@ class RepairMimeTypes implements IRepairStep { 'pls' => 'audio/x-scpls' ]; - $this->updateMimetypes($updatedMimetypes); + return $this->updateMimetypes($updatedMimetypes); } /**