PageRenderTime 45ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/app/Http/Controllers/AuthController.php

https://gitlab.com/tonycodes/prego
PHP | 62 lines | 49 code | 13 blank | 0 comment | 1 complexity | 7508d29862398984064531263c66bf7e MD5 | raw file
  1. <?php
  2. namespace Prego\Http\Controllers;
  3. use Auth;
  4. use Prego\User;
  5. use Illuminate\Http\Request;
  6. class AuthController extends Controller
  7. {
  8. public function getRegister()
  9. {
  10. return view('auth.register');
  11. }
  12. public function getLogin()
  13. {
  14. return view('auth.login');
  15. }
  16. public function postRegister(Request $request)
  17. {
  18. $this->validate($request, [
  19. 'email' => 'required|unique:users|email|max:255',
  20. 'username' => 'required|unique:users|alpha_dash|max:20',
  21. 'password' => 'required|min:6',
  22. ]);
  23. User::create([
  24. 'email' => $request->input('email'),
  25. 'username' => $request->input('username'),
  26. 'password' => bcrypt($request->input('password'))
  27. ]);
  28. return redirect()
  29. ->route('index')
  30. ->withInfo('Your account has been created and you can now sign in');
  31. }
  32. public function postLogin(Request $request)
  33. {
  34. $this->validate($request, [
  35. 'email' => 'required',
  36. 'password' => 'required'
  37. ]);
  38. $authStatus = Auth::attempt($request->only(['email', 'password']), $request->has('remember'));
  39. if (!$authStatus) {
  40. return redirect()->back()->with('warning', 'Invalid Email or Password');
  41. }
  42. return redirect()->route('projects.index')->with('info', 'You are now signed in');
  43. }
  44. public function logOut()
  45. {
  46. Auth::logout();
  47. return redirect()->route('index');
  48. }
  49. }