/** * Store a newly created landing page in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(LandingRequest $request) { $data = $request->except('_token', 'image_large'); $page = Landing::create($data); if ($request->hasFile('image')) { $file = $request->image; $imageLargeName = $this->image->setName($file, 'large'); $imageMediumName = $this->image->setName($file, 'medium'); $imageThumbnailName = $this->image->setName($file, 'thumnbnail'); // Images Path $imagesPath = public_path() . '/images/landing'; $landingPath = $imagesPath . "/{$page->permalink}"; // Create Landing Directory $this->directory->make($landingPath); // Upload Images $this->image->make($file, 1024, $landingPath, $imageLargeName); $this->image->make($file, 960, $landingPath, $imageMediumName); $this->image->make($file, 600, $landingPath, $imageThumbnailName); $page->update(['image_large' => $imageLargeName, 'image_medium' => $imageMediumName, 'image_thumbnail' => $imageThumbnailName]); } session()->flash('message', 'Se creó la página de aterrizaje "' . $page->title . '" satisfactoriamente'); return redirect()->route('admin.landing.index'); }