/** * @return $this|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function doEdit() { $input = Request::all(); $lab = Labs::find($input['id']); //Image handling if (empty($input['thumbnail'])) { $input['thumbnail'] = $lab->thumbnail; } else { $tmp_path = $input['thumbnail']->getRealPath(); $extension = $input['thumbnail']->getClientOriginalExtension(); $path = '/img/exp/' . uniqid() . '.' . $extension; //Image::make($tmp_path)->save(base_path() . '/public' . $path); Image::make($tmp_path)->resize(null, 300, function ($constraint) { $constraint->aspectRatio(); })->save(base_path() . '/public' . $path); $input['thumbnail'] = $path; } //Array $input['target'] = arrayToString($input['target']); $input['subject'] = arrayToString($input['subject']); //Package if (!empty($input['package'])) { File::deleteDirectory(public_path('exp_data/' . $lab->id)); unzipLab($input['package']->getRealPath(), $lab->id); unset($input['package']); } unset($input['_token']); if (array_key_exists("maintenance", $input)) { $input['maintenance'] == 'on' ? $input['maintenance'] = '1' : ($input['maintenance'] = '0'); } else { $input['maintenance'] = '0'; } if (array_key_exists("queue", $input)) { $input['queue'] == 'on' ? $input['queue'] = '1' : ($input['queue'] = '0'); } else { $input['queue'] = '1'; } if (!empty($input['docs'])) { $old = DocsLabs::where('lab_id', $input['id'])->delete(); $docs = explode(',', $input['docs']); if (!empty($docs)) { foreach ($docs as $doc) { $doclab = new DocsLabs(); $doclab->doc_id = $doc; $doclab->lab_id = $input['id']; $doclab->save(); } } } unset($input['docs']); Labs::where('id', '=', $input['id'])->update($input); return redirect('labs'); }
/** * @return $this|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function doEdit() { $input = Request::all(); $rules = ['name_pt' => 'required', 'name_en' => 'required', 'description_pt' => 'required', 'description_en' => 'required', 'tags' => 'required', 'duration' => 'required', 'target' => 'required', 'subject' => 'required', 'difficulty' => 'required', 'interaction' => 'required']; $validator = Validator::make($input, $rules); if ($validator->fails()) { // get the error messages from the validator $messages = $validator->messages(); // redirect our user back to the form with the errors from the validator return redirect('labs/' . $input['id'] . '/edit')->withErrors($validator); } else { $lab = Labs::find($input['id']); //Image handling if (empty($input['thumbnail'])) { $input['thumbnail'] = $lab->thumbnail; } else { $tmp_path = $input['thumbnail']->getRealPath(); $extension = $input['thumbnail']->getClientOriginalExtension(); $path = '/img/exp/' . uniqid() . '.' . $extension; //Image::make($tmp_path)->save(base_path() . '/public' . $path); Image::make($tmp_path)->resize(null, 300, function ($constraint) { $constraint->aspectRatio(); })->save(base_path() . '/public' . $path); $input['thumbnail'] = $path; } //Array $input['target'] = arrayToString($input['target']); $input['subject'] = arrayToString($input['subject']); //Package if (!empty($input['package'])) { File::deleteDirectory(public_path('exp_data/' . $lab->id)); unzipLab($input['package']->getRealPath(), $lab->id); unset($input['package']); } unset($input['_token']); //echo $input['maintenance'];die; if (array_key_exists("maintenance", $input)) { $input['maintenance'] == 'on' ? $input['maintenance'] = '1' : ($input['maintenance'] = '0'); } if (array_key_exists("queue", $input)) { $input['queue'] == 'on' ? $input['queue'] = '1' : ($input['queue'] = '0'); } Labs::where('id', '=', $input['id'])->update($input); return redirect('labs'); } }