mirror of
https://github.com/nextcloud/server.git
synced 2024-07-29 20:15:55 +02:00
Add APK mimetype repair scenario.
This commit is contained in:
parent
42edd5b788
commit
38498af171
@ -113,6 +113,44 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function fixAPKMimeType() {
|
||||||
|
$existsStmt = \OC_DB::prepare('
|
||||||
|
SELECT count(`mimetype`)
|
||||||
|
FROM `*PREFIX*mimetypes`
|
||||||
|
WHERE `mimetype` = ?
|
||||||
|
');
|
||||||
|
|
||||||
|
$insertStmt = \OC_DB::prepare('
|
||||||
|
INSERT INTO `*PREFIX*mimetypes` ( `mimetype` )
|
||||||
|
VALUES ( ? )
|
||||||
|
');
|
||||||
|
|
||||||
|
|
||||||
|
$updateByNameStmt = \OC_DB::prepare('
|
||||||
|
UPDATE `*PREFIX*filecache`
|
||||||
|
SET `mimetype` = (
|
||||||
|
SELECT `id`
|
||||||
|
FROM `*PREFIX*mimetypes`
|
||||||
|
WHERE `mimetype` = ?
|
||||||
|
) WHERE `name` LIKE ?
|
||||||
|
');
|
||||||
|
|
||||||
|
|
||||||
|
$mimeTypeExtension = 'apk';
|
||||||
|
$mimeTypeName = 'application/vnd.android.package-archive';
|
||||||
|
|
||||||
|
$result = \OC_DB::executeAudited($existsStmt, array($mimeTypeName));
|
||||||
|
$exists = $result->fetchOne();
|
||||||
|
|
||||||
|
if ( ! $exists ) {
|
||||||
|
// insert mimetype
|
||||||
|
\OC_DB::executeAudited($insertStmt, array($mimeTypeName));
|
||||||
|
}
|
||||||
|
|
||||||
|
// change mimetype for files with x extension
|
||||||
|
\OC_DB::executeAudited($updateByNameStmt, array($mimeTypeName, '%.'.$mimeTypeExtension));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fix mime types
|
* Fix mime types
|
||||||
*/
|
*/
|
||||||
@ -120,6 +158,10 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
|
|||||||
if ($this->fixOfficeMimeTypes()) {
|
if ($this->fixOfficeMimeTypes()) {
|
||||||
$this->emit('\OC\Repair', 'info', array('Fixed office mime types'));
|
$this->emit('\OC\Repair', 'info', array('Fixed office mime types'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->fixAPKMimeType()) {
|
||||||
|
$this->emit('\OC\Repair', 'info', array('Fixed APK mime type'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user