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); $ticket_id = intval($_GET['id'] ?? 0); $ticket = $ticket_id ? mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT " . portalTicketColumnsSql() . ", tickets.ticket_details, tickets.ticket_feedback, tickets.ticket_assigned_to, tickets.ticket_asset_id, user_name, user_avatar, category_name, contact_name, contact_photo, asset_name, asset_type FROM tickets LEFT JOIN users ON ticket_assigned_to = user_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id LEFT JOIN categories ON ticket_category = category_id LEFT JOIN contacts ON contact_id = tickets.ticket_contact_id LEFT JOIN assets ON asset_id = tickets.ticket_asset_id AND asset_client_id = tickets.ticket_client_id WHERE tickets.ticket_id = $ticket_id AND " . portalTicketScopeSql() . " LIMIT 1")) : null; if (!$ticket) { ?> Tickets
"That ticket isn't here", 'text' => 'It may belong to someone else at your company, or the link is out of date.', 'icon' => 'fa-life-ring', 'filtered' => false, 'actions' => [['label' => 'Your tickets', 'href' => 'tickets.php', 'icon' => 'fa-list']]]) ?>
' . portalAvatarHtml($name, $avatar_url, 'lg') . '
' . '
' . escapeHtml($mine ? 'You' : $name) . '' . ($agent ? '' . escapeHtml($GLOBALS['session_company_name']) . '' : '') . '' . portalDateTime($when) . '
' . '
' . $body_html; if ($files) { $html .= '
'; foreach ($files as $file) { $id = intval($file['ticket_attachment_id']); $html .= '' . '' . escapeHtml($file['ticket_attachment_name']) . '' . ''; } $html .= '
'; } return $html . '
'; } // Where it has got to: received, in progress, resolved, closed $steps = ['Received', 'In progress', 'Resolved', 'Closed']; $at = $closed ? 3 : ($resolved ? 2 : ($state['key'] === 'new' ? 0 : 1)); $requester = (string) ($ticket['contact_name'] ?? ''); $requester_photo = $ticket['contact_photo'] ? "/uploads/clients/$session_client_id/" . $ticket['contact_photo'] : ''; $agent_name = (string) ($ticket['user_name'] ?? ''); ?> Tickets

· opened by

It's fixed
    $step) { ?>

Waiting for your approval

purify($ticket['ticket_details']), $attachments[0] ?? [], intval($ticket['ticket_contact_id']) === $session_contact_id, false) ?>
·
purify($reply['ticket_reply']), $attachments[intval($reply['ticket_reply_id'])] ?? [], $mine, !$client_reply); } ?>

Drop files here, or - screenshots, documents, error logs
'We think this is fixed', 'text' => 'Close it if everything is working - or reopen it if it is not, and tell us what is still wrong.', 'icon' => 'fa-check', 'filtered' => false]) ?>
'How did we do?', 'text' => 'One click tells us how this one went.', 'icon' => 'fa-star', 'filtered' => false]) ?>
Closed and rated - thank you for the feedback.

Details

Ticket
Status
Priority
Category
Raised by
Working on it
Device
Tasks
of done
Opened
Closed
Resolved
Last update

Request details

Not given' ?>