diff options
author | Florian Pritz <bluewind@xinu.at> | 2013-08-05 19:40:09 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2013-08-05 21:51:57 +0200 |
commit | 768bf6485cc73ad9b508b227fed8b3fcc3c6b65f (patch) | |
tree | e9bbdb3169d867a24167af9773f8140ec88fc7d9 /application/controllers/file.php | |
parent | ae244fdb9fd28db4e1323b5d4da5803699be3412 (diff) |
Add history page with thumbnails of images
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application/controllers/file.php')
-rw-r--r-- | application/controllers/file.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/application/controllers/file.php b/application/controllers/file.php index 630e550de..78ecd5096 100644 --- a/application/controllers/file.php +++ b/application/controllers/file.php @@ -380,6 +380,68 @@ class File extends CI_Controller { echo $this->config->item('upload_max_size'); } + function thumbnail() + { + $id = $this->uri->segment(3); + + if (!$this->mfile->valid_id($id)) { + return $this->_non_existent(); + } + + $etag = "$id-thumb"; + handle_etag($etag); + + $thumb = $this->mfile->makeThumb($id, 150, IMAGETYPE_JPEG); + + if ($thumb === false) { + show_error("Failed to generate thumbnail"); + } + + $filedata = $this->mfile->get_filedata($id); + if (!$filedata) { + show_error("Failed to get file data"); + } + + $this->output->set_header("Cache-Control:max-age=31536000, public"); + $this->output->set_header("Expires: ".date("r", time() + 365 * 24 * 60 * 60)); + $this->output->set_content_type("image/jpeg"); + $this->output->set_output($thumb); + } + + function upload_history_thumbnails() + { + $this->muser->require_access(); + + $user = $this->muser->get_userid(); + + $query = $this->db->query(" + SELECT `id`, `filename`, `mimetype`, `date`, `hash`, `filesize` + FROM files + WHERE user = ? + AND mimetype IN ('image/jpeg', 'image/png', 'image/gif') + ORDER BY date ASC + ", array($user))->result_array(); + + foreach($query as $key => $item) { + $filesize = format_bytes($item["filesize"]); + $dimensions = $this->mfile->image_dimension($this->mfile->file($item["hash"])); + $upload_date = date("r", $item["date"]); + + $query[$key]["filesize"] = $filesize; + $query[$key]["tooltip"] = " + ${item["id"]} - $filesize<br> + $upload_date + $dimensions - ${item["mimetype"]}<br> + "; + } + + $this->data["query"] = $query; + + $this->load->view('header', $this->data); + $this->load->view($this->var->view_dir.'/upload_history_thumbnails', $this->data); + $this->load->view('footer', $this->data); + } + function upload_history() { $this->muser->require_access(); |