public function testSaveAndDelete() { copy($this->origFile, $this->testFile); $media = new Media(); $media->setIssue_id($this->testIssueId); $media->setFile($this->FILE); $media->save(); $newFile = SITE_HOME . "/media/{$media->getDirectory()}/{$media->getInternalFilename()}"; $this->assertTrue(file_exists($newFile)); $this->assertEquals($this->testIssueId, $media->getIssue_id()); $this->assertNotEmpty($media->getId()); $media->delete(); $this->assertFalse(file_exists($newFile)); }
/** * @param POST issue_id * @param FILES attachment */ public function upload() { $issue = $this->loadIssue($_REQUEST['issue_id']); $ticket = $issue->getTicket(); if (isset($_FILES['attachment'])) { try { $media = new Media(); $media->setIssue($issue); $media->setFile($_FILES['attachment']); $media->save(); } catch (\Exception $e) { // Clean out any file that might have been saved $media->delete(); $_SESSION['errorMessages'][] = $e; } header('Location: ' . $ticket->getURL()); exit; } $this->template->setFilename('tickets'); $this->template->blocks['ticket-panel'][] = new Block('tickets/ticketInfo.inc', array('ticket' => $ticket, 'disableButtons' => 1)); $this->template->blocks['history-panel'][] = new Block('tickets/history.inc', array('history' => $ticket->getHistory())); $this->template->blocks['issue-panel'][] = new Block('media/uploadForm.inc', array('issue' => $issue)); $this->template->blocks['issue-panel'][] = new Block('tickets/issueInfo.inc', array('issue' => $issue, 'disableButtons' => 1)); }