%PDF- %PDF-
Direktori : /var/www/html/sljcon/app/Http/Controllers/ |
Current File : /var/www/html/sljcon/app/Http/Controllers/BeforeAfterController.php |
<?php namespace App\Http\Controllers; use App\Models\BeforeAfter; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Carbon\Carbon; use Psy\Exception\BreakException; class BeforeAfterController extends Controller { public function index() { $all = BeforeAfter::all(); return view('admin.compare.all',[ 'items'=>$all ]); } public function newOrEdit($id) { $item = BeforeAfter::query() ->find($id); if (!$item) { $item = new BeforeAfter(); } return view('admin.compare.form', [ 'item' => $item, 'id' => $id ]); } public function store(Request $request, $id) { $item = BeforeAfter::query() ->find($id); $rules = [ 'name' => 'required|string', 'before_url' => $item ? 'nullable' : 'required' . '|image', 'after_url' => $item ? 'nullable' : 'required' . '|image' ]; $this->validate($request, $rules); DB::beginTransaction(); try { if ($item) { $item->name = $request['name']; } else { $item = new BeforeAfter(); $item->name = $request['name']; } if ($file = $request->file('before_url')) { if ($item->before_url) { \File::delete(public_path('uploads') . '/' . $item->before_url); } $fileName = head(explode('.', $file->getClientOriginalName())) . Carbon::now() ->formatLocalized('%d%m%Y%H%M%S') . '.' . last(explode('/', $file->getClientMimeType())); $file->move('uploads/compare', $fileName); $item->before_url = $fileName; } if ($file = $request->file('after_url')) { if ($item->before_url) { \File::delete(public_path('uploads') . '/' . $item->after_url); } $fileName = head(explode('.', $file->getClientOriginalName())) . Carbon::now() ->formatLocalized('%d%m%Y%H%M%S') . '.' . last(explode('/', $file->getClientMimeType())); $file->move('uploads/compare', $fileName); $item->after_url= $fileName; } $item->save(); DB::commit(); return redirect(route('admin.beforeAfter')); } catch (\Exception $exception) { DB::rollback(); return redirect(route('admin.beforeAfter.newOrEdit', $item->id)); } } }