From ea4b113ce7a22b776848bafdbb21fe859f38f3f6 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 9 Dec 2014 18:42:57 +0100 Subject: [PATCH] Fix uploading attachments when assigning in step 4 (Bug #13621). --- whups/lib/Ticket.php | 8 +++++++- whups/ticket/create.php | 5 ++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/whups/lib/Ticket.php b/whups/lib/Ticket.php index a0cd3d7ef13..62fa07f8364 100644 --- a/whups/lib/Ticket.php +++ b/whups/lib/Ticket.php @@ -116,6 +116,7 @@ public static function newTicket($info, $requester) } // Check for a deferred attachment upload. + $a_name = null; if (!empty($info['deferred_attachment']) && ($a_name = $GLOBALS['session']->get('whups', 'deferred_attachment/' . $info['deferred_attachment']))) { $ticket->change( @@ -123,7 +124,6 @@ public static function newTicket($info, $requester) array( 'name' => $info['deferred_attachment'], 'tmp_name' => $a_name)); - unlink($a_name); } // Check for manually added attachments. @@ -137,6 +137,12 @@ public static function newTicket($info, $requester) $info['last-transaction'], false); + // Delete deferred attachment now, because it will be attached in the + // commit() call above. + if ($a_name) { + unlink($a_name); + } + // Send email notifications. $ticket->notify($ticket->get('user_id_requester'), true); diff --git a/whups/ticket/create.php b/whups/ticket/create.php index 3ec1e2a8980..84d5003e596 100644 --- a/whups/ticket/create.php +++ b/whups/ticket/create.php @@ -56,7 +56,6 @@ } $notification->push(sprintf(_("Your ticket ID is %s. An appropriate person has been notified of this request."), $ticket->getId()), 'horde.success'); $ticket->show(); - exit; } // Start the page. @@ -95,12 +94,12 @@ if (!empty($info['newattachment']['name'])) { $file_name = $info['newattachment']['name']; - $tmp_file_path = Horde::getTempFile('whups'); + $tmp_file_path = Horde::getTempFile('whups', false); if (move_uploaded_file($info['newattachment']['tmp_name'], $tmp_file_path)) { $session->set('whups', 'deferred_attachment/' . $file_name, $tmp_file_path); $vars->set('deferred_attachment', $file_name); - $form3->preserveVarByPost($vars, 'deferred_attachment'); + $form4->preserveVarByPost($vars, 'deferred_attachment'); } }