summaryrefslogtreecommitdiff
path: root/app/Model/File.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/File.php')
-rw-r--r--app/Model/File.php103
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)
);
}
}