workign comments strucuture
This commit is contained in:
@@ -54,10 +54,10 @@ final class TicketCommentStoreController extends Controller
|
||||
->where('is_active', true)
|
||||
->findOrFail((int) $validated['canned_response_id']);
|
||||
|
||||
$body = trim($renderer->render($response->body, $ticket, $user));
|
||||
$body = trim($response->body);
|
||||
}
|
||||
|
||||
$body = $this->normaliseHtmlBody($body);
|
||||
$body = $this->normaliseHtmlBody($renderer->render($body, $ticket, $user));
|
||||
|
||||
validator(['commentBody' => $body], [
|
||||
'commentBody' => ['required', 'string', 'min:2'],
|
||||
|
||||
@@ -12,6 +12,30 @@
|
||||
$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;
|
||||
|
||||
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()])),
|
||||
]);
|
||||
}
|
||||
|
||||
$containsHtml = $renderedBody !== strip_tags($renderedBody);
|
||||
$renderedBody = preg_replace('/<\s*(script|style)[^>]*>.*?<\s*\/\s*\1\s*>/is', '', $renderedBody) ?: '';
|
||||
$renderedBody = preg_replace('/\s+on[a-z]+\s*=\s*("[^"]*"|\'[^\']*\'|[^\s>]+)/i', '', $renderedBody) ?: '';
|
||||
$renderedBody = preg_replace('/javascript\s*:/i', '', $renderedBody) ?: '';
|
||||
$renderedBody = strip_tags($renderedBody, '<p><br><strong><b><em><i><u><ul><ol><li><blockquote><pre><code><a>');
|
||||
$renderedBody = $containsHtml ? $renderedBody : nl2br(e($renderedBody));
|
||||
@endphp
|
||||
|
||||
@if (! $isInternal || $canSeeInternalNotes)
|
||||
@@ -51,7 +75,7 @@
|
||||
|
||||
<div class="border-t border-zinc-100 px-4 pb-4 pt-3 dark:border-zinc-800">
|
||||
<div class="prose prose-sm max-w-none dark:prose-invert">
|
||||
{!! $comment->body !!}
|
||||
{!! $renderedBody !!}
|
||||
</div>
|
||||
|
||||
@if ($commentAttachments->isNotEmpty())
|
||||
|
||||
Reference in New Issue
Block a user