File manager - Edit - /home/autoph/public_html/projects/tickets-autohub/app/Http/Controllers/FormController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use App\Models\FormsModel; use Illuminate\Support\Facades\Storage; use App\Models\User; class FormController extends Controller { public function index(){ $user_company_id =\App\Models\Company::select('id')->where('comp_code',Auth::user()->comp_code)->first(); if($user_company_id){ $current_company_id =$user_company_id['id']; } $user = new User; $userRole = $user->getUserRole(); return view('layouts.authentication.admin.forms.index',['user_current_company_id'=>$current_company_id,'userRole'=> $userRole]) ->with(['title_page'=>"Forms"]); } public function listForms(Request $request){ $searchKeyword = $request->search['value'] ?? ''; $searchType = $request->search_type ?? ''; $orderColumnIndex = $request->order[0]['column']; $orderDir = $request->order[0]['dir']; $orderColumn = $request->columns[$orderColumnIndex]['data']; $limit = $request->length; $offset = $request->start; $query = FormsModel:: select( 'downloadable_forms.id','downloadable_forms.name','downloadable_forms.ext','downloadable_forms.path','downloadable_forms.created_at', 'downloadable_forms.description', DB::raw("departments.dept_name as department"),DB::raw("CONCAT(f_name,' ',l_name) as created_by") ) ->leftJoin('departments','downloadable_forms.department_id','=','departments.id') ->leftJoin('users','downloadable_forms.created_by','=','users.id'); if (!empty($searchKeyword)) { $query->where('downloadable_forms.name', 'like', '%' . $searchKeyword . '%'); // switch ($searchType) { // case "ASA ID": // $query->where('support.asa_id', 'like', '%' . $searchKeyword . '%'); // break; // case "Name": // $query->where(function ($q) use ($searchKeyword) { // $q->where(DB::raw("CONCAT(support.f_name, ' ', support.l_name)"), 'like', '%' . $searchKeyword . '%'); // }); // break; // default: // // Apply general search on f_name, l_name, and ticket number // $query->where(function ($q) use ($searchKeyword) { // $q->where('support.asa_id', 'like', '%' . $searchKeyword . '%') // ->orWhere(DB::raw("CONCAT(support.f_name, ' ', support.l_name)"), 'like', '%' . $searchKeyword . '%') // ->orWhere('ticket.ticket_no', 'like', '%' . $searchKeyword . '%'); // }); // break; // } } $query =$query->offset($offset) ->limit($limit); $results = $query->get(); DB::enableQueryLog(); // $totalRecords = DB::table('downloadable_forms'); // $totalRecords = $totalRecords->count(); $totalRecords = FormsModel::count(); $filteredRecords = $totalRecords; $data = []; foreach ($results as $row) { $data[] = [ "id" => $row->id, "name" => $row->name, "department" => $row->department, 'file_extension' => $row->ext, 'file_path' => $row->path, 'description' => $row->description, 'created_at' => date('F jS, Y h:i:s A', strtotime($row->created_at)), 'created_by' => $row->created_by, ]; } // Prepare response for DataTables $result = [ 'draw' => intval($request->draw), 'recordsTotal' => $totalRecords, 'recordsFiltered' => $filteredRecords, 'data' => $data, ]; return response()->json($result); } public function store(Request $request){ // dd($request->all());exit; $request->validate([ 'attachment' => 'required|file|max:2048', // Adjust max file size as needed ]); // Get the uploaded file $file = $request->file('attachment'); // Extract file details $originalName = $file->getClientOriginalName(); $size = $file->getSize(); $extension = $file->getClientOriginalExtension(); $mimeType = $file->getMimeType(); // Store the file in storage/app/uploads $filePath = $file->store('forms_dl', 'public'); DB::beginTransaction(); try { $savedFile = new FormsModel(); $savedFile->name = $request->_filename; $savedFile->original_name = $originalName; $savedFile->department_id = Auth::user()->department_id; $savedFile->size = $size; $savedFile->ext = $extension; // $savedFile->mime_type = $mimeType; $savedFile->description = $request->_desc; $savedFile->path = $filePath; $savedFile->created_by = Auth::user()->id; $savedFile->created_at = date('Y-m-d h:i:s'); $savedFile->save(); DB::commit(); return response()->json(['status' => '201','message' => 'File uploaded successfully!', 'data' => $savedFile], 201); } catch (Throwable $e) { DB::rollback(); // Rollback the transaction on failure return response()->json([ 'status' => 'failed', 'message' => 'Unable to process request. Please try again.', 'data' => $e->getMessage() ], 500); // Return a 500 status code for server error } } public function deleteFile(Request $request) { $filePath = $request->file_path; if (Storage::exists("public/{$filePath}")) { Storage::delete("public/{$filePath}"); FormsModel::where('id', $request->record_id)->delete(); return response()->json(['success' => true, 'message' => 'File deleted successfully']); } return response()->json(['success' => false, 'message' => 'File not found'], 404); } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.4 |
proxy
|
phpinfo
|
Settings