73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Http\Controllers\Admin;
 | |
| 
 | |
| use App\Http\Controllers\Controller;
 | |
| use App\Http\Requests\SliderRequest;
 | |
| use Illuminate\Http\Request;
 | |
| use App\Models\Slider;
 | |
| use Illuminate\Http\RedirectResponse;
 | |
| 
 | |
| class SliderController extends Controller
 | |
| {
 | |
| 
 | |
|   public function index()
 | |
|   {
 | |
|     $sliders = Slider::latest()->get();
 | |
| 
 | |
|     return view('admin.sliders.index', compact('sliders'));
 | |
|   }
 | |
| 
 | |
|   public function create()
 | |
|   {
 | |
|     return view('admin.sliders.create');
 | |
|   }
 | |
| 
 | |
|   public function store(SliderRequest $request): RedirectResponse
 | |
|   {
 | |
|     $data = $request->validated();
 | |
|     
 | |
|     if ($request->hasFile('image')) {
 | |
|       $data['image'] = $this->fileUpload($request->file('image'));
 | |
|     }
 | |
|     Slider::create($data);
 | |
| 
 | |
|     return redirect()->route('admin.sliders.index')->with('success', 'Слайдер создан успешно !');
 | |
|   }
 | |
| 
 | |
|   public function show($id)
 | |
|   {
 | |
|     //
 | |
|   }
 | |
| 
 | |
|   public function edit(Slider $slider)
 | |
|   {
 | |
|     return view('admin.sliders.edit', compact('slider'));
 | |
|   }
 | |
| 
 | |
|   public function update(Request $request, Slider $slider)
 | |
|   {
 | |
|     $data = $request->all();
 | |
|     if ($request->hasFile('image')) {
 | |
|       $data['image'] = $this->fileUpload($request->file('image'));
 | |
|     }
 | |
| 
 | |
|     $slider->update($data);
 | |
| 
 | |
|     return redirect()->route('admin.sliders.index')->with('success', 'Слайдер обновлен успешно !');
 | |
|   }
 | |
| 
 | |
|   public function destroy(Slider $slider)
 | |
|   {
 | |
|     $slider->delete();
 | |
|     return redirect()->route('admin.sliders.index')->with('success', 'Слайдер удален успешно !');
 | |
|   }
 | |
| 
 | |
|   public function fileUpload($file)
 | |
|   {
 | |
|     $filename = time().'_'.$file->getClientOriginalName();
 | |
|     $file->move(public_path(Slider::FILE_PATH), $filename);
 | |
|     return $filename;
 | |
|   }
 | |
| }
 |