From febdb7da7a1e6f71ffd1003d1db49fae4d9e0c21 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Wed, 17 Jun 2026 10:48:14 +0100 Subject: [PATCH] tag rendering pass one --- .../TicketCommentStoreController.php | 1 + .../views/livewire/ticket-show.blade.php | 134 +++++++++++++++--- .../views/partials/comment-thread.blade.php | 34 +++-- .../Browser/HelpdeskTicketBrowserTest.php | 15 +- 4 files changed, 147 insertions(+), 37 deletions(-) diff --git a/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php b/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php index 9f4b4102..5f3af4d3 100644 --- a/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php +++ b/Modules/Helpdesk/Http/Controllers/TicketCommentStoreController.php @@ -84,6 +84,7 @@ final class TicketCommentStoreController extends Controller */ private function normaliseHtmlBody(string $body): string { + $body = html_entity_decode($body, ENT_QUOTES | ENT_HTML5, 'UTF-8'); $body = preg_replace('/<\s*(script|style)[^>]*>.*?<\s*\/\s*\1\s*>/is', '', $body) ?: ''; $body = preg_replace('/\s+on[a-z]+\s*=\s*("[^"]*"|\'[^\']*\'|[^\s>]+)/i', '', $body) ?: ''; $body = preg_replace('/javascript\s*:/i', '', $body) ?: ''; diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php index 74f47805..7754ff5c 100644 --- a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php +++ b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php @@ -153,17 +153,26 @@ @endif + @php + $oldCommentBody = html_entity_decode((string) old('commentBody'), ENT_QUOTES | ENT_HTML5, 'UTF-8'); + $oldCommentBody = preg_replace('/<\s*(script|style)[^>]*>.*?<\s*\/\s*\1\s*>/is', '', $oldCommentBody) ?: ''; + $oldCommentBody = preg_replace('/\s+on[a-z]+\s*=\s*("[^"]*"|\'[^\']*\'|[^\s>]+)/i', '', $oldCommentBody) ?: ''; + $oldCommentBody = preg_replace('/javascript\s*:/i', '', $oldCommentBody) ?: ''; + $oldCommentBody = strip_tags($oldCommentBody, '