summaryrefslogtreecommitdiff
path: root/app/Controller/File.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controller/File.php')
-rw-r--r--app/Controller/File.php33
1 files changed, 17 insertions, 16 deletions
diff --git a/app/Controller/File.php b/app/Controller/File.php
index 1e719d2f..3963e2d7 100644
--- a/app/Controller/File.php
+++ b/app/Controller/File.php
@@ -20,8 +20,8 @@ class File extends Base
$task = $this->getTask();
$this->response->html($this->taskLayout('file/new', array(
- 'task' => $task,
- 'max_size' => ini_get('upload_max_filesize'),
+ 'task' => $task,
+ 'max_size' => ini_get('upload_max_filesize'),
)));
}
@@ -74,8 +74,8 @@ class File extends Base
if ($file['task_id'] == $task['id']) {
$this->response->html($this->template->render('file/open', array(
- 'file' => $file,
- 'task' => $task,
+ 'file' => $file,
+ 'task' => $task,
)));
}
}
@@ -102,29 +102,31 @@ class File extends Base
}
/**
- * Return the file content (work only for images) resized
+ * Return image thumbnails
*
* @access public
*/
- public function imageThumbnail() {
+ public function thumbnail()
+ {
$task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id'));
$width_param = $this->request->getIntegerParam('width');
$height_param = $this->request->getIntegerParam('height');
- $filename = FILES_DIR . $file['path'];
+ $filename = FILES_DIR.$file['path'];
if ($file['task_id'] == $task['id'] && file_exists($filename)) {
// Get new sizes
list($width, $height) = getimagesize($filename);
+
if ($width_param == 0 && $height_param == 0) {
$newwidth = 100;
$newheight = 100;
} elseif ($width_param > 0 && $height_param == 0) {
$newwidth = $width_param;
- $newheight = floor($height * ( $width_param / $width ));
+ $newheight = floor($height * ($width_param / $width));
} elseif ($width_param == 0 && $height_param > 0) {
- $newwidth = floor($width * ( $height_param / $height ));
+ $newwidth = floor($width * ($height_param / $height));
$newheight = $height_param;
} else {
$newwidth = $width_param;
@@ -133,9 +135,7 @@ class File extends Base
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
-
- $info = pathinfo($file['name']);
- $extension = strtolower($info['extension']);
+ $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
switch ($extension) {
case 'jpeg':
@@ -153,17 +153,18 @@ class File extends Base
break;
}
- // Resize
+ // Resize
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
$metadata = getimagesize($filename);
+
if (isset($metadata['mime'])) {
$this->response->contentType($metadata['mime']);
imagejpeg($thumb);
}
}
}
-
+
/**
* Remove a file
*
@@ -195,8 +196,8 @@ class File extends Base
$file = $this->file->getById($this->request->getIntegerParam('file_id'));
$this->response->html($this->taskLayout('file/remove', array(
- 'task' => $task,
- 'file' => $file,
+ 'task' => $task,
+ 'file' => $file,
)));
}
}