Jenderal92

Untitled

Aug 23rd, 2022
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Auth;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use App\Providers\RouteServiceProvider;
  7. use App\Models\User;
  8. use Illuminate\Foundation\Auth\RegistersUsers;
  9. use Illuminate\Support\Facades\Hash;
  10. use Illuminate\Support\Facades\Validator;
  11.  
  12. use Illuminate\Auth\Events\Registered;
  13.  
  14. use Illuminate\Http\Request;
  15.  
  16. use Auth;
  17.  
  18. class RegisterController extends Controller
  19. {
  20. /*
  21. |--------------------------------------------------------------------------
  22. | Register Controller
  23. |--------------------------------------------------------------------------
  24. |
  25. | This controller handles the registration of new users as well as their
  26. | validation and creation. By default this controller uses a trait to
  27. | provide this functionality without requiring any additional code.
  28. |
  29. */
  30.  
  31. use RegistersUsers;
  32.  
  33. /**
  34. * Where to redirect users after registration.
  35. *
  36. * @var string
  37. */
  38. //protected $redirectTo = RouteServiceProvider::HOME;
  39.  
  40. protected $redirectTo = '/register';
  41.  
  42. /**
  43. * Create a new controller instance.
  44. *
  45. * @return void
  46. */
  47. public function __construct()
  48. {
  49. $this->middleware('guest');
  50. }
  51.  
  52. /**
  53. * Get a validator for an incoming registration request.
  54. *
  55. * @param array $data
  56. * @return \Illuminate\Contracts\Validation\Validator
  57. */
  58. protected function validator(array $data)
  59. {
  60. return Validator::make($data, [
  61. 'name' => ['required', 'string', 'max:255'],
  62. 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
  63. 'phone' => ['required', 'numeric','digits:10', 'unique:users'],
  64. 'password' => ['required', 'string', 'min:5', 'confirmed'],
  65. ]);
  66. }
  67.  
  68. /**
  69. * Create a new user instance after a valid registration.
  70. *
  71. * @param array $data
  72. * @return \App\Models\User
  73. */
  74. protected function create(array $data)
  75. {
  76. $id= User::create([
  77. 'name' => $data['name'],
  78. 'email' => $data['email'],
  79. 'phone' => $data['phone'],
  80. 'password' => Hash::make($data['password']),
  81. 'status'=>1
  82. ])->id;
  83.  
  84.  
  85. $user=User::find($id);
  86.  
  87.  
  88.  
  89. return $user;
  90.  
  91. }
  92.  
  93. //added to logout just after registration
  94. //ref.https://codebaker.in/disable-auto-login-register-new-user-laravel/
  95. public function register(Request $request)
  96. {
  97. $this->validator($request->all())->validate();
  98.  
  99. event(new Registered($user = $this->create($request->all())));
  100.  
  101. return $this->registered($request, $user)
  102. ?: redirect($this->redirectPath())->with('message', 'Successfully Registered!');;
  103. }
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment