summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Core/Helper.php2
-rw-r--r--app/Model/File.php64
-rw-r--r--app/Schema/Mysql.php9
-rw-r--r--app/Schema/Postgres.php9
-rw-r--r--app/Schema/Sqlite.php9
-rw-r--r--app/Template/file/show.php6
6 files changed, 86 insertions, 13 deletions
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 @@
<?php endif ?>
<p>
<?= $this->e($file['name']) ?>
+ <span class="column-tooltip" title='<?= $this->e(t('uploaded by').': '.$this->e($file['user_name'] ?: $file['username']).'<br>'.t('uploaded on').': '.dt('%B %e, %Y at %k:%M %p', $file['date']).'<br>'.t('size').': '.round($file['size']/1024/1024,2)).' MB' ?>'>
+ <i class="fa fa-info-circle"></i>
+ </span>
</p>
<span class="task-show-file-actions task-show-image-actions">
<i class="fa fa-eye"></i> <?= $this->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 @@
<td><i class="fa <?= $this->getFileIcon($file['name']) ?> fa-fw"></i></td>
<td>
<?= $this->e($file['name']) ?>
+ <span class="column-tooltip" title='<?= $this->e(t('uploaded by').': '.$this->e($file['user_name'] ?: $file['username']).'<br>'.t('uploaded on').': '.dt('%B %e, %Y at %k:%M %p', $file['date']).'<br>'.t('size').': '.round($file['size']/1024/1024,2)).' MB' ?>'>
+ <i class="fa fa-info-circle"></i>
+ </span>
</td>
<td>
<span class="task-show-file-actions">