From 3b403a1a4b33443ee853556e40d4fe89d3399387 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 12 Apr 2015 18:44:42 -0400 Subject: Add screenshot support for tasks (copy/paste images directly) --- app/Model/Config.php | 1 + app/Model/File.php | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) (limited to 'app/Model') diff --git a/app/Model/Config.php b/app/Model/Config.php index 736ae08d..bbcff50c 100644 --- a/app/Model/Config.php +++ b/app/Model/Config.php @@ -40,6 +40,7 @@ class Config extends Base 'INR' => t('INR - Indian Rupee'), 'JPY' => t('JPY - Japanese Yen'), 'RSD' => t('RSD - Serbian dinar'), + 'SEK' => t('SEK - Swedish Krona'), ); } diff --git a/app/Model/File.php b/app/Model/File.php index 5da5c014..fe417d48 100644 --- a/app/Model/File.php +++ b/app/Model/File.php @@ -248,9 +248,9 @@ class File extends Base * Handle file upload * * @access public - * @param integer $project_id Project id - * @param integer $task_id Task id - * @param string $form_name File form name + * @param integer $project_id Project id + * @param integer $task_id Task id + * @param string $form_name File form name * @return bool */ public function upload($project_id, $task_id, $form_name) @@ -287,6 +287,38 @@ class File extends Base return count(array_unique($result)) === 1; } + /** + * Handle screenshot upload + * + * @access public + * @param integer $project_id Project id + * @param integer $task_id Task id + * @param string $blob Base64 encoded image + * @return bool + */ + public function uploadScreenshot($project_id, $task_id, $blob) + { + $data = base64_decode($blob); + + if (empty($data)) { + return false; + } + + $original_filename = e('Screenshot taken %s', dt('%B %e, %Y at %k:%M %p', time())); + $destination_filename = $this->generatePath($project_id, $task_id, $original_filename); + + @mkdir(FILES_DIR.dirname($destination_filename), 0755, true); + @file_put_contents(FILES_DIR.$destination_filename, $data); + + return $this->create( + $task_id, + $original_filename, + $destination_filename, + true, + strlen($data) + ); + } + /** * Generate a jpeg thumbnail from an image (output directly the image) * -- cgit v1.2.3