diff options
author | Morris Jobke <morris.jobke@gmail.com> | 2014-02-24 14:12:10 +0100 |
---|---|---|
committer | Morris Jobke <morris.jobke@gmail.com> | 2014-02-24 14:12:10 +0100 |
commit | 5fb1374b0f24dd034d7a07885ab7cecb420895a1 (patch) | |
tree | 7808941c034b92bf6ae7c20662e17e9c9d447988 /core | |
parent | 8d17f6d6757b3aa9f8019c022a3ff1f777c5b535 (diff) | |
parent | 7c4f81bd78b0933928056f6f59020837e1291525 (diff) | |
download | nextcloud-server-5fb1374b0f24dd034d7a07885ab7cecb420895a1.tar.gz nextcloud-server-5fb1374b0f24dd034d7a07885ab7cecb420895a1.zip |
Merge pull request #7285 from owncloud/mimeicons-svg
Show svg mime icons when no preview is available
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/preview.php | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/core/ajax/preview.php b/core/ajax/preview.php index a1267d6f5cf..526719e8a1b 100644 --- a/core/ajax/preview.php +++ b/core/ajax/preview.php @@ -7,34 +7,39 @@ */ \OC_Util::checkLoggedIn(); -$file = array_key_exists('file', $_GET) ? (string) $_GET['file'] : ''; -$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '36'; -$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36'; -$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true; +$file = array_key_exists('file', $_GET) ? (string)$_GET['file'] : ''; +$maxX = array_key_exists('x', $_GET) ? (int)$_GET['x'] : '36'; +$maxY = array_key_exists('y', $_GET) ? (int)$_GET['y'] : '36'; +$scalingUp = array_key_exists('scalingup', $_GET) ? (bool)$_GET['scalingup'] : true; +$always = array_key_exists('forceIcon', $_GET) ? (bool)$_GET['forceIcon'] : true; -if($file === '') { +if ($file === '') { //400 Bad Request \OC_Response::setStatus(400); \OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG); exit; } -if($maxX === 0 || $maxY === 0) { +if ($maxX === 0 || $maxY === 0) { //400 Bad Request \OC_Response::setStatus(400); \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG); exit; } -try{ +try { $preview = new \OC\Preview(\OC_User::getUser(), 'files'); - $preview->setFile($file); - $preview->setMaxX($maxX); - $preview->setMaxY($maxY); - $preview->setScalingUp($scalingUp); + if (!$always and !$preview->isMimeSupported(\OC\Files\Filesystem::getMimeType($file))) { + \OC_Response::setStatus(404); + } else { + $preview->setFile($file); + $preview->setMaxX($maxX); + $preview->setMaxY($maxY); + $preview->setScalingUp($scalingUp); + } $preview->show(); -}catch(\Exception $e) { +} catch (\Exception $e) { \OC_Response::setStatus(500); \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG); -}
\ No newline at end of file +} |