get(); return view('bo.articles.index', compact('a')); } public function create() { $ac = ArticlesCategories::all(); return view('bo.articles.create', compact('ac')); } public function store(Request $request) { $title = $request->title; $picture = $request->picture; $picture_r = $request->picture_r; $content = $request->content; $category_id = $request->category; $status = 0; $notification = $request->notification === null ? 0 : 1; $request->validate([ 'title' => 'required|max:100', 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=340,height=340', 'picture_r' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=780,height=508', 'content' => 'required|max:8000', ]); $imageName = Str::slug($title) .'-le-gaulois-' . date('d-m-Y') . '.' . $picture->extension(); $picture->move(public_path('images/articles/' . date('Y') . '/' . date('m')), $imageName); $imageName_r = Str::slug($title) .'-le-gaulois-' . date('d-m-Y') . '_r.' . $picture_r->extension(); $picture_r->move(public_path('images/articles/' . date('Y') . '/' . date('m')), $imageName_r); $a = new Articles(); $a->title = $title; $a->picture = date('Y') . '/' . date('m') . '/' . $imageName; $a->picture_r = date('Y') . '/' . date('m') . '/' . $imageName_r; $a->content = $content; $a->category_id = $category_id; $a->status = $status; $a->notification = $notification; $a->save(); return redirect()->route('bo.articles.index'); } public function edit($id) { $a = Articles::findOrFail($id); $ac = ArticlesCategories::all(); return view('bo.articles.edit') ->with('a', $a) ->with('ac', $ac) ; } public function update(Request $request, $id) { $title = $request->title; $picture = $request->picture; $picture_r = $request->picture_r; $content = $request->content; $category_id = $request->category; $status = $request->status === null ? 0 : 1; $notification = $request->notification === null ? 0 : 1; $request->validate([ 'title' => 'required|max:100', 'content' => 'required|max:8000', ]); if ($picture !== NULL && $picture_r !== NULL){ $request->validate([ 'picture' => 'image|mimes:jpeg,png,jpg|max:2048|dimensions:width=340,height=340', 'picture_r' => 'image|mimes:jpeg,png,jpg|max:2048|dimensions:width=780,height=508', ]); }elseif ($picture !== NULL && $picture_r === NULL){ $request->validate([ 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=340,height=340' ]); }elseif ($picture === NULL && $picture_r !== NULL){ $request->validate([ 'picture_r' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=780,height=508' ]); } $a = Articles::findOrFail($id); if ($picture !== NULL){ if(file_exists(public_path('images/articles/') . $a->picture)) unlink(public_path('images/articles/') . $a->picture); $imageName = Str::slug($title) .'.'.$picture->extension(); $picture->move(public_path('images/articles/' . date('Y') . '/' . date('m') . '/'), $imageName); } if ($picture_r !== NULL) { if(file_exists(public_path('images/articles/') . $a->picture_r)) unlink(public_path('images/articles/') . $a->picture_r); $imageName_r = Str::slug($title) . '_r.' . $picture_r->extension(); $picture_r->move(public_path('images/articles/' . date('Y') . '/' . date('m') . '/'), $imageName_r); } $a->title = $title; if ($picture !== null) $a->picture = date('Y') . '/' . date('m') . '/' . $imageName; if ($picture_r !== null) $a->picture_r = date('Y') . '/' . date('m') . '/' . $imageName_r; $a->content = $content; $a->category_id = $category_id; $a->status = $status; $a->notification = $notification; $a->save(); return redirect()->route('bo.articles.edit', $a->id)->with('success', 'Enregistré !'); } public function destroy($id) { $a = Articles::findOrFail($id); if (file_exists(public_path('images/articles/') . $a->picture)); unlink(public_path('images/articles/') . $a->picture); if (file_exists(public_path('images/articles/') . $a->picture_r)); unlink(public_path('images/articles/') . $a->picture_r); $a->delete(); return redirect()->route('bo.articles.index'); } }