diff options
author | Florian Pritz <bluewind@xinu.at> | 2012-04-15 14:23:20 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2012-04-15 14:25:56 +0200 |
commit | 02e9ebb4c2f50349356fb6863b680d45d65d4f70 (patch) | |
tree | 7a2d27d4cdf629449e62fe1ef9a5aced6457a41f /application/controllers/file.php | |
parent | 5986e00660657aecacef782ca1ee181e48b2884f (diff) |
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 <bluewind@xinu.at>
Diffstat (limited to 'application/controllers/file.php')
-rw-r--r-- | application/controllers/file.php | 21 |
1 files changed, 16 insertions, 5 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); |