summaryrefslogtreecommitdiffstats
path: root/core/ajax/preview.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/ajax/preview.php')
-rw-r--r--core/ajax/preview.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/core/ajax/preview.php b/core/ajax/preview.php
new file mode 100644
index 00000000000..af0f0493f4c
--- /dev/null
+++ b/core/ajax/preview.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+\OC_Util::checkLoggedIn();
+
+$file = array_key_exists('file', $_GET) ? (string) urldecode($_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;
+
+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) {
+ //400 Bad Request
+ \OC_Response::setStatus(400);
+ \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
+ exit;
+}
+
+try{
+ $preview = new \OC\Preview(\OC_User::getUser(), 'files');
+ $preview->setFile($file);
+ $preview->setMaxX($maxX);
+ $preview->setMaxY($maxY);
+ $preview->setScalingUp($scalingUp);
+
+ $preview->show();
+}catch(\Exception $e) {
+ \OC_Response::setStatus(500);
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
+} \ No newline at end of file