From 02e9ebb4c2f50349356fb6863b680d45d65d4f70 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 15 Apr 2012 14:23:20 +0200 Subject: upload_hstory: Initialize $lengths correctly If you only uploaded short filenames "Filename" could e longer than any filename, resulting in a broken table. Signed-off-by: Florian Pritz --- application/controllers/file.php | 21 ++++++++++++++++----- application/views/file_plaintext/upload_history.php | 12 ++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/application/controllers/file.php b/application/controllers/file.php index 0fd41404e..cc5cf159c 100644 --- a/application/controllers/file.php +++ b/application/controllers/file.php @@ -127,14 +127,24 @@ class File extends CI_Controller { if (! $cached = $this->memcachelibrary->get("history_".$this->var->view_dir."_".$user)) { $query = array(); $lengths = array(); - $fields = array("id", "filename", "mimetype", "date", "hash", "filesize"); + + // key: database field name; value: display name + $fields = array( + "id" => "ID", + "filename" => "Filename", + "mimetype" => "Mimetype", + "date" => "Date", + "hash" => "Hash", + "filesize" => "Size" + ); + $this->data['title'] .= ' - Upload history'; - foreach($fields as $length_key) { - $lengths[$length_key] = 0; + foreach($fields as $length_key => $value) { + $lengths[$length_key] = mb_strlen($value); } $query = $this->db->query(" - SELECT ".implode(",", $fields)." + SELECT ".implode(",", array_keys($fields))." FROM files WHERE user = ? ORDER BY date @@ -145,7 +155,7 @@ class File extends CI_Controller { $query[$key]["filesize"] = format_bytes($item["filesize"]); if ($this->var->cli_client) { // Keep track of longest string to pad plaintext output correctly - foreach($fields as $length_key) { + foreach($fields as $length_key => $value) { $len = mb_strlen($query[$key][$length_key]); if ($len > $lengths[$length_key]) { $lengths[$length_key] = $len; @@ -156,6 +166,7 @@ class File extends CI_Controller { $this->data["query"] = $query; $this->data["lengths"] = $lengths; + $this->data["fields"] = $fields; $cached = ""; $cached .= $this->load->view($this->var->view_dir.'/header', $this->data, true); diff --git a/application/views/file_plaintext/upload_history.php b/application/views/file_plaintext/upload_history.php index 4e9308d91..87586babd 100644 --- a/application/views/file_plaintext/upload_history.php +++ b/application/views/file_plaintext/upload_history.php @@ -1,11 +1,11 @@ $item) { echo -- cgit v1.2.3-24-g4f1b