summaryrefslogtreecommitdiffstats
path: root/application/controllers/file.php
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2012-04-15 14:23:20 +0200
committerFlorian Pritz <bluewind@xinu.at>2012-04-15 14:25:56 +0200
commit02e9ebb4c2f50349356fb6863b680d45d65d4f70 (patch)
tree7a2d27d4cdf629449e62fe1ef9a5aced6457a41f /application/controllers/file.php
parent5986e00660657aecacef782ca1ee181e48b2884f (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.php21
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);