set('Cache.DefinitionImpl', null); // Disable cache by setting a non-existent directory or an invalid one $purifier_config->set('URI.AllowedSchemes', ['data' => true, 'src' => true, 'http' => true, 'https' => true]); $purifier = new HTMLPurifier($purifier_config); $allowed_extensions = array('jpg', 'jpeg', 'gif', 'png', 'webp', 'pdf', 'txt', 'md', 'doc', 'docx', 'csv', 'xls', 'xlsx', 'xlsm', 'zip', 'tar', 'gz'); if (isset($_GET['id']) && intval($_GET['id'])) { $ticket_id = intval($_GET['id']); if ($session_contact_primary == 1 || $session_contact_is_technical_contact) { // For a primary / technical contact viewing all tickets $ticket_sql = mysqli_query($mysqli, "SELECT * FROM tickets LEFT JOIN users on ticket_assigned_to = user_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id WHERE ticket_id = $ticket_id AND ticket_client_id = $session_client_id" ); } else { // For a user viewing their own ticket $ticket_sql = mysqli_query($mysqli, "SELECT * FROM tickets LEFT JOIN users on ticket_assigned_to = user_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id WHERE ticket_id = $ticket_id AND ticket_client_id = $session_client_id AND ticket_contact_id = $session_contact_id" ); } $ticket_row = mysqli_fetch_array($ticket_sql); if ($ticket_row) { $ticket_prefix = nullable_htmlentities($ticket_row['ticket_prefix']); $ticket_number = intval($ticket_row['ticket_number']); $ticket_status = nullable_htmlentities($ticket_row['ticket_status_name']); $ticket_priority = nullable_htmlentities($ticket_row['ticket_priority']); $ticket_subject = nullable_htmlentities($ticket_row['ticket_subject']); $ticket_details = $purifier->purify($ticket_row['ticket_details']); $ticket_assigned_to = nullable_htmlentities($ticket_row['user_name']); $ticket_resolved_at = nullable_htmlentities($ticket_row['ticket_resolved_at']); $ticket_closed_at = nullable_htmlentities($ticket_row['ticket_closed_at']); $ticket_feedback = nullable_htmlentities($ticket_row['ticket_feedback']); // Get Ticket Attachments (not associated with a specific reply) $sql_ticket_attachments = mysqli_query( $mysqli, "SELECT * FROM ticket_attachments WHERE ticket_attachment_reply_id IS NULL AND ticket_attachment_ticket_id = $ticket_id" ); // Get Tasks $sql_tasks = mysqli_query( $mysqli, "SELECT * FROM tasks WHERE task_ticket_id = $ticket_id ORDER BY task_order ASC, task_id ASC"); $task_count = mysqli_num_rows($sql_tasks); // Get Completed Task Count $sql_tasks_completed = mysqli_query($mysqli, "SELECT * FROM tasks WHERE task_ticket_id = $ticket_id AND task_completed_at IS NOT NULL" ); $completed_task_count = mysqli_num_rows($sql_tasks_completed); ?>

Ticket Resolve ticket

Subject:

State:
Priority:
Tasks:
Assigned to:

$name | View"; } ?>

Your ticket has been resolved


Ticket closed. Please rate your ticket

Rated -- Thanks for your feedback!



purify($row['ticket_reply']); $ticket_reply_created_at = nullable_htmlentities($row['ticket_reply_created_at']); $ticket_reply_updated_at = nullable_htmlentities($row['ticket_reply_updated_at']); $ticket_reply_by = intval($row['ticket_reply_by']); $ticket_reply_type = $row['ticket_reply_type']; if ($ticket_reply_type == "Client") { $ticket_reply_by_display = nullable_htmlentities($row['contact_name']); $user_initials = initials($row['contact_name']); $user_avatar = $row['contact_photo']; $avatar_link = "../uploads/clients/$session_client_id/$user_avatar"; } else { $ticket_reply_by_display = nullable_htmlentities($row['user_name']); $user_id = intval($row['user_id']); $user_avatar = $row['user_avatar']; $user_initials = initials($row['user_name']); $avatar_link = "../uploads/users/$user_id/$user_avatar"; } // Get attachments for this reply $sql_ticket_reply_attachments = mysqli_query( $mysqli, "SELECT * FROM ticket_attachments WHERE ticket_attachment_reply_id = $ticket_reply_id AND ticket_attachment_ticket_id = $ticket_id" ); ?>
mb-3">

User Avatar

$name | View"; } ?>