/** * Execute the job. * * @return void */ public function handle(CreateVideoRequest $request) { // Change spaces to dashes and lowecase the value $this->permalinkTrait($this->request['permalink']); // Create Correct Date and Time Format $this->setCreatedAtTime($this->request['date'], $this->request['time']); // Save Form Data to database $video = Video::create($this->request); // Adds tags to post if (isset($this->request['tag_list']) && $this->request['tag_list'] != []) { $video->tags()->sync($this->request['tag_list']); } // Set image to session if ($request->hasFile('image')) { session()->put('image', $request->image); } // Launch Event event(new SavedVideo($video, 'created')); }
/** * Display the videos sitemap * * @return \Illuminate\Http\Response */ public function videos() { $videos = Video::orderBy('created_at', 'desc')->select(['created_at', 'permalink'])->get(); return Response::view('public/sitemap/videos', ['videos' => $videos], 200, ['Content-Type' => 'text/xml; charset=UTF-8']); }
/** * Remove the specified video from storage. * * @param integer $permalink * @return Response */ public function destroy($id) { $this->dispatch(new DeleteVideo(Video::findOrFail($id))); return redirect()->route('admin.videos.index'); }
/** * Display video details * * @param Request $request * @return Response */ public function videoDetails(Request $request, $permalink) { $page = 'videos'; $path = $request->segments(); $video = Video::where(['permalink' => $permalink, 'active' => true])->first(); return view('public.videos.video-details', compact('page', 'path', 'video')); }