99 lines
3.0 KiB
PHP
99 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Galeri;
|
|
use Illuminate\Http\Request;
|
|
|
|
class GaleriController extends Controller
|
|
{
|
|
public function index(){
|
|
$galeri = Galeri::all();
|
|
return view('galeri.index', compact(['galeri']));
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return view('galeri.create');
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
// Validasi request
|
|
$request->validate([
|
|
'nama_kucing' => 'required',
|
|
'deskripsi' => 'required',
|
|
'gambar_kucing' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048', // validasi untuk file gambar
|
|
]);
|
|
|
|
// Simpan gambar
|
|
$imageName = $this->upload_file($request->file('gambar_kucing'), $request->nama_kucing);
|
|
|
|
// Simpan data galeri ke dalam database
|
|
Galeri::create([
|
|
'nama_kucing' => $request->nama_kucing,
|
|
'deskripsi' => $request->deskripsi,
|
|
'gambar_kucing' => $imageName, // Simpan nama gambar ke dalam database
|
|
]);
|
|
|
|
return redirect('/galeri')->with('success', 'Data galeri berhasil disimpan');
|
|
}
|
|
|
|
// fungsi mengunggah file
|
|
public function upload_file($image, $nama_kucing){
|
|
// Generate nama file baru
|
|
$imageName = strtolower($nama_kucing) . '.' . $image->getClientOriginalExtension();
|
|
|
|
// Pindahkan gambar ke folder yang diinginkan
|
|
$image->move(public_path('img/galeri'), $imageName);
|
|
|
|
return $imageName;
|
|
}
|
|
|
|
|
|
public function edit($id)
|
|
{
|
|
$galeri = Galeri::find($id);
|
|
return view('galeri.edit', compact('galeri'));
|
|
}
|
|
|
|
public function update($id, Request $request)
|
|
{
|
|
$galeri = Galeri::find($id);
|
|
|
|
// Validasi request
|
|
$request->validate([
|
|
'nama_kucing' => 'required',
|
|
'deskripsi' => 'required',
|
|
'gambar_kucing' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', // validasi untuk file gambar
|
|
]);
|
|
|
|
// Jika ada gambar baru yang diunggah, simpan gambar yang baru
|
|
if ($request->hasFile('gambar_kucing')) {
|
|
// Hapus gambar lama dari server
|
|
if ($galeri->gambar_kucing) {
|
|
unlink(public_path('img/galeri/' . $galeri->gambar_kucing));
|
|
}
|
|
// Simpan gambar baru
|
|
$imageName = $this->upload_file($request->file('gambar_kucing'), $request->nama_kucing); // tambahkan $request->nama_kucing sebagai parameter
|
|
$galeri->gambar_kucing = $imageName;
|
|
}
|
|
|
|
// Update data galeri ke dalam database
|
|
$galeri->nama_kucing = $request->nama_kucing;
|
|
$galeri->deskripsi = $request->deskripsi;
|
|
$galeri->save();
|
|
|
|
return redirect('/galeri')->with('success', 'Data galeri berhasil diperbarui');
|
|
}
|
|
|
|
|
|
public function destroy($id)
|
|
{
|
|
$galeri = Galeri::findOrFail($id);
|
|
$galeri->delete();
|
|
|
|
return redirect('/galeri')->with('success', 'Data berhasil dihapus');
|
|
}
|
|
}
|