From 1224ea8d238590cb35bb7351810b57ec78355591 Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Tue, 25 Oct 2016 12:38:34 -0400 Subject: [PATCH] Update print and reply_ticket --- print.php | 26 +++++++++++++++++--------- reply_ticket.php | 20 +++++++++++--------- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/print.php b/print.php index cbe98dad..ebd4b35f 100644 --- a/print.php +++ b/print.php @@ -55,6 +55,9 @@ $trackingID = hesk_cleanID('p_track') or die("$hesklang[int_error]: $hesklang[no /* Connect to database */ hesk_dbConnect(); +// Load custom fields +require_once(HESK_PATH . 'inc/custom_fields.inc.php'); + // Perform additional checks for customers if (empty($_SESSION['id'])) { // Are we in maintenance mode? @@ -218,15 +221,17 @@ echo ''; $num_cols = 0; echo ''; foreach ($hesk_settings['custom_fields'] as $k => $v) { - if ($v['use']) { - if ($modsForHesk_settings['custom_field_setting']) { - $v['name'] = $hesklang[$v['name']]; - } - + if (($v['use'] == 1 || (! empty($_SESSION['id']) && $v['use'] == 2)) && hesk_is_custom_field_in_category($k, $ticket['category'])) { if ($num_cols == 3) { echo ''; $num_cols = 0; } + + switch ($v['type']) { + case 'date': + $ticket[$k] = hesk_custom_date_display_format($ticket[$k], $v['value']['date_format']); + break; + } ?> : @@ -239,11 +244,14 @@ foreach ($hesk_settings['custom_fields'] as $k => $v) { echo '
'; // Print initial ticket message -$newMessage = hesk_unhortenUrl($ticket['message']); -if ($ticket['html']) { - $newMessage = hesk_html_entity_decode($newMessage); +if ($ticket['message'] != '') { + $newMessage = hesk_unhortenUrl($ticket['message']); + if ($ticket['html']) { + $newMessage = hesk_html_entity_decode($newMessage); + } + echo '

' . $newMessage . '

'; } -echo '

' . $newMessage . '

'; + // Print replies while ($reply = hesk_dbFetchAssoc($res)) { diff --git a/reply_ticket.php b/reply_ticket.php index 07829970..20f925b1 100644 --- a/reply_ticket.php +++ b/reply_ticket.php @@ -185,17 +185,19 @@ if ($hesk_settings['attachments']['use'] && !empty($attachments)) { } // If staff hasn't replied yet, don't change the status; otherwise set it to the status for customer replies. -$customerReplyStatusQuery = 'SELECT `ID` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `IsCustomerReplyStatus` = 1'; -$defaultNewTicketStatusQuery = 'SELECT `ID` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `IsNewTicketStatus` = 1'; -$newStatusRs = hesk_dbQuery($customerReplyStatusQuery); -$newStatus = hesk_dbFetchAssoc($newStatusRs); -$defaultNewTicketStatusRs = hesk_dbQuery($defaultNewTicketStatusQuery); -$defaultNewTicketStatus = hesk_dbFetchAssoc($defaultNewTicketStatusRs); - -$ticket['status'] = $ticket['status'] == $defaultNewTicketStatus['ID'] ? $defaultNewTicketStatus['ID'] : $newStatus['ID']; +if (hesk_can_customer_change_status($ticket['status'])) { + $customerReplyStatusQuery = 'SELECT `ID` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `IsCustomerReplyStatus` = 1'; + $defaultNewTicketStatusQuery = 'SELECT `ID` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `IsNewTicketStatus` = 1'; + $newStatusRs = hesk_dbQuery($customerReplyStatusQuery); + $newStatus = hesk_dbFetchAssoc($newStatusRs); + $defaultNewTicketStatusRs = hesk_dbQuery($defaultNewTicketStatusQuery); + $defaultNewTicketStatus = hesk_dbFetchAssoc($defaultNewTicketStatusRs); + + $ticket['status'] = $ticket['status'] == $defaultNewTicketStatus['ID'] ? $defaultNewTicketStatus['ID'] : $newStatus['ID']; +} /* Update ticket as necessary */ -$res = hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `lastchange`=NOW(), `status`='{$ticket['status']}', `replies`=`replies`+1, `lastreplier`='0' WHERE `id`='{$ticket['id']}' LIMIT 1"); +$res = hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `lastchange`=NOW(), `status`='{$ticket['status']}', `replies`=`replies`+1, `lastreplier`='0' WHERE `id`='{$ticket['id']}'"); // Insert reply into database $modsForHesk_settings = mfh_getSettings();