get(); return view('admin.informasi.index', compact('informasi')); } // Form tambah informasi public function create() { return view('admin.informasi.create'); } // Simpan informasi baru public function store(Request $request) { $validator = Validator::make($request->all(), [ 'kategori_informasi' => 'required|in:berita,pengumuman', 'judul_informasi' => 'required|string|max:255', 'isi_informasi' => 'required|string', 'tanggal_informasi' => 'required|date', 'gambar_informasi' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', ]); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } $data = $request->only( 'kategori_informasi', 'judul_informasi', 'isi_informasi', 'tanggal_informasi' ); if ($request->hasFile('gambar_informasi')) { $data['gambar_informasi'] = $request->file('gambar_informasi') ->store('informasi', 'public'); } Informasi::create($data); return redirect()->route('admin.informasi.index') ->with('success','Informasi berhasil ditambahkan.'); } // Form edit informasi public function edit($id_informasi) { $informasi = Informasi::findOrFail($id_informasi); return view('admin.informasi.edit', compact('informasi')); } // Update informasi public function update(Request $request, $id_informasi) { $informasi = Informasi::findOrFail($id_informasi); $validator = Validator::make($request->all(), [ 'kategori_informasi' => 'required|in:berita,pengumuman', 'judul_informasi' => 'required|string|max:255', 'isi_informasi' => 'required|string', 'tanggal_informasi' => 'required|date', 'gambar_informasi' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', ]); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } $data = $request->only( 'kategori_informasi', 'judul_informasi', 'isi_informasi', 'tanggal_informasi' ); if ($request->hasFile('gambar_informasi')) { if ($informasi->gambar_informasi) { Storage::disk('public')->delete($informasi->gambar_informasi); } $data['gambar_informasi'] = $request->file('gambar_informasi') ->store('informasi','public'); } $informasi->update($data); return redirect()->route('admin.informasi.index') ->with('success','Informasi berhasil diperbarui.'); } // Hapus informasi public function destroy($id_informasi) { $informasi = Informasi::findOrFail($id_informasi); if ($informasi->gambar_informasi) { Storage::disk('public')->delete($informasi->gambar_informasi); } $informasi->delete(); return redirect()->route('admin.informasi.index') ->with('success','Informasi berhasil dihapus.'); } }