commit
eab2b3b7ae
|
@ -92,6 +92,7 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
$this->folderMimeTypeId = (int)$result->fetchOne();
|
$this->folderMimeTypeId = (int)$result->fetchOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$count = 0;
|
||||||
foreach ($updatedMimetypes as $extension => $mimetype) {
|
foreach ($updatedMimetypes as $extension => $mimetype) {
|
||||||
$result = \OC_DB::executeAudited(self::existsStmt(), array($mimetype));
|
$result = \OC_DB::executeAudited(self::existsStmt(), array($mimetype));
|
||||||
$exists = $result->fetchOne();
|
$exists = $result->fetchOne();
|
||||||
|
@ -106,8 +107,10 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
$mimetypeId = $result->fetchOne();
|
$mimetypeId = $result->fetchOne();
|
||||||
|
|
||||||
// change mimetype for files with x extension
|
// 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() {
|
private function introduceImageTypes() {
|
||||||
|
@ -116,7 +119,7 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
'webp' => 'image/webp',
|
'webp' => 'image/webp',
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->updateMimetypes($updatedMimetypes);
|
return $this->updateMimetypes($updatedMimetypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function introduceWindowsProgramTypes() {
|
private function introduceWindowsProgramTypes() {
|
||||||
|
@ -126,7 +129,7 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
'cmd' => 'application/cmd',
|
'cmd' => 'application/cmd',
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->updateMimetypes($updatedMimetypes);
|
return $this->updateMimetypes($updatedMimetypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function introduceLocationTypes() {
|
private function introduceLocationTypes() {
|
||||||
|
@ -137,7 +140,7 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
'tcx' => 'application/vnd.garmin.tcx+xml',
|
'tcx' => 'application/vnd.garmin.tcx+xml',
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->updateMimetypes($updatedMimetypes);
|
return $this->updateMimetypes($updatedMimetypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function introduceInternetShortcutTypes() {
|
private function introduceInternetShortcutTypes() {
|
||||||
|
@ -146,7 +149,17 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
'webloc' => 'application/internet-shortcut'
|
'webloc' => 'application/internet-shortcut'
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->updateMimetypes($updatedMimetypes);
|
return $this->updateMimetypes($updatedMimetypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function introduceStreamingTypes() {
|
||||||
|
$updatedMimetypes = [
|
||||||
|
'm3u' => 'audio/mpegurl',
|
||||||
|
'm3u8' => 'audio/mpegurl',
|
||||||
|
'pls' => 'audio/x-scpls'
|
||||||
|
];
|
||||||
|
|
||||||
|
return $this->updateMimetypes($updatedMimetypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -174,5 +187,9 @@ class RepairMimeTypes implements IRepairStep {
|
||||||
if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.3', '<') && $this->introduceInternetShortcutTypes()) {
|
if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.3', '<') && $this->introduceInternetShortcutTypes()) {
|
||||||
$out->info('Fixed internet-shortcut mime types');
|
$out->info('Fixed internet-shortcut mime types');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.6', '<') && $this->introduceStreamingTypes()) {
|
||||||
|
$out->info('Fixed streaming mime types');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,8 @@
|
||||||
"ldif": ["text/x-ldif"],
|
"ldif": ["text/x-ldif"],
|
||||||
"lwp": ["application/vnd.lotus-wordpro"],
|
"lwp": ["application/vnd.lotus-wordpro"],
|
||||||
"m2t": ["video/mp2t"],
|
"m2t": ["video/mp2t"],
|
||||||
|
"m3u": ["audio/mpegurl"],
|
||||||
|
"m3u8": ["audio/mpegurl"],
|
||||||
"m4a": ["audio/mp4"],
|
"m4a": ["audio/mp4"],
|
||||||
"m4b": ["audio/m4b"],
|
"m4b": ["audio/m4b"],
|
||||||
"m4v": ["video/mp4"],
|
"m4v": ["video/mp4"],
|
||||||
|
@ -129,6 +131,7 @@
|
||||||
"pef": ["image/x-dcraw"],
|
"pef": ["image/x-dcraw"],
|
||||||
"php": ["application/x-php"],
|
"php": ["application/x-php"],
|
||||||
"pl": ["application/x-perl"],
|
"pl": ["application/x-perl"],
|
||||||
|
"pls": ["audio/x-scpls"],
|
||||||
"png": ["image/png"],
|
"png": ["image/png"],
|
||||||
"pot": ["application/vnd.ms-powerpoint"],
|
"pot": ["application/vnd.ms-powerpoint"],
|
||||||
"potm": ["application/vnd.ms-powerpoint.template.macroEnabled.12"],
|
"potm": ["application/vnd.ms-powerpoint.template.macroEnabled.12"],
|
||||||
|
|
Loading…
Reference in New Issue