/** * Display the complete profile form * * @return View */ public function completeProfileArtistSave(Request $request) { $user = Auth::user(); $user->contact = $request->input('contact'); $user->city = $request->input('city'); $user->country = $request->input('country'); if ($request->hasFile('avatar')) { //upload an image to the /img/tmp directory and return the filepath. $file = $request->file('avatar'); $tmpFilePath = '/uploads/images/original/'; $tmpFileName = 'profile-' . time() . '-' . $file->getClientOriginalName(); //save original file $file = $file->move(public_path() . $tmpFilePath, $tmpFileName); $path = $tmpFilePath . $tmpFileName; //edit image $img = \Image::make($file); $img->backup(); //$img->fit(1200, 480); //$img->save('uploads/images/large/'.$tmpFileName); // reset image (return to backup state) $img->reset(); $img->fit(360); //240*240 $img->save('uploads/images/thumbnail/' . $tmpFileName); // reset image (return to backup state) $img->reset(); $img->fit(120); //100*100 $img->save('uploads/images/small/' . $tmpFileName); //save image to DB $user->avatar = $tmpFileName; } $user->type = 'artist'; $user->save(); //if artist already creates, then update if (Artist::where('user_id', $user->id)->count()) { $artist = Artist::where('user_id', $user->id)->first(); $artist->experience = $request->input('experience'); $artist->save(); } else { //create new artist $artist = new Artist(); $artist->user_id = $user->id; $artist->experience = $request->input('experience'); $artist->save(); } if ($request->hasFile('cover')) { //upload an image to the /img/tmp directory and return the filepath. $file = $request->file('cover'); $tmpFilePath = '/uploads/images/original/'; $tmpFileName = 'cover-' . time() . '-' . $file->getClientOriginalName(); //save original file $file = $file->move(public_path() . $tmpFilePath, $tmpFileName); $path = $tmpFilePath . $tmpFileName; //edit image $img = \Image::make($file); $img->backup(); $img->fit(1200, 480); $img->save('uploads/images/large/' . $tmpFileName); // reset image (return to backup state) $img->reset(); $img->fit(360, 144); //360*144 $img->save('uploads/images/thumbnail/' . $tmpFileName); //save image to DB $artist->cover = $tmpFileName; $artist->save(); } //save studio if (!$request->input('studio')) { $this->validate($request, ['studioName' => 'required|max:255', 'studioContact' => 'required|max:22|min:10', 'studioCity' => 'required', 'studioCountry' => 'required', 'studioLat' => 'required', 'studioLong' => 'required']); $studio = new Studio(); $studio->name = $request->input('studioName'); $studio->contact = $request->input('studioContact'); $studio->city = $request->input('studioCity'); $studio->latitude = $request->input('studioLat'); $studio->longitude = $request->input('studioLong'); $studio->country = $request->input('studioCountry'); $studio->save(); $artist->studios()->attach($studio->id); $artist->save(); $user->profileComplete = true; $user->save(); } else { if (Studio::where('id', $request->input('studio'))->count()) { $artist->studios()->attach($request->input('studio')); $user->profileComplete = true; $user->save(); } } if (!$user->social) { $user->avatar = url('uploads/images/small/' . $user->avatar); } $artist->cover = url('uploads/images/large/' . $artist->cover); return redirect('complete-profile-artist'); }