$tickets]); } public function storeResponse(Request $request) { $this->validate($request, [ 'message' => 'required' ]); // Load the HTML content into DOMDocument $dom = new \DOMDocument(); libxml_use_internal_errors(true); // Prevents HTML errors from being thrown as exceptions $dom->loadHTML('' . $request->message); libxml_clear_errors(); // Get all
tags $paragraphs = $dom->getElementsByTagName('p'); // Add classes to each
tag foreach ($paragraphs as $paragraph) { $existingClasses = $paragraph->getAttribute('class'); $paragraph->setAttribute('class', trim($existingClasses . ' user-message bg-light-green-color color-light')); } // Save the modified HTML $messageWithClasses = $dom->saveHTML($dom->documentElement); $response = new Response; $response->message = $messageWithClasses; $response->ticket_id = $request->ticket_id; $response->user_id = 1; $response->save(); // Return the updated response and time return response()->json([ 'message' => strip_tags($response->message), // Stripping HTML tags 'created_at' => $response->created_at->format('h:i A') // Formatting time ]); } public function updateStatus(Request $request, $ticketId) { $request->validate([ 'status' => 'required|in:open,waiting,done', ]); $ticket = Ticket::find($ticketId); $ticket->status = $request->status; $ticket->save(); // Return a response if necessary return response()->json(['message' => 'Ticket status updated successfully']); } public function storeComment(Request $request) { $request->validate([ 'ticket_id' => 'required|exists:tickets,id', 'comment' => 'required|string', ]); // Assuming authenticated user $user_id = auth()->id(); $comment = new Comment(); $comment->author = $user_id; $comment->ticket_id = $request->ticket_id; $comment->comment = $request->comment; $comment->save(); return $comment; } }