title; $picture = $request->picture; $link = $request->link; $associatedPage = $request->associated_page; $publishDate = $request->publish_date; $deactivatePage = $request->deactivate_date; $status = 0; $request->validate([ 'title' => 'required|max:100', 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048', 'link' => 'required|max:255', 'associated_page' => 'required|max:255', 'publish_date' => 'required|date', 'deactivate_date' => 'required|date', ]); $imageName = Str::slug($title) . '-le-gaulois.' . $picture->extension(); $picture->move(public_path('images/qr_codes/' . date('Y') . '/' . date('m') . '/'), $imageName); $q = new QrCodes(); $q->title = $title; $q->picture = date('Y') . '/' . date('m') . '/' . $imageName; $q->link = $link; $q->associated_page = $associatedPage; $q->publish_date = $publishDate; $q->deactivate_date = $deactivatePage; $q->status = $status; $q->save(); return redirect()->route('bo.qr-codes.index'); } public function edit($id) { $q = QrCodes::findOrFail($id); return view('bo.qr-codes.edit', compact('q')); } public function update(Request $request, $id) { $title = $request->title; $picture = $request->picture; $link = $request->link; $associatedPage = $request->associated_page; $publishDate = $request->publish_date; $deactivatePage = $request->deactivate_date; $status = $request->status === null ? 0 : 1; $request->validate([ 'title' => 'required|max:100', 'link' => 'required|max:255', 'associated_page' => 'required|max:255', 'publish_date' => 'required|date', 'deactivate_date' => 'required|date', ]); if ($picture !== null) { $request->validate([ 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048', ]); } $q = QrCodes::findOrFail($id); if ($picture !== null) { if (file_exists(public_path('images/qr_codes/') . $q->picture)) unlink(public_path('images/qr_codes/') . $q->picture); $imageName = Str::slug($title) . '-le-gaulois.' . $picture->extension(); $picture->move(public_path('images/qr_codes/' . date('Y') . '/' . date('m') . '/'), $imageName); } $q->title = $title; if ($picture !== null) $q->picture = date('Y') . '/' . date('m') . '/' . $imageName; $q->link = $link; $q->associated_page = $associatedPage; $q->publish_date = $publishDate; $q->deactivate_date = $deactivatePage; $q->status = $status; $q->save(); return redirect()->route('bo.qr-codes.index'); } public function destroy($id) { $q = QrCodes::findOrFail($id); if (file_exists(public_path('images/qr-codes/' . date('Y') . '/' . date('m') . '/') . $q->picture)) unlink(public_path('images/qr-codes/' . date('Y') . '/' . date('m') . '/') . $q->picture); $q->delete(); return redirect()->route('bo.qr-codes.index'); } }