diff --git a/include/class.thread.php b/include/class.thread.php index 41d7730ba16104f458e9f6abc199523827e34aa0..5191b716ed3245b93eb1d2a79710540d3a4fda60 100644 --- a/include/class.thread.php +++ b/include/class.thread.php @@ -475,10 +475,10 @@ Class ThreadEntry { return 0; // TODO: Add a unique index to TICKET_ATTACHMENT_TABLE (file_id, - // ticket_id), and remove this block + // ref_id), and remove this block if ($id = db_result(db_query('SELECT attach_id FROM '.TICKET_ATTACHMENT_TABLE - .' WHERE file_id='.db_input($fileId).' AND ticket_id=' - .db_input($this->getTicketId())))) + .' WHERE file_id='.db_input($fileId).' AND ref_id=' + .db_input($this->getId())))) return $id; $sql ='INSERT IGNORE INTO '.TICKET_ATTACHMENT_TABLE.' SET created=NOW() ' diff --git a/include/class.ticket.php b/include/class.ticket.php index 3a6b7586c55368600a5e2448aa8fe46b657917dd..17a0ef50b09f4f5a49424bc647f54ae2850c7ffe 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -2244,6 +2244,11 @@ class Ticket { // post response - if any $response = null; if($vars['response'] && $thisstaff->canPostReply()) { + + // unpack any uploaded files into vars. + if ($_FILES['attachments']) + $vars['files'] = AttachmentFile::format($_FILES['attachments']); + $vars['response'] = $ticket->replaceVars($vars['response']); if(($response=$ticket->postReply($vars, $errors, false))) { //Only state supported is closed on response diff --git a/scp/tickets.php b/scp/tickets.php index f28ac8e3e31a1677cceede9c867e49e204473b83..649c1c63d26102d37c1addcd905d468438508cab 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -484,9 +484,6 @@ if($_POST && !$errors): $vars = $_POST; $vars['uid'] = $user? $user->getId() : 0; - if($_FILES['attachments']) - $vars['files'] = AttachmentFile::format($_FILES['attachments']); - if(($ticket=Ticket::open($vars, $errors))) { $msg='Ticket created successfully'; $_REQUEST['a']=null;