middleware(['auth','maintenance_mode']); } public function store(Request $request) { $request->validate([ 'text' => 'required', 'ticket_id' => 'required|numeric', 'ticket_file.*' => 'nullable|mimes:jpg,jpeg,bmp,png,doc,docx,csv,rtf,xlsx,xls,txt,pdf,sql', 'status_id' => 'nullable' ]); try { $ticket_id = $request->input('ticket_id'); if ($request->text != '') { $ticketMessage = TicketMessage::create([ 'ticket_id' => $ticket_id, 'text' => $request->input('text'), 'user_id' => auth()->user()->id, 'type' => $request->type ]); if ($request->hasFile('ticket_file')) { if (!file_exists(asset_path('uploads/message_ticket_image/'))) { mkdir(asset_path('uploads/message_ticket_image/'), 0777, true); } $files = $request->file('ticket_file'); foreach ($files as $file) { $file_original_name = $file->getClientOriginalName(); $fileName = md5($file->getClientOriginalName() . time()) . "." . $file->getClientOriginalExtension(); $file->move(asset_path('uploads/message_ticket_image/'), $fileName); $filePath = 'uploads/message_ticket_image/' . $fileName; $messageFile = new TicketMessageFile(); $messageFile->message_id = $ticketMessage->id; $messageFile->url = $filePath; $messageFile->name = $file->getClientOriginalName(); $messageFile->type = $file->getClientOriginalExtension(); $messageFile->save(); } } } $status_id = $request->input('status_id'); $this->updateTicketStatus($ticket_id, $status_id, Carbon::now()); Toastr::success(__('common.send_successfully'), __('common.success')); LogActivity::successLog('ticket message store successful.'); return redirect()->back(); } catch (\Exception $e) { LogActivity::errorLog($e->getMessage()); Toastr::error(__('common.error_message'), __('common.error')); return redirect()->back(); } } public function updateTicketStatus($ticketId, $statusId, $updated_at) { $ticket = SupportTicket::findOrFail($ticketId); if (!$statusId) { $statusId = $ticket->status_id; } if ($ticket->status_id != $statusId) { $ticket->status_id = $statusId; } $ticket->updated_at = $updated_at; LogActivity::successLog('ticket message update successful.'); $ticket->save(); } }