⚝
One Hat Cyber Team
⚝
Your IP:
160.79.110.123
Server IP:
162.254.39.145
Server:
Linux premium289.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
favoaysf
/
www
/
app
/
Http
/
Controllers
/
User
/
View File Name :
TicketController.php
<?php namespace App\Http\Controllers\User; use App\Helpers\EmailHelper; use App\Http\Controllers\Controller; use App\Models\Message; use App\Models\Setting; use App\Models\Ticket; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; class TicketController extends Controller { public function __construct() { $this->middleware('auth'); $this->middleware('localize'); } public function ticket() { $tickets = Ticket::where('user_id', Auth::user()->id)->get(); return view('user.dashboard.ticket', compact('tickets')); } public function ticketNew() { return view('user.dashboard.ticket-new'); } public function ticketView($id) { $ticket = Ticket::findOrFail($id); return view('user.dashboard.ticket-view', compact('ticket')); } public function ticketStore(Request $request) { // validations $request->validate([ 'file' => 'file|mimes:zip|max:5000', 'message' => 'required|max:255', 'subject' => 'required|max:255' ]); $input = $request->all(); $input['user_id'] = Auth::user()->id; $input['status'] = 'Open'; // file upload if ($request->has('file') && $request->file->getClientOriginalExtension() != 'zip') { Session::flash('error', __('File type not supported.')); } if ($request->has('file')) { $file = $request->file; $name = time() . str_replace(' ', '', $file->getClientOriginalName()); $file->move('assets/files/', $name); $input['file'] = $name; } $ticket = Ticket::create($input); $message = new Message(); $message->ticket_id = $ticket->id; $message->user_id = Auth::user()->id; $message->message = $request->message; $message->save(); if (Setting::first()->ticket_mail == 1) { $mailData = [ 'to' => Setting::first()->contact_email, 'type' => 'ticket', 'body' => __('You got a new message from. ' . auth()->user()->first_name), 'subject' => __('Support Ticket'), ]; $emailHelper = new EmailHelper(); $emailHelper->sendCustomMail($mailData); } Session::flash('success', __('Ticket Created Successfully.')); return redirect()->route('user.ticket'); } public function ticketReply(Request $request) { $request->validate([ 'message' => 'required|max:255' ]); $message = new Message(); $message->ticket_id = $request->ticket_id; $message->user_id = Auth::user()->id; $message->message = $request->message; $message->save(); if (Setting::first()->ticket_mail == 1) { $mailData = [ 'to' => Setting::first()->contact_email, 'type' => 'ticket', 'body' => __('You got a new message from. ' . auth()->user()->first_name), 'subject' => __('Support Ticket Reply'), ]; $emailHelper = new EmailHelper(); $emailHelper->sendCustomMail($mailData); } Session::flash('success', __('Reply Send Successfully.')); return redirect()->back(); } public function ticketDelete($id) { if (Ticket::whereId($id)->where('user_id', Auth::user()->id)->exists()) { $ticket = Ticket::findOrFail($id); $messages = $ticket->messages; if ($messages->count() > 0) { foreach ($messages as $message) { $message->delete(); } } if ($ticket->file) { @unlink('assets/files/' . $ticket->file); } $ticket->delete(); Session::flash('success', __('Ticket Delete Successfully.')); return redirect()->back(); } } }