From bca1012e70db8c23a2a4b2bcf0767a36d1a719ff Mon Sep 17 00:00:00 2001 From: BlueTeck Date: Thu, 9 Apr 2015 10:08:27 +0200 Subject: #717 add size, user, date to uploaded files --- app/Core/Helper.php | 2 +- app/Model/File.php | 64 +++++++++++++++++++++++++++++++++++++++------- app/Schema/Mysql.php | 9 ++++++- app/Schema/Postgres.php | 9 ++++++- app/Schema/Sqlite.php | 9 ++++++- app/Template/file/show.php | 6 +++++ 6 files changed, 86 insertions(+), 13 deletions(-) (limited to 'app') diff --git a/app/Core/Helper.php b/app/Core/Helper.php index 29003416..76f90755 100644 --- a/app/Core/Helper.php +++ b/app/Core/Helper.php @@ -755,7 +755,7 @@ class Helper return 'fa-file-powerpoint-o'; case 'zip': case 'rar': - return 'fa-archive-o'; + return 'fa-file-archive-o'; case 'mp3': return 'fa-audio-o'; case 'avi': diff --git a/app/Model/File.php b/app/Model/File.php index a8cce9f4..52f756c6 100644 --- a/app/Model/File.php +++ b/app/Model/File.php @@ -82,7 +82,7 @@ class File extends Base * @param bool $is_image Image or not * @return bool */ - public function create($task_id, $name, $path, $is_image) + public function create($task_id, $name, $path, $is_image, $size) { $this->container['dispatcher']->dispatch( self::EVENT_CREATE, @@ -94,6 +94,9 @@ class File extends Base 'name' => $name, 'path' => $path, 'is_image' => $is_image ? '1' : '0', + 'size' => $size, + 'user_id' => $this->userSession->getId(), + 'date' => time(), )); } @@ -106,10 +109,24 @@ class File extends Base */ public function getAll($task_id) { - return $this->db->table(self::TABLE) + return $this->db + ->table(self::TABLE) + ->columns( + self::TABLE.'.id', + self::TABLE.'.name', + self::TABLE.'.path', + self::TABLE.'.is_image', + self::TABLE.'.task_id', + self::TABLE.'.date', + self::TABLE.'.user_id', + self::TABLE.'.size', + User::TABLE.'.username', + User::TABLE.'.name as user_name' + ) + ->join(User::TABLE, 'id', 'user_id') ->eq('task_id', $task_id) - ->asc('name') - ->findAll(); + ->asc(self::TABLE.'.name') + ->findAll(); } /** @@ -121,10 +138,24 @@ class File extends Base */ public function getAllImages($task_id) { - return $this->db->table(self::TABLE) + return $this->db + ->table(self::TABLE) + ->columns( + self::TABLE.'.id', + self::TABLE.'.name', + self::TABLE.'.path', + self::TABLE.'.is_image', + self::TABLE.'.task_id', + self::TABLE.'.date', + self::TABLE.'.user_id', + self::TABLE.'.size', + User::TABLE.'.username', + User::TABLE.'.name as user_name' + ) + ->join(User::TABLE, 'id', 'user_id') ->eq('task_id', $task_id) ->eq('is_image', 1) - ->asc('name') + ->asc(self::TABLE.'.name') ->findAll(); } @@ -137,10 +168,24 @@ class File extends Base */ public function getAllDocuments($task_id) { - return $this->db->table(self::TABLE) + return $this->db + ->table(self::TABLE) + ->columns( + self::TABLE.'.id', + self::TABLE.'.name', + self::TABLE.'.path', + self::TABLE.'.is_image', + self::TABLE.'.task_id', + self::TABLE.'.date', + self::TABLE.'.user_id', + self::TABLE.'.size', + User::TABLE.'.username', + User::TABLE.'.name as user_name' + ) + ->join(User::TABLE, 'id', 'user_id') ->eq('task_id', $task_id) ->eq('is_image', 0) - ->asc('name') + ->asc(self::TABLE.'.name') ->findAll(); } @@ -230,7 +275,8 @@ class File extends Base $task_id, $original_filename, $destination_filename, - $this->isImage($original_filename) + $this->isImage($original_filename), + $_FILES[$form_name]['size'][$key] ); } } diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php index e5269d93..626f7b84 100644 --- a/app/Schema/Mysql.php +++ b/app/Schema/Mysql.php @@ -6,7 +6,14 @@ use PDO; use Core\Security; use Model\Link; -const VERSION = 61; +const VERSION = 62; + +function version_62($pdo) +{ + $pdo->exec('ALTER TABLE files ADD COLUMN date VARCHAR(10) NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN user_id INT NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN size FLOAT NOT NULL DEFAULT 0'); +} function version_61($pdo) { diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php index 2c5e0f28..4b9752eb 100644 --- a/app/Schema/Postgres.php +++ b/app/Schema/Postgres.php @@ -6,7 +6,14 @@ use PDO; use Core\Security; use Model\Link; -const VERSION = 42; +const VERSION = 43; + +function version_43($pdo) +{ + $pdo->exec('ALTER TABLE files ADD COLUMN date VARCHAR(10) NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN user_id INT NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN size FLOAT NOT NULL DEFAULT 0'); +} function version_42($pdo) { diff --git a/app/Schema/Sqlite.php b/app/Schema/Sqlite.php index b9c264bc..52a37d25 100644 --- a/app/Schema/Sqlite.php +++ b/app/Schema/Sqlite.php @@ -6,7 +6,14 @@ use Core\Security; use PDO; use Model\Link; -const VERSION = 60; +const VERSION = 61; + +function version_61($pdo) +{ + $pdo->exec('ALTER TABLE files ADD COLUMN date VARCHAR(10) NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN user_id INT NOT NULL DEFAULT 0'); + $pdo->exec('ALTER TABLE files ADD COLUMN size FLOAT NOT NULL DEFAULT 0'); +} function version_60($pdo) { diff --git a/app/Template/file/show.php b/app/Template/file/show.php index 66e1afd9..8615079a 100644 --- a/app/Template/file/show.php +++ b/app/Template/file/show.php @@ -16,6 +16,9 @@

e($file['name']) ?> + e($file['user_name'] ?: $file['username']).'
'.t('uploaded on').': '.dt('%B %e, %Y at %k:%M %p', $file['date']).'
'.t('size').': '.round($file['size']/1024/1024,2)).' MB' ?>'> + +

a(t('open'), 'file', 'open', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id']), false, 'popover') ?> @@ -35,6 +38,9 @@ e($file['name']) ?> + e($file['user_name'] ?: $file['username']).'
'.t('uploaded on').': '.dt('%B %e, %Y at %k:%M %p', $file['date']).'
'.t('size').': '.round($file['size']/1024/1024,2)).' MB' ?>'> + +
-- cgit v1.2.3