示例#1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(StoreProductRequest $request)
 {
     // validate request further according to type
     switch ($request->type) {
         case 'MOVIE':
         case 'SERIES':
         case 'ANIME':
         case 'VIDEO':
             $valRequest = new StoreVideoRequest();
             $this->validate($request, $valRequest->rules());
             $info = new Video($request->all());
             break;
         case 'GAME':
             $valRequest = new StoreGameRequest();
             $this->validate($request, $valRequest->rules());
             $info = new Game($request->all());
             break;
     }
     if (in_array($request->type, ['MOVIE', 'SERIES', 'ANIME', 'VIDEO'])) {
         $this->StoreVideo($request, $info);
     } else {
         if ($request->type == "GAME") {
             $this->StoreGame($request, $info);
         }
     }
     // flash message
     session()->flash('flash_message', 'Product added successfully.');
     return redirect()->route('products.create', ['type' => strtolower($request->type)]);
 }
示例#2
0
 /**
  * @param StoreVideoRequest $request
  * @param $file_hash
  */
 private function extractVideoFrame(StoreVideoRequest $request, $file_hash)
 {
     $ffmpeg = FFMpeg::create();
     $video = $ffmpeg->open(base_path() . '/files/video/' . $file_hash . '.' . $request->file('video')->getClientOriginalExtension());
     $frame = $video->frame(TimeCode::fromSeconds(5));
     $frame->save(base_path() . '/files/video/' . $file_hash . '.jpg');
 }