Regenerate thumbnails if missing

This commit is contained in:
Frederic Guillot 2015-10-24 17:54:56 -04:00
parent 1ffea55bd1
commit 51c333e538
2 changed files with 15 additions and 12 deletions

View File

@ -18,6 +18,7 @@ Improvements:
* Add the possibility to append or not custom filters
* Make mail transports pluggable
* Do not show scroll-bars when a column is collapsed on Windows systems
* Regenerate thumbnails if missing
Bug fixes:

View File

@ -109,7 +109,7 @@ class File extends Base
}
/**
* Return the file content (work only for images)
* Display image
*
* @access public
*/
@ -119,36 +119,38 @@ class File extends Base
$task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id'));
if ($file['task_id'] != $task['id']) {
$this->response->redirect($this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])));
if ($file['task_id'] == $task['id']) {
$this->response->contentType($this->file->getImageMimeType($file['name']));
$this->objectStorage->output($file['path']);
}
$this->response->contentType($this->file->getImageMimeType($file['name']));
$this->objectStorage->output($file['path']);
} catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage());
}
}
/**
* Return image thumbnails
* Display image thumbnails
*
* @access public
*/
public function thumbnail()
{
$this->response->contentType('image/jpeg');
try {
$task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id'));
if ($file['task_id'] != $task['id']) {
$this->response->redirect($this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])));
if ($file['task_id'] == $task['id']) {
$this->objectStorage->output($this->file->getThumbnailPath($file['path']));
}
$this->response->contentType('image/jpeg');
$this->objectStorage->output($this->file->getThumbnailPath($file['path']));
} catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage());
// Try to generate thumbnail on the fly for images uploaded before Kanboard < 1.0.19
$data = $this->objectStorage->get($file['path']);
$this->file->generateThumbnailFromData($file['path'], $data);
$this->objectStorage->output($this->file->getThumbnailPath($file['path']));
}
}