관리-도구
편집 파일: WebsitController.php
<?php namespace App\Http\Controllers; use App\Models\Websit; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Log; class WebsitController extends Controller { public function index() { $websites = Websit::latest()->get(); return view('admin.websit', compact('websites')); } public function store(Request $request) { try { $request->validate([ 'm_name' => 'required|string|max:150', 'm_key' => 'required|string|max:150', 'm_discription' => 'required|string|max:255', 'm_titile' => 'required|string|max:150', 'm_logo' => 'required|image|mimes:png,jpg,jpeg,webp', 'm_favicon' => 'required|image|mimes:png,jpg,jpeg,webp', 'm_all' => 'required|string|max:150', ]); $logoPath = $request->file('m_logo')->store('website/logo', 'public'); $faviconPath = $request->file('m_favicon')->store('website/favicon', 'public'); Websit::create([ 'm_name' => $request->m_name, 'm_key' => $request->m_key, 'm_discription' => $request->m_discription, 'm_titile' => $request->m_titile, 'm_logo' => $logoPath, 'm_favicon' => $faviconPath, 'm_all' => $request->m_all, ]); return redirect()->route('websit.index')->with('success', 'Website added successfully'); } catch (\Exception $e) { Log::error($e->getMessage()); return back()->with('error', 'Something went wrong'); } } public function update(Request $request, $id) { try { $websit = Websit::findOrFail($id); $request->validate([ 'm_name' => 'required|string|max:150', 'm_key' => 'required|string|max:150', 'm_discription' => 'required|string|max:255', 'm_titile' => 'required|string|max:150', 'm_logo' => 'nullable|image|mimes:png,jpg,jpeg,webp', 'm_favicon' => 'nullable|image|mimes:png,jpg,jpeg,webp', 'm_all' => 'required|string|max:150', ]); if ($request->hasFile('m_logo')) { Storage::disk('public')->delete($websit->m_logo); $websit->m_logo = $request->file('m_logo')->store('website/logo', 'public'); } if ($request->hasFile('m_favicon')) { Storage::disk('public')->delete($websit->m_favicon); $websit->m_favicon = $request->file('m_favicon')->store('website/favicon', 'public'); } $websit->update([ 'm_name' => $request->m_name, 'm_key' => $request->m_key, 'm_discription' => $request->m_discription, 'm_titile' => $request->m_titile, 'm_all' => $request->m_all, ]); return redirect()->route('websit.index')->with('success', 'Website updated'); } catch (\Exception $e) { Log::error($e->getMessage()); return back()->with('error', 'Update failed'); } } public function destroy($id) { $websit = Websit::findOrFail($id); Storage::disk('public')->delete([$websit->m_logo, $websit->m_favicon]); $websit->delete(); return redirect()->route('websit.index')->with('success', 'Website deleted'); } }