fetch_assoc()) { $status_options[$row['ID']] = $hesklang[$row['ShortNameContentKey']]; } /* New status */ $status = intval( hesk_REQUEST('s') ); if ( ! isset($status_options[$status])) { hesk_process_messages($hesklang['instat'],'admin_ticket.php?track='.$trackingID.'&Refresh='.mt_rand(10000,99999),'NOTICE'); } $locked = 0; // Ticket info $result = hesk_dbQuery("SELECT * FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` WHERE `trackid`='".hesk_dbEscape($trackingID)."' LIMIT 1"); if (hesk_dbNumRows($result) != 1) { hesk_error($hesklang['ticket_not_found']); } $ticket = hesk_dbFetchAssoc($result); $statusRow = hesk_dbFetchAssoc(hesk_dbQuery("SELECT `ID`, `IsClosed` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` WHERE ID = ".$status)); if ($statusRow['IsClosed']) // Closed { $action = $hesklang['ticket_been'] . ' ' . $hesklang['close']; $revision = sprintf($hesklang['thist3'],hesk_date(),$_SESSION['name'].' ('.$_SESSION['user'].')'); if ($hesk_settings['custopen'] != 1) { $locked = 1; } // Notify customer require(HESK_PATH . 'inc/email_functions.inc.php'); hesk_notifyCustomer('ticket_closed'); } elseif ($statusRow['ID'] != 0) //Ticket is still open, but not new { $action = sprintf($hesklang['tsst'],$status_options[$status]); $revision = sprintf($hesklang['thist9'],hesk_date(),$status_options[$status],$_SESSION['name'].' ('.$_SESSION['user'].')'); } else // Ticket is marked as "NEW" { $action = $hesklang['ticket_been'] . ' ' . $hesklang['opened']; $revision = sprintf($hesklang['thist4'],hesk_date(),$_SESSION['name'].' ('.$_SESSION['user'].')'); } //-- Notify staff after ticket re-open? $currentStatusRS = hesk_dbQuery('SELECT * FROM `'.hesk_dbEscape($hesk_settings['db_pfix']).'statuses` WHERE `ID` = '.$ticket['status']); $currentStatus = hesk_dbFetchAssoc($currentStatusRS); if (intval($currentStatus['IsClosed']) == 1 && $statusRow['IsClosed'] == 0 && $ticket['owner'] != $_SESSION['id']) { $ticket['name'] = $_SESSION['name']; require(HESK_PATH . 'inc/email_functions.inc.php'); hesk_notifyAssignedStaff(false, 'ticket_reopen_assigned'); } hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` SET `status`='{$status}', `locked`='{$locked}', `history`=CONCAT(`history`,'".hesk_dbEscape($revision)."') WHERE `trackid`='".hesk_dbEscape($trackingID)."' LIMIT 1"); if (hesk_dbAffectedRows() != 1) { hesk_error("$hesklang[int_error]: $hesklang[trackID_not_found]."); } hesk_process_messages($action,'admin_ticket.php?track='.$trackingID.'&Refresh='.rand(10000,99999),'SUCCESS'); ?>