Advertisement
Guest User

Untitled

a guest
Feb 8th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.28 KB | None | 0 0
  1. public function submit(Request $request)
  2.     {
  3.         $validator = Validator::make($request->all(), [
  4.             'kind' => 'required|in:' . FACILITY . ',' . THERAPIST . ',' . PATIENT,
  5.             'password' => 'required|min:6',
  6.             'password_r' => 'required|same:password',
  7.             'name' => 'max:' . config('site.users.maxName', 0) . '|required',
  8.             'surname' => 'max:' . config('site.users.maxSurname', 0) . '|required',
  9.             'email' => 'required|email|unique:users,email',
  10.             'facility_name' => 'max:' . config('site.users.maxFacilityName', 0) . '|required_if:kind,' . FACILITY,
  11.             'pwz_number' => 'pwz|required_if:kind,' . THERAPIST,
  12.             'therapist_title' => 'array|required_if:kind,' . THERAPIST,
  13.             'therapist_title.*' => 'in:1,2,3,4,5,6,7',
  14.             'accept' => 'accepted',
  15.             'province' => 'required_if:kind,' . FACILITY,
  16.             'location' => 'required_if:kind,' . FACILITY,
  17.             'profile_locations' => 'required_if:kind,' . THERAPIST,
  18.         ], translatedErrors());
  19.  
  20.         if ($validator->fails()) return redirect()->back()->withErrors($validator)->withInput()->with('msg', ['text' => t('messages', 'Rejestracja nie powiodła się', 'Rejestracja nie powiodła się. Prosimy o sprawdzenie błędnie wypełnionych pól formularza.'), 'state' => 'danger']);
  21.  
  22.         if ($request->input('kind') == THERAPIST) {
  23.             $user = User::where('pwz_number', $request->input('pwz_number'))->first();
  24.  
  25.             if (!empty($user)) {
  26.                 if ($user->verified) {
  27.                     return redirect()->back()->withErrors($validator)->withInput()->with('msg', ['text' => 'Wpisany przez Ciebie numer PWZFz jest już zajęty przez innego użytkownika. Jeśli to Twój numer PWZFz, skontaktuj się z administratorem portalu.', 'state' => 'danger']);
  28.                 }
  29.             } else {
  30.                 $user = new User;
  31.                 $user->initUploads();
  32.             }
  33.         } else {
  34.             $user = new User;
  35.             $user->initUploads();
  36.         }
  37.  
  38.         $user->name = $request->input('name');
  39.         $user->surname = $request->input('surname');
  40.         $user->email = $request->input('email');
  41.         $user->kind = $request->input('kind', PATIENT);
  42.         $user->facility_name = nullable($request->input('facility_name', ''));
  43.         $user->pwz_number = nullable($request->input('pwz_number', ''));
  44.         $user->therapist_title = nullable(json_encode($request->input('therapist_title', '')));
  45.         $user->active = true;
  46.         $user->address_province = nullable($request->input('province', ''));
  47.         $user->address_city = nullable($request->input('location', ''));
  48.         $user->profile_locations = $request->input('profile_locations', '');
  49.         $user->contact_phone = nullable($request->input('contact_phone', ''));
  50.         $user->contact_phone_2 = nullable($request->input('contact_phone_2', ''));
  51.         $user->confirmed = 0;
  52.         $user->verified = 1;
  53.         $user->password = bcrypt($request->input('password'));
  54.         $user->code = str_random(20);
  55.         if ($request->input('kind', PATIENT) == THERAPIST) {
  56.             $user->premium_to = Carbon::now()->addYear()->timestamp;
  57.         }
  58.         $user->save();
  59.  
  60.         if (!$user->confirmed) {
  61.             $mailID = $user->isOnlyUser() ? 2 : ($user->isFacility() ? 5 : 4);
  62.             $content = Email::find($mailID)->prepareContent(['user' => $user]);
  63.             Mail::send('site.emails.default', ['user' => $user, 'content' => $content], function ($message) use ($user, $content) {
  64.                 $message->subject($content->title);
  65.                 $message->from(setting('emails.fromEmail'), setting('emails.fromName'));
  66.                 $message->to($user->email);
  67.             });
  68.         }
  69.  
  70.         Session::flash('showProfileTooltip', 1);
  71.  
  72.         if ($user->isTherapist()) {
  73.             return redirect()->route('site::registerSuccessTherapist')->with('u', $user->id);
  74.         } elseif ($user->isFacility()) {
  75.             return redirect()->route('site::registerSuccessFacility')->with('u', $user->id);
  76.         } elseif ($user->isOnlyUser()) {
  77.             return redirect()->route('site::registerSuccessPatient')->with('u', $user->id);
  78.         } else {
  79.             abort(404);
  80.         }
  81.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement