/**
  * 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');
 }
Beispiel #2
0
 /**
  * reate a artist studio
  *
  * @return View
  */
 public function createStudio(Request $request)
 {
     //dd($request);
     $user = Auth::user();
     $artist = Artist::where('user_id', $user->id)->first();
     if (Studio::where('user_id', $user->id)->first()) {
         return redirect('profile#studios')->with('error', 'Multiple Studios are not allowed.');
     }
     $studio = new Studio();
     $studio->user_id = $user->id;
     $studio->name = $request->input('name');
     $studio->title = '';
     if ($studio->save()) {
         $artist->studios()->attach($studio->id);
         session()->flash('success', 'Studio Created. Now Complete studio\'s profile.');
         $data['name'] = $studio->name;
         $data['type'] = 'studio';
         $data['contact'] = $user->contact;
         $data['email'] = $user->email;
         Mail::send('emails.admin_notification_signup', $data, function ($message) use($data) {
             $message->from('*****@*****.**', "Tattoo Cultr");
             $message->subject("New Studio Signup");
             $message->to(env('ADMIN_EMAIL'));
         });
     } else {
         session()->flash('error', 'Error! Please try again..');
     }
     return redirect('studio/' . $studio->user->slug);
 }
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     if (!isset($data['type'])) {
         $data['type'] = 'none';
     } elseif ($data['type'] == 'member') {
         Validator::make($data, ['firstname' => 'required', 'lastname' => 'required']);
         //create user
         $user = User::create(['name' => $data['firstname'] . ' ' . $data['lastname'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type']]);
         $member = new Member();
         $member->user_id = $user->id;
         $member->firstname = $data['firstname'];
         $member->lastname = $data['lastname'];
         if ($member->save()) {
             session()->flash('success', 'Member Profile Created Successfully!');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     } elseif ($data['type'] == 'artist') {
         Validator::make($data, ['firstname' => 'required', 'lastname' => 'required']);
         //create user
         $user = User::create(['name' => $data['firstname'] . ' ' . $data['lastname'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type']]);
         $artist = new Artist();
         $artist->user_id = $user->id;
         $artist->firstname = $data['firstname'];
         $artist->lastname = $data['lastname'];
         if ($artist->save()) {
             session()->flash('success', 'Artist Profile Created Successfully!');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     } elseif ($data['type'] == 'studio') {
         Validator::make($data, ['name' => 'required', 'title' => 'required']);
         //create user
         $user = User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type']]);
         $studio = new Studio();
         $studio->user_id = $user->id;
         $studio->name = $user->name;
         $studio->title = $data['title'];
         if ($studio->save()) {
             session()->flash('success', 'Studio Created Successfully!');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     }
     //dd($data);
     //do your role stuffs here
     //send verification mail to user
     //--------------------------------------------------------------------------------------------------------------
     //$data['verification_code']  = $user->verification_code;
     Mail::send('emails.welcome', $data, function ($message) use($data) {
         $message->from('*****@*****.**', "Tattoo Cultr");
         $message->subject("Welcome to Tattoo Cultr");
         $message->to($data['email']);
     });
     return $user;
 }
Beispiel #4
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $data['email_verification_code'] = str_random(55);
     $data['lastname'] = '';
     if (!isset($data['type'])) {
         $data['type'] = 'none';
     } elseif ($data['type'] == 'member') {
         Validator::make($data, ['firstname' => 'required', 'gender' => 'required']);
         if ($data['gender'] == "female") {
             $data['avatar'] = 'avatar-female.jpg';
         } else {
             $data['avatar'] = 'avatar.jpg';
         }
         //create user
         $user = User::create(['name' => $data['firstname'] . ' ' . $data['lastname'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type'], 'avatar' => $data['avatar'], 'email_verification_code' => $data['email_verification_code']]);
         $member = new Member();
         $member->user_id = $user->id;
         $member->firstname = $data['firstname'];
         $member->lastname = '';
         $member->gender = $data['gender'];
         $data['name'] = $data['firstname'] . ' ' . $data['lastname'];
         if ($member->save()) {
             session()->flash('success', 'Welcome ' . $data['firstname'] . '! Please continue connecting with artists and collecting tattoos');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     } elseif ($data['type'] == 'artist') {
         Validator::make($data, ['firstname' => 'required']);
         $data['gender'] = 'male';
         //male by default
         if ($data['gender'] == "female") {
             $data['avatar'] = 'avatar-female.jpg';
         } else {
             $data['avatar'] = 'avatar.jpg';
         }
         //create user
         $user = User::create(['name' => $data['firstname'] . ' ' . $data['lastname'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type'], 'avatar' => $data['avatar'], 'email_verification_code' => $data['email_verification_code']]);
         $artist = new Artist();
         $artist->user_id = $user->id;
         $artist->firstname = $data['firstname'];
         $artist->lastname = $data['lastname'];
         $artist->gender = $data['gender'];
         $data['name'] = $data['firstname'] . ' ' . $data['lastname'];
         if ($artist->save()) {
             session()->flash('success', 'Welcome ' . $data['firstname'] . '! Lets start with building your profile.');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     } elseif ($data['type'] == 'studio') {
         Validator::make($data, ['name' => 'required']);
         //create user
         $user = User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'contact' => $data['contact'], 'type' => $data['type'], 'email_verification_code' => $data['email_verification_code']]);
         $studio = new Studio();
         $studio->user_id = $user->id;
         $studio->name = $user->name;
         $studio->title = '';
         if ($studio->save()) {
             session()->flash('success', 'Welcome ' . $data['name'] . '! Lets start with building your profile.');
         } else {
             $user->delete();
             session()->flash('error', 'Error! Please try again..');
         }
     }
     if ($slugExit = User::where('slug', str_slug($data['name'], "."))->first()) {
         $data['slug'] = str_slug($data['name'] . $user->id, ".");
         $user->slug = $data['slug'];
     } else {
         $data['slug'] = str_slug($data['name'], ".");
         $user->slug = $data['slug'];
     }
     $user->save();
     //send verification mail to user
     Mail::send('emails.welcome', $data, function ($message) use($data) {
         $message->from('*****@*****.**', "Tattoo Cultr");
         $message->subject("Welcome to Tattoo Cultr");
         $message->to($data['email']);
     });
     Mail::send('emails.admin_notification_signup', $data, function ($message) use($data) {
         $message->from('*****@*****.**', "Tattoo Cultr");
         $message->subject("New User Signup");
         $message->to(env('ADMIN_EMAIL'));
     });
     return $user;
 }