title; $link = $request->link; $picture = $request->picture; $request->validate([ 'title' => 'required|max:100', 'link' => 'required|max:255', 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=760,height=456', ]); $imageName = Str::slug($title) . '-le-gaulois.' . $picture->extension(); $picture->move(public_path('images/publicites/' . date('Y') . '/' . date('m')), $imageName); $a = new Ads(); $a->title = $title; $a->link = $link; $a->picture = date('Y') . '/' . date('m') . '/' . $imageName; $a->status = 0; $a->save(); return redirect()->route('bo.ads.index'); } public function edit($id) { $a = Ads::findOrFail($id); return view('bo.ads.edit', compact('a')); } public function update(Request $request, $id) { $title = $request->title; $link = $request->link; $picture = $request->picture; $status = $request->status === null ? 0 : 1 ; $request->validate([ 'title' => 'required|max:100', 'link' => 'required|max:255', ]); if ($picture !== NULL){ $request->validate([ 'picture' => 'image|mimes:jpeg,png,jpg|max:2048|dimensions:width=760,height=456', ]); } $a = Ads::findOrFail($id); if ($picture !== NULL){ if(file_exists(public_path('images/publicites/') . $a->picture)) unlink(public_path('images/publicites/') . $a->picture); $imageName = Str::slug($title) .'-le-gaulois.'.$picture->extension(); $picture->move(public_path('images/publicites/' . date('Y') . '/' . date('m')), $imageName); } $a->title = $title; $a->link = $link; if ($picture !== NULL) $a->picture = date('Y') . '/' . date('m') . '/' . $imageName; $a->status = $status; $a->save(); return redirect()->route('bo.ads.edit', ['ad' => $a->id])->with('success', 'Enregistré !'); } public function destroy($id) { $a = Ads::findOrFail($id); if(file_exists(public_path('images/publicites/') . $a->picture)) unlink(public_path('images/publicites/') . $a->picture); $a->delete(); return redirect()->route('bo.ads.index'); } }