summaryrefslogtreecommitdiffstats
path: root/core/ajax/preview2.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/ajax/preview2.php')
-rw-r--r--core/ajax/preview2.php36
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);
+