diff options
Diffstat (limited to 'app/Model/File.php')
-rw-r--r-- | app/Model/File.php | 103 |
1 files changed, 101 insertions, 2 deletions
diff --git a/app/Model/File.php b/app/Model/File.php index f069c8cf..3c2f2b68 100644 --- a/app/Model/File.php +++ b/app/Model/File.php @@ -111,6 +111,38 @@ class File extends Base ->asc('name') ->findAll(); } + + /** + * Get all images for a given task + * + * @access public + * @param integer $task_id Task id + * @return array + */ + public function getAllImages($task_id) + { + return $this->db->table(self::TABLE) + ->eq('task_id', $task_id) + ->eq('is_image', 1) + ->asc('name') + ->findAll(); + } + + /** + * Get all files without images for a given task + * + * @access public + * @param integer $task_id Task id + * @return array + */ + public function getAllDocuments($task_id) + { + return $this->db->table(self::TABLE) + ->eq('task_id', $task_id) + ->eq('is_image', 0) + ->asc('name') + ->findAll(); + } /** * Check if a filename is an image @@ -121,10 +153,77 @@ class File extends Base */ public function isImage($filename) { - return getimagesize($filename) !== false; + $info = pathinfo($filename); + $extension = strtolower($info['extension']); + + switch ($extension) { + case 'jpeg': + case 'jpg': + case 'png': + case 'gif': + return true; + break; + default: + return false; + break; + } } /** + * get Font-Awesome Icon for file extension + * + * @access public + * @param string $filename Filename + * @return string Font-Awesome-Icon-Name + */ + public function get_icon($filename){ + $info = pathinfo($filename); + $extension = strtolower($info['extension']); + switch ($extension) { + case 'jpeg': + case 'jpg': + case 'png': + case 'gif': + $icon = 'fa-file-image-o'; + break; + case 'xls': + case 'xlsx': + $icon = 'fa-file-excel-o'; + break; + case 'doc': + case 'docx': + $icon = 'fa-file-word-o'; + break; + case 'ppt': + case 'pptx': + $icon = 'fa-file-powerpoint-o'; + break; + case 'zip': + case 'rar': + $icon = 'fa-archive-o'; + break; + case 'mp3': + $icon = 'fa-audio-o'; + break; + case 'avi': + $icon = 'fa-video-o'; + break; + case 'php': + case 'html': + case 'css': + $icon = 'fa-code-o'; + break; + case 'pdf': + $icon = 'fa-file-pdf-o'; + break; + default: + $icon = 'fa-file-o'; + break; + } + return $icon; + } + + /** * Generate the path for a new filename * * @access public @@ -188,7 +287,7 @@ class File extends Base $task_id, $original_filename, $destination_filename, - $this->isImage(FILES_DIR.$destination_filename) + $this->isImage($original_filename) ); } } |