diff options
Diffstat (limited to 'core/ajax/preview2.php')
-rw-r--r-- | core/ajax/preview2.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core/ajax/preview2.php b/core/ajax/preview2.php new file mode 100644 index 00000000000..b2bbf64c6d2 --- /dev/null +++ b/core/ajax/preview2.php @@ -0,0 +1,36 @@ +<?php + +\OC_Util::checkLoggedIn(); +\OC::$server->getSession()->close(); + +$file = array_key_exists('file', $_GET) ? (string)$_GET['file'] : ''; +$maxX = array_key_exists('x', $_GET) ? (int)$_GET['x'] : '32'; +$maxY = array_key_exists('y', $_GET) ? (int)$_GET['y'] : '32'; +$keepAspect = array_key_exists('a', $_GET) ? true : false; +$always = array_key_exists('forceIcon', $_GET) ? (bool)$_GET['forceIcon'] : true; +$mode = array_key_exists('mode', $_GET) ? $_GET['mode'] : 'fill'; + +if ($file === '') { + //400 Bad Request + \OC_Response::setStatus(400); + \OCP\Util::writeLog('core-preview', 'No file parameter was passed', \OCP\Util::DEBUG); + exit; +} + +if ($maxX === 0 || $maxY === 0) { + //400 Bad Request + \OC_Response::setStatus(400); + \OCP\Util::writeLog('core-preview', 'x and/or y set to 0', \OCP\Util::DEBUG); + exit; +} + +$userFolder = \OC::$server->getUserFolder(); +$file = $userFolder->get($file); + +$p = new \OC\Preview2(\OC::$server->getRootFolder(), + \OC::$server->getConfig(), + \OC::$server->getPreviewManager(), + $file); + +$p->getPreview($maxX, $maxY, !$keepAspect, $mode); + |