/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), ['course' => 'required', 'description' => 'required|min:15', 'url' => 'required|url', 'section' => 'required']); if ($validator->fails()) { Alert::error('Oops', 'Invalid Inputs'); return redirect('/dashboard'); } $course = new Course(); if (Course::where('course', '=', $request->get('course'))->exists()) { Alert::warning('Oops', 'Course Already Exists'); return Redirect::back(); } $course->slug = Str::slug($request->input('course')); $checkId = $course->video_id = $this->getVideoId($request->input('url')); $course->user_id = Auth::user()->id; if ($this->youtubeExist($checkId)) { $values = $request->all(); $course->fill($values)->save(); Alert::success('Good', 'Course created successfully!'); return redirect('/dashboard'); } else { Alert::error('Oops', 'Only Youtube Videos are allowed!'); return redirect('/dashboard'); } }