middleware(['auth','verified']); } public function Index(){ $articles = Promotion::paginate(5); return view("backend.promotion.index",compact('articles')); } public function create(){ $produits = Produit::select('nom', 'id')->oldest('nom')->get(); $produit = Promotion::with('produits')->first(); return view('backend.promotion.add',compact('produits','produit')); } public function store(Request $request) { request()->validate([ 'titre'=> 'required', 'produits'=> 'required', 'description'=> 'required', ]); $article = new Promotion(); $article->titre = $request->input('titre'); $article->produit_id = $request->input('produits'); $article->debut = $request->input('debut'); $article->fin = $request->input('fin'); $article->mot_cle = $request->input('mot_cle'); if ($request->filled('titre_seo')) { $article->titre_seo = $request->input('titre_seo'); }else{ $article->titre_seo = $request->input('titre'); } if ($request->filled('resume_seo')) { $article->resume_seo = $request->input('resume_seo'); }else{ $article->resume_seo = strip_tags( $request->input('texte')); } $article->description = $request->input('description'); $article->remise = $request->input('remise'); $article->save(); return redirect()->route('promotions'); } public function createPack(){ return view('backend.promotion.Pack'); } public function storePack(Request $request) { request()->validate([ 'titre'=> 'required', 'description'=> 'required', ]); $tmp_file = temporaryFile::where('folder',$request->image)->first(); if($tmp_file){ Storage::copy('image/tmp/'.$tmp_file->folder.'/'.$tmp_file->file,'image/'.$tmp_file->folder.'/'.$tmp_file->file); if ($request->filled('titre_seo')) { Promotion::create( [ 'titre' => $request->input('titre'), 'debut' => $request->input('debut'), 'fin' => $request->input('fin'), 'titre_seo' => $request->titre_seo, 'resume_seo' => $request->resume_seo, 'mot_cle' => $request->mot_cle, 'description' => $request->input('description'), 'remise' => $request->input('remise'), 'photo' => $tmp_file->folder . '/' . $tmp_file->file, ], ); }else{ Promotion::create( [ 'titre' => $request->input('titre'), 'debut' => $request->input('debut'), 'fin' => $request->input('fin'), 'titre_seo' => $request->titre, 'resume_seo' => strip_tags( $request->description), 'mot_cle' => $request->mot_cle, 'description' => $request->input('description'), 'remise' => $request->input('remise'), 'photo' => $tmp_file->folder . '/' . $tmp_file->file, ], ); } Storage::deleteDirectory('image/tmp/'.$tmp_file->folder); $tmp_file->delete(); return redirect()->route('promotions'); } } public function show($id){ $article=Promotion::find($id); $articles = Promotion::with('produits')->get(); return view('backend.promotion.show',compact('article','articles')); } public function edit($id) { $article = Promotion::find($id); $produits = Produit::select('nom', 'id')->oldest('nom')->get(); return view('backend.promotion.edit',['article'=>$article],compact('produits')); } public function update(Request $request,$id) { $article=Promotion::find($id); $article->titre = $request->input('titre'); $article->produit_id = $request->input('produits'); $article->debut = $request->input('debut'); $article->fin = $request->input('fin'); if ($request->filled('titre_seo')) { $article->titre_seo = $request->input('titre_seo'); }else{ $article->titre_seo = $request->input('titre'); } if ($request->filled('resume_seo')) { $article->resume_seo = $request->input('resume_seo'); }else{ $article->resume_seo = strip_tags( $request->input('texte')); } $article->description = $request->input('description'); $article->remise = $request->input('remise'); $article->created_at = \Carbon\Carbon::now(); $article->save(); return redirect()->route('promotions')->with('success','Modifié'); } public function editPack($id) { $article = Promotion::find($id); return view('backend.promotion.editPack',['article'=>$article]); } public function updatePack(Request $request,$id) { $tmp_file = temporaryFile::where('folder',$request->image)->first(); $article = Promotion::find($id); $article->titre = $request->input('titre'); $article->debut = $request->input('debut'); $article->fin = $request->input('fin'); $article->mot_cle = $request->input('mot_cle'); if ($request->filled('titre_seo')) { $article->titre_seo = $request->input('titre_seo'); }else{ $article->titre_seo = $request->input('titre'); } if ($request->filled('resume_seo')) { $article->resume_seo = $request->input('resume_seo'); }else{ $article->resume_seo = strip_tags( $request->input('description')); } $article->description = $request->input('description'); $article->remise = $request->input('remise'); if($tmp_file){ Storage::copy('image/tmp/'.$tmp_file->folder.'/'.$tmp_file->file,'image/'.$tmp_file->folder.'/'.$tmp_file->file); $article->update( [ 'photo' => $tmp_file->folder . '/' . $tmp_file->file, ], ); Storage::deleteDirectory('image/tmp/'.$tmp_file->folder); $tmp_file->delete(); } $article->created_at = \Carbon\Carbon::now(); $article->save(); return redirect()->route('promotions')->with('success','modifié'); } public function DeleteAuto(){ $stale_posts = Promotion::where('fin', '<',\Carbon\Carbon::now())->get(); foreach ($stale_posts as $post) { $post->delete(); } } public function fileUploadPromotion(Request $request){ if($request->hasfile('image')){ $image = $request->file('image'); $file = $image->getClientOriginalName(); $folder = uniqid('post', 'true'); $image->storeAs('image/tmp/' . $folder,$file ,'public'); TemporaryFile::create([ 'folder' => $folder, 'file'=> $file ]); return $folder; } return ''; } public function deleteUploadPromotion(){ $tmp_file = TemporaryFile::where('folder',request()->getContent())->first(); if($tmp_file){ Storage::deleteDirectory('image/tmp/'.$tmp_file->folder); $tmp_file->delete(); return response(''); } } public function changeStatus(Request $request) { $article = Promotion::find($request->Id); $article->etat = $request->etat; $article->save(); return response()->json(['success'=>'Status change successfully.']); } public function destroy(Request $request, $id){ $article = Promotion::find($id); $article->delete(); return back(); } }