public function indexAction($id = false) { if (!$id) { return Brightery::error404(); } $this->permission('index'); $issues = new \modules\pm\models\Pm_issues(); $issues->_select = "pm_issue_id, title, description,pm_project_id,pm_priority_id , deadline ,estimated_time,\n (SELECT users.fullname FROM users WHERE users.user_id = pm_issues.pm_reviewer_id) AS reviewer,\n (SELECT pm_projects.title FROM pm_projects WHERE pm_projects.pm_project_id = pm_issues.pm_project_id) AS project,\n (SELECT pm_priorities.color FROM pm_priorities WHERE pm_priorities.pm_priority_id = pm_issues.pm_priority_id) AS priority,\n (SELECT pm_priorities.name FROM pm_priorities WHERE pm_priorities.pm_priority_id = pm_issues.pm_priority_id) AS priority_title,\n (SELECT pm_issues_types.title FROM pm_issues_types WHERE pm_issues_types.pm_issue_type_id = pm_issues.pm_issue_type_id) AS issue_type "; $issues->pm_issue_id = $id; $comments = new \modules\pm\models\Pm_comments(); $comments->_select = "pm_comment_id,pm_issue_id,comment,time,parent,\n (SELECT users.fullname FROM users WHERE users.user_id = pm_comments.user_id) AS username,\n (SELECT users.image FROM users WHERE users.user_id = pm_comments.user_id) AS image"; $comments->pm_issue_id = $id; $comments->parent = 0; $activities = new \modules\pm\models\Pm_history(); $activities->pm_issue_id = $id; $attach = new \modules\pm\models\Pm_attachments(); $attach->_select = "pm_attachment_id, file_name, type, pm_issue_id"; $attach->pm_issue_id = $id; return $this->render('pm_issue_details/index', ['item' => $issues->get(), 'comments' => $comments->get(), 'attach' => $attach->get(), 'comment_model' => $comments, 'total' => $activities->takenTime($id), 'assigned' => $issues->assignedIssues($id)]); }
public function manage_filesAction($id = false) { $this->layout = 'ajax'; if ($id) { $model = new \modules\pm\models\Pm_attachments(); } if ($_SERVER['REQUEST_METHOD'] == 'GET') { if (!$id) { return false; } $model->pm_issue_id = $id; foreach ($model->get() as $file) { $filename = $file->file_name; $file_id = $file->pm_attachment_id; $files[] = ['name' => $filename, 'size' => filesize('./cdn/' . $this->_module . '/' . $filename), 'url' => Uri_helper::cdn($this->_module . '/' . $filename), 'primary' => $file->primary, 'thumbnailUrl' => Uri_helper::cdn($this->_module . '/' . $filename), 'deleteUrl' => Uri_helper::url('management/pm_issues/manage_files/' . $file_id) . '?file=' . $filename, 'deleteType' => 'DELETE']; } return json_encode(['files' => $files]); } elseif ($_SERVER['REQUEST_METHOD'] == 'POST') { foreach ($this->uploadFiles($_FILES) as $file) { $files[] = ['name' => $file['file_name'], 'size' => $file['file_size'], 'url' => Uri_helper::cdn($this->_module . '/' . $file['file_name']), 'thumbnailUrl' => Uri_helper::cdn($this->_module . '/' . $file['file_name']), 'deleteUrl' => Uri_helper::url('management/pm_issues/manage_files/') . '?file=' . $file['file_name'], 'deleteType' => 'DELETE']; } return json_encode(['files' => $files]); } elseif ($_SERVER['REQUEST_METHOD'] == 'DELETE') { if ($id) { $model->pm_attachment_id = $id; $model->delete(); echo '{"' . $this->input->get('file') . '":true}'; } else { echo '{"' . $this->input->get('file') . '":true}'; } } }