-
+ '
@@ -1554,6 +1489,37 @@ function hesk_getAdminButtons($reply = 0, $white = 1)
$dropdown .= '
';
}
+ /* Close/Reopen ticket link */
+ $random = rand(10000, 99999);
+
+ $statusSql = 'SELECT `ID`, `IsStaffClosedOption`, `IsStaffReopenedStatus` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `IsStaffClosedOption` = 1 OR `IsStaffReopenedStatus` = 1';
+ $statusRs = hesk_dbQuery($statusSql);
+ $staffClosedOptionStatus = array();
+ $staffReopenedStatus = array();
+ while ($statusRow = hesk_dbFetchAssoc($statusRs)) {
+ if ($statusRow['IsStaffReopenedStatus'] == 1) {
+ $staffReopenedStatus['ID'] = $statusRow['ID'];
+ } else {
+ $staffClosedOptionStatus['ID'] = $statusRow['ID'];
+ }
+ }
+
+ $isTicketClosedSql = 'SELECT `IsClosed`, `Closable` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'statuses` WHERE `ID` = ' . $ticket['status'];
+ $isTicketClosedRs = hesk_dbQuery($isTicketClosedSql);
+ $isTicketClosedRow = hesk_dbFetchAssoc($isTicketClosedRs);
+ $isTicketClosed = $isTicketClosedRow['IsClosed'];
+ $isClosable = $isTicketClosedRow['Closable'] == 'yes' || $isTicketClosedRow['Closable'] == 'sonly';
+
+ $mgr = $isManager ? '&isManager=1' : '';
+ if ($isTicketClosed == 0 && $isClosable) // Ticket is still open
+ {
+ $dropdown .= '
+ ' . $hesklang['close_action'] . '';
+ } elseif ($isTicketClosed == 1) {
+ $dropdown .= '
+ ' . $hesklang['open_action'] . '';
+ }
+
/* Lock ticket button */
if ($can_edit) {
$template = '
%s';
@@ -1576,7 +1542,24 @@ function hesk_getAdminButtons($reply = 0, $white = 1)
$dropdown .= '
' . $hesklang['import_kb'] . '';
}
+ /* Create ticket for same contact button */
+ $strippedName = strip_tags($ticket['name']);
+ $strippedEmail = strip_tags($ticket['email']);
+ $linkText = 'new_ticket.php?name=' . $strippedName . '&email=' . $strippedEmail . '&catid=' . $category_id . '&priority=' . $ticket['priority'];
+ foreach ($hesk_settings['custom_fields'] as $k => $v) {
+ if ($v['use'] == 1) {
+
+ if ($v['type'] == 'checkbox') {
+ $value = str_replace('
', '-CHECKBOX-', $ticket[$k]);
+ } else {
+ $value = $ticket[$k];
+ }
+ $strippedCustomField = strip_tags($value);
+ $linkText .= '&c_' . $k . '=' . $strippedCustomField;
+ }
+ }
+ $dropdown .= '
' . $hesklang['create_based_on_contact'] . '';
$dropdown .= '