LoginController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers\AdminAuth;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  5. use Illuminate\Support\Facades\Auth;
  6. use Illuminate\Http\Request;
  7. use App\Models\Admin;
  8. use Session;
  9. class LoginController extends Controller
  10. {
  11. public $redirectTo = '/admin/dashboard';
  12. public function __construct()
  13. {
  14. $this->middleware('admin.guest', ['except' => 'logout']);
  15. }
  16. /**
  17. * Show the application's login form.
  18. *
  19. * @return \Illuminate\Http\Response
  20. */
  21. public function showLoginForm()
  22. {
  23. return view('admin.auth.admin_login');
  24. }
  25. public function login(Request $request)
  26. {
  27. $admin = Admin::where('email',$request->email)->first();
  28. if(!$admin){
  29. return redirect('/admin-login')->with('error','Unknown Email address!');
  30. }elseif($admin->status){
  31. $credentials = [
  32. 'email' => $request->email,
  33. 'password' => $request->password
  34. ];
  35. if (Auth::guard('admin')->attempt($credentials)){
  36. $admin->last_logged_timezone=$request->last_logged_timezone;
  37. $admin->last_logged_at=now();
  38. $admin->update();
  39. return redirect('admin/dashboard');
  40. }else{
  41. return redirect('/admin-login')->with('error','Wrong Email/Password combination');
  42. }
  43. }else{
  44. return redirect('/admin-login')->with('error', 'Account Status is not Activated!');
  45. }
  46. }
  47. /**
  48. * Get the guard to be used during authentication.
  49. *
  50. * @return \Illuminate\Contracts\Auth\StatefulGuard
  51. */
  52. protected function guard()
  53. {
  54. return Auth::guard('admin');
  55. }
  56. public function logout(){
  57. $this->guard('admin')->logout();
  58. return redirect('/admin-login');
  59. }
  60. public function showRegisterForm()
  61. {
  62. return view('admin.auth.register');
  63. }
  64. }