summaryrefslogtreecommitdiff
path: root/app/Model/TaskFileModel.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/TaskFileModel.php')
-rw-r--r--app/Model/TaskFileModel.php88
1 files changed, 88 insertions, 0 deletions
diff --git a/app/Model/TaskFileModel.php b/app/Model/TaskFileModel.php
new file mode 100644
index 00000000..24c1ad4b
--- /dev/null
+++ b/app/Model/TaskFileModel.php
@@ -0,0 +1,88 @@
+<?php
+
+namespace Kanboard\Model;
+
+/**
+ * Task File Model
+ *
+ * @package Kanboard\Model
+ * @author Frederic Guillot
+ */
+class TaskFileModel extends FileModel
+{
+ /**
+ * Table name
+ *
+ * @var string
+ */
+ const TABLE = 'task_has_files';
+
+ /**
+ * Events
+ *
+ * @var string
+ */
+ const EVENT_CREATE = 'task.file.create';
+
+ /**
+ * Get the table
+ *
+ * @abstract
+ * @access protected
+ * @return string
+ */
+ protected function getTable()
+ {
+ return self::TABLE;
+ }
+
+ /**
+ * Define the foreign key
+ *
+ * @abstract
+ * @access protected
+ * @return string
+ */
+ protected function getForeignKey()
+ {
+ return 'task_id';
+ }
+
+ /**
+ * Define the path prefix
+ *
+ * @abstract
+ * @access protected
+ * @return string
+ */
+ protected function getPathPrefix()
+ {
+ return 'tasks';
+ }
+
+ /**
+ * Get event name
+ *
+ * @abstract
+ * @access protected
+ * @return string
+ */
+ protected function getEventName()
+ {
+ return self::EVENT_CREATE;
+ }
+
+ /**
+ * Handle screenshot upload
+ *
+ * @access public
+ * @param integer $task_id Task id
+ * @param string $blob Base64 encoded image
+ * @return bool|integer
+ */
+ public function uploadScreenshot($task_id, $blob)
+ {
+ $original_filename = e('Screenshot taken %s', $this->helper->dt->datetime(time())).'.png';
+ return $this->uploadContent($task_id, $original_filename, $blob);
+ }
+}