<?php
namespace App\Http\Controllers;
use App\Models\rekomendasi;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\File;
class RekomendasiController extends Controller
{
public function index()
{
$data['rekomendasi'] = rekomendasi::get();
return view('rekomendasi.index')->with($data);
}
public function show(String $id)
{
$decryptedId = Crypt::decryptString($id);
$data['rekomendasi'] = rekomendasi::where('id', $decryptedId)->first();
return view('rekomendasi.edit')->with($data);
}
public function store(Request $request)
{
$request->validate([
'nik1' => 'required',
'no_telp' => 'required',
'alamat' => 'required',
'email' => 'required|email',
'dasar' => 'required',
'namalengkap1' => 'required',
'organisasi' => 'required',
'tujuan' => 'required',
'surat_dasar' => 'required|file|mimes:csv,xls,xlsx,pdf,xls,doc,docx,pptx,pps',
]);
$data = [
'nik1' => $request->nik1,
'nik2' => $request->nik2,
'nik3' => $request->nik3,
'nik4' => $request->nik4,
'no_telp' => $request->no_telp,
'alamat' => $request->alamat,
'email' => $request->email,
'dasar' => $request->dasar,
'namalengkap1' => $request->namalengkap1,
'namalengkap2' => $request->namalengkap2,
'namalengkap3' => $request->namalengkap3,
'namalengkap4' => $request->namalengkap4,
'organisasi' => $request->organisasi,
'tanggal' => now(),
'status' => 0,
'tujuan' => $request->tujuan,
];
if ($request->hasFile('surat_dasar')) {
$surat_dasar_file = $request->file('surat_dasar');
$surat_dasar_baru = "SuratDasar-" . $surat_dasar_file->getClientOriginalName();
$surat_dasar_file->move(public_path('surat_dasar'), $surat_dasar_baru);
$data['surat_dasar'] = $surat_dasar_baru;
}
rekomendasi::create($data);
return redirect()->back()->with('success', 'Data berhasil tersimpan');
}
public function update(Request $request, String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
$request->validate([
'nik1' => 'required',
'no_telp' => 'required',
'alamat' => 'required',
'dasar' => 'required',
'email' => 'required|email',
'namalengkap1' => 'required',
'organisasi' => 'required',
'tujuan' => 'required',
]);
$data = [
'nik1' => $request->nik1,
'nik2' => $request->nik2,
'nik3' => $request->nik3,
'nik4' => $request->nik4,
'no_telp' => $request->no_telp,
'alamat' => $request->alamat,
'email' => $request->email,
'dasar' => $request->dasar,
'namalengkap1' => $request->namalengkap1,
'namalengkap2' => $request->namalengkap2,
'namalengkap3' => $request->namalengkap3,
'namalengkap4' => $request->namalengkap4,
'organisasi' => $request->organisasi,
'tanggal' => now(),
'status' => 0,
'tujuan' => $request->tujuan,
];
if ($request->hasFile('surat_dasar')) {
$surat_dasar_file = $request->file('surat_dasar');
$surat_dasar_baru = "SuratDasar-" . $surat_dasar_file->getClientOriginalName();
$surat_dasar_file->move(public_path('surat_dasar'), $surat_dasar_baru);
$data['surat_dasar'] = $surat_dasar_baru;
$getfile = rekomendasi::where('id', $decryptedId)->first();
$file_lama = $getfile->surat_dasar;
File::delete(public_path('surat_dasar') . "/" . $file_lama);
}
rekomendasi::where('id', $decryptedId)->update($data);
return redirect()->back()->with('success', 'Data berhasil terubah!');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
public function destroy(String $id)
{
try {
$decryptedId = Crypt::decryptString($id);
rekomendasi::where('id', $decryptedId)->delete();
return redirect()->route('rekomendasiadmin.index')->with('delete', 'Data successfully deleted');
} catch (DecryptException $e) {
return redirect()->back()->with('error', 'Invalid ID');
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]