VideoController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Video;
  4. use Illuminate\Http\Request;
  5. use File;
  6. class VideoController extends Controller
  7. {
  8. protected $rules = [
  9. 'title' => ['required']
  10. ];
  11. public function index()
  12. {
  13. if (\Illuminate\Support\Facades\Auth::user()->level == 1)
  14. return redirect('/admin/dashboard');
  15. $videos = Video::orderBy('position')->get(); //->paginate(50);
  16. return view('videos.index',compact('videos'))
  17. ->with('i', (request()->input('video', 1) - 1) * 5);
  18. }
  19. /**
  20. * Show the form for creating a new resource.
  21. *
  22. * @return \Illuminate\Http\Response
  23. */
  24. public function create()
  25. {
  26. return view('videos.create');
  27. }
  28. /**
  29. * Store a newly created resource in storage.
  30. *
  31. * @param \Illuminate\Http\Request $request
  32. * @return \Illuminate\Http\Response
  33. */
  34. public function store(Request $request)
  35. {
  36. $request->validate($this->rules);
  37. $input = $request->all();
  38. $input["online"] = isset($input["online"]) ? ($input["online"] == 'on' ? true : false) : false;
  39. if(request()->file)
  40. {
  41. $file = request()->file;
  42. $filename = time() . '_' . $file->getClientOriginalName();
  43. if (! File::exists(public_path()."/files/videos"))
  44. File::makeDirectory(public_path()."/files/videos");
  45. $path = public_path('files/videos');
  46. request()->file->move($path, $filename);
  47. $input["file"] = $filename;
  48. }
  49. if(request()->image)
  50. {
  51. $file = request()->image;
  52. $filename = time() . '_' . $file->getClientOriginalName();
  53. if (! File::exists(public_path()."/files/videos"))
  54. File::makeDirectory(public_path()."/files/videos");
  55. $path = public_path('files/videos');
  56. request()->image->move($path, $filename);
  57. $input["image"] = $filename;
  58. }
  59. $final_date = null;
  60. if ($input["date"] != '')
  61. {
  62. list($dt, $time) = explode(" ", $input["date"]);
  63. list($day, $month, $year) = explode("/", $dt);
  64. $final_date = $year . "-" . $month . "-" . $day . " " . $time;
  65. }
  66. $input["date"] = $final_date;
  67. Video::create($input);
  68. return redirect()->route('videos.index')
  69. ->with('success','Video created successfully.');
  70. }
  71. /**
  72. * Display the specified resource.
  73. *
  74. * @param \App\Video $video
  75. * @return \Illuminate\Http\Response
  76. */
  77. public function show(Video $video)
  78. {
  79. return view('videos.show',compact('video'));
  80. }
  81. /**
  82. * Show the form for editing the specified resource.
  83. *
  84. * @param \App\Video $video
  85. * @return \Illuminate\Http\Response
  86. */
  87. public function edit(Video $video)
  88. {
  89. if ($video->date != null)
  90. {
  91. list($dt, $time) = explode(" ", $video->date);
  92. list($year, $month, $day) = explode("-", $dt);
  93. $final_date = $day . "/" . $month . "/" . $year . " " . $time;
  94. $video->date = $final_date;
  95. }
  96. return view('videos.edit',compact('video'));
  97. }
  98. /**
  99. * Update the specified resource in storage.
  100. *
  101. * @param \Illuminate\Http\Request $request
  102. * @param \App\Video $video
  103. * @return \Illuminate\Http\Response
  104. */
  105. public function update(Request $request, Video $video)
  106. {
  107. $request->validate($this->rules);
  108. $input = $request->all();
  109. $input["online"] = isset($input["online"]) ? ($input["online"] == 'on' ? true : false) : false;
  110. if(request()->file)
  111. {
  112. $file = request()->file;
  113. $filename = time() . '_' . $file->getClientOriginalName();
  114. if (! File::exists(public_path()."/files/videos"))
  115. File::makeDirectory(public_path()."/files/videos");
  116. $path = public_path('files/videos');
  117. request()->file->move($path, $filename);
  118. $input["file"] = $filename;
  119. }
  120. if(request()->image)
  121. {
  122. $file = request()->image;
  123. $filename = time() . '_' . $file->getClientOriginalName();
  124. if (! File::exists(public_path()."/files/videos"))
  125. File::makeDirectory(public_path()."/files/videos");
  126. $path = public_path('files/videos');
  127. request()->image->move($path, $filename);
  128. $input["image"] = $filename;
  129. }
  130. $final_date = null;
  131. if ($input["date"] != '')
  132. {
  133. list($dt, $time) = explode(" ", $input["date"]);
  134. list($day, $month, $year) = explode("/", $dt);
  135. $final_date = $year . "-" . $month . "-" . $day . " " . $time;
  136. }
  137. $input["date"] = $final_date;
  138. $video->update($input);
  139. return redirect()->route('videos.index')
  140. ->with('success','Video updated successfully');
  141. }
  142. /**
  143. * Remove the specified resource from storage.
  144. *
  145. * @param \App\Video $video
  146. * @return \Illuminate\Http\Response
  147. */
  148. public function destroy(Video $video)
  149. {
  150. $video->delete();
  151. return redirect()->route('videos.index')
  152. ->with('success','Video deleted successfully');
  153. }
  154. }