middleware('guest'); } /** * Get a validator for an incoming registration request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { if($data['user_type']==1){ return Validator::make($data, [ 'givenname' => ['required', 'string', 'max:255'], 'familyname' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], 'nationality' => ['required', 'string','max:255'], 'dob' => ['required', 'string','date'], 'optradio' => ['required', 'string','max:255'], ]); }else{ return Validator::make($data, [ 'firstname' => ['required', 'string', 'max:255'], 'lastname' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], //'phonenumber' => ['required', 'string', 'max:255'], 'universityname' => ['required', 'string', 'max:255'], 'department' => ['required', 'string', 'max:255'], 'designation' => ['required', 'string', 'max:255'], 'universitywebsite' => ['required', 'string', 'max:255'], ]); } } /** * Create a new user instance after a valid registration. * * @param array $data * @return \App\User */ protected function create(array $data) { if($data['user_type']==1){ $data = User::create([ 'first_name' => $data['givenname'], 'last_name' => $data['familyname'], 'email' => $data['email'], 'nationality' => $data['nationality'], 'dob' => \Carbon\Carbon::parse($data['dob'])->format('Y-m-d'), 'gender' => $data['optradio'], 'user_type' => $data['user_type'], 'password' => Hash::make($data['password']) ]); Mail::to('test@mail.com')->send(new SignUp($data->id)); }elseif($data['user_type']==2){ $data = User::create([ 'first_name' => $data['firstname'], 'last_name' => $data['lastname'], 'password' => Hash::make($data['password']), 'email' => $data['email'], // 'phone_number' => $data['phonenumber'], 'university_name' => $data['universityname'], 'department' => $data['department'], 'designation' => $data['designation'], 'uni_website' => $data['universitywebsite'], 'user_type' => $data['user_type'], 'ref_no' => name_initials($data['firstname'],$data['lastname']).''.teacherRefNoGenerate(), ]); Mail::to('test@mail.com')->send(new SignUp($data->id)); } if($data['user_type']==1){ $this->redirectTo="/home"; }elseif($data['user_type']==2){ $this->redirectTo="/teacher_profile"; } return $data; } public function email_verification($id) { $data = User::find($id); $data->email_verification=1; $data->update(); return Redirect('/login')->with('success','Your mail is activated successfully. Login here '); } }