tag rendering pass one

This commit is contained in:
Mark Gregory
2026-06-17 10:48:14 +01:00
parent 26e428cd5f
commit febdb7da7a
4 changed files with 147 additions and 37 deletions
@@ -12,21 +12,31 @@
$isInternal = (bool) $comment->is_internal;
$borderClass = $isInternal ? 'border-amber-300 dark:border-amber-700' : 'border-red-200 dark:border-red-900/70';
$railClass = $isInternal ? 'bg-amber-500' : 'bg-red-500';
$renderedBody = (string) $comment->body;
$renderedBody = html_entity_decode((string) $comment->body, ENT_QUOTES | ENT_HTML5, 'UTF-8');
while (str_contains($renderedBody, '<') || str_contains($renderedBody, '>') || str_contains($renderedBody, '<')) {
$decodedBody = html_entity_decode($renderedBody, ENT_QUOTES | ENT_HTML5, 'UTF-8');
if ($decodedBody === $renderedBody) {
break;
}
$renderedBody = $decodedBody;
}
if ($currentTicket !== null) {
$renderedBody = strtr($renderedBody, [
'{{ ticket.reference }}' => e((string) ($currentTicket->reference ?? '')),
'{{ ticket.subject }}' => e((string) ($currentTicket->subject ?? '')),
'{{ ticket.status }}' => e((string) ($currentTicket->status?->name ?? '')),
'{{ ticket.priority }}' => e((string) ($currentTicket->priority?->name ?? '')),
'{{ ticket.category }}' => e((string) ($currentTicket->category?->name ?? '')),
'{{ ticket.project }}' => e((string) ($currentTicket->project?->title ?? '')),
'{{ ticket.team }}' => e((string) ($currentTicket->team?->name ?? '')),
'{{ requester.name }}' => e((string) ($currentTicket->owner?->name ?? $currentTicket->user?->name ?? '')),
'{{ agent.name }}' => e((string) ($currentTicket->agent?->name ?? '')),
'{{ actor.name }}' => e((string) ($commentUser?->name ?? '')),
'{{ ticket.url }}' => e(route('helpdesk.tickets.show', ['ticket' => $currentTicket->getKey()])),
'{{ ticket.reference }}' => (string) e((string) ($currentTicket->reference ?? '')),
'{{ ticket.subject }}' => (string) e((string) ($currentTicket->subject ?? '')),
'{{ ticket.status }}' => (string) e((string) ($currentTicket->status?->name ?? '')),
'{{ ticket.priority }}' => (string) e((string) ($currentTicket->priority?->name ?? '')),
'{{ ticket.category }}' => (string) e((string) ($currentTicket->category?->name ?? '')),
'{{ ticket.project }}' => (string) e((string) ($currentTicket->project?->title ?? '')),
'{{ ticket.team }}' => (string) e((string) ($currentTicket->team?->name ?? '')),
'{{ requester.name }}' => (string) e((string) ($currentTicket->owner?->name ?? $currentTicket->user?->name ?? '')),
'{{ agent.name }}' => (string) e((string) ($currentTicket->agent?->name ?? '')),
'{{ actor.name }}' => (string) e((string) ($commentUser?->name ?? '')),
'{{ ticket.url }}' => (string) e(route('helpdesk.tickets.show', ['ticket' => $currentTicket->getKey()])),
]);
}