PATH:
home
/
lab2454c
/
omvstudio.com
/
app
/
Http
/
Controllers
/
Admin
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Movie; use Illuminate\Http\Request; use Str; use Storage; use App\Models\Category; use App\Models\CategoryMovie; class MovieController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $movies = Movie::orderBy('created_at','desc')->get(); return view('admin.movie.list',compact('movies')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $categories = Category::orderBy('created_at','desc')->get(); return view('admin.movie.create',compact('categories')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $values = $request->validate([ 'title' => 'required|string|unique:movies,title', "cover_image" => 'nullable|mimes:png,jpeg,gif|max:3000', 'price'=>'required', 'movie_length'=>'required', 'category_id'=>'required', // "description"=>'required|string|max:15000', ]); // dd($request->all()); //dd($request->all(),$request->hasFile('trailer')); $movie = new Movie; $movie->fill($request->except('cover_image','category_id','star_cast','trailer')); $movie->slug = Str::slug($values['title']); $star_cast_arr = [ 'director' => $request->director, 'cast' => $request->cast, 'writer' => $request->writer, 'genres' => $request->genres, ]; if ($star_cast_arr['director']) { $star_cast_obj = json_encode($star_cast_arr); $movie->star_cast = $star_cast_obj; } else{ $movie->star_cast = null; } // for cover image if ($request->hasFile('cover_image')) { $cover_image_name = $request->file('cover_image'); $ext = $cover_image_name->extension(); $cover_image_filename = uniqid().'.'.$ext; $cover_image_name->storeAs('public/movies/',$cover_image_filename); $movie->cover_image = $cover_image_filename; } // for video trailer if ($request->hasFile('trailer')) { $trailer_name = $request->file('trailer'); $ext = $trailer_name->extension(); $trailer_filename = uniqid().'.'.$ext; $trailer_name->storeAs('public/movies/trailer/',$trailer_filename); $movie->trailer = $trailer_filename; } //dd($trailer_upload_filename); if ($request->is_featured) { $movie->is_featured = 1; } $movie->save(); $category = Category::find($request->category_id); $movie->categories()->attach($category); //CategoryMovie return redirect()->back()->with('success','Record has successfully created!!'); } /** * Display the specified resource. * * @param \App\Models\Movie $movie * @return \Illuminate\Http\Response */ public function show(Movie $movie) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Movie $movie * @return \Illuminate\Http\Response */ public function edit(Movie $movie) { $data_category = []; $categories = Category::orderBy('created_at','desc')->get(); $star_cast = json_decode($movie->star_cast); foreach ($movie->categories as $category) { array_push($data_category, $category->id); } return view('admin.movie.edit',compact('movie','categories', 'data_category','star_cast')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Movie $movie * @return \Illuminate\Http\Response */ public function update(Request $request, Movie $movie) { $values = $request->validate([ 'title'=> 'required|string|unique:movies,title,'.$movie->id, 'cover_image' => 'nullable|mimes:png,jpeg,gif|max:3000', 'movie_length'=>'required' // "description"=>'required|string|max:15000', ]); if ($request->hasFile('cover_image')) { if (Storage::exists('public/movies/'.$movie->cover_image)) { Storage::delete('public/movies/'.$movie->cover_image); } $cover_image_name = $request->file('cover_image'); $ext = $cover_image_name->extension(); $cover_image_filename = uniqid().'.'.$ext; $cover_image_name->storeAs('public/movies/',$cover_image_filename); $movie->cover_image = $cover_image_filename; } if ($request->hasFile('trailer')) { if (Storage::exists('public/movies/trailer/'.$movie->trailer)) { Storage::delete('public/movies/trailer/'.$movie->trailer); } $trailer_name = $request->file('trailer'); $ext = $trailer_name->extension(); $trailer_filename = uniqid().'.'.$ext; $trailer_name->storeAs('public/movies/trailer/',$trailer_filename); $movie->trailer = $trailer_filename; } $movie->fill($request->except('cover_image','star_cast','trailer')); $movie->slug = Str::slug($values['title']); $star_cast_arr = [ 'director' => $request->director, 'cast' => $request->cast, 'writer' => $request->writer, 'genres' => $request->genres, ]; if ($star_cast_arr['director']) { $star_cast_obj = json_encode($star_cast_arr); $movie->star_cast = $star_cast_obj; } else{ $movie->star_cast = null; } $movie->is_featured = 0; if ($request->is_featured) { $movie->is_featured = 1; } $movie->save(); $category = Category::find($request->category_id); //$movie->categories()->attach($category); $movie->categories()->sync($category); return redirect()->route('movie.index')->with('success','Record has successfully updated!!'); } /** * Remove the specified resource from storage. * * @param \App\Models\Movie $movie * @return \Illuminate\Http\Response */ public function destroy(Movie $movie) { $movie->delete(); // $category = Category::find($movie->id); // $movie->categories()->detach($category); if (Storage::exists('public/movies/'.$movie->cover_image)) { Storage::delete('public/movies/'.$movie->cover_image); } return redirect()->route('movie.index')->with('success', 'Record deleted succesfully!!'); } }
[-] CategoryController.php
[edit]
[-] MovieController_bkp.php
[edit]
[-] PageBannerController.php
[edit]
[+]
..
[-] UserController.php
[edit]
[-] SiteSettingController.php
[edit]
[-] AdminProfileController.php
[edit]
[-] MusicController.php
[edit]
[-] PageController.php
[edit]
[-] HomeConfigWorkController.php
[edit]
[-] MovieController.php
[edit]
[-] ContactController.php
[edit]
[-] FaqController.php
[edit]
[-] LoginController.php
[edit]
[-] MusicManiaController.php
[edit]
[-] ReviewController.php
[edit]
[-] MediaController.php
[edit]
[-] DashboardController.php
[edit]
[-] EntertainController.php
[edit]
[-] MenuController.php
[edit]
[-] SportController.php
[edit]