44
55use App \Http \Controllers \Controller ;
66use Illuminate \Foundation \Auth \AuthenticatesUsers ;
7+ use Illuminate \Support \Facades \Validator ;
78use Illuminate \Http \Request ;
89use App \Helper ;
910
10- define ('LOGIN_REDIRECT_TO ' , Helper::getDotEnvFileVar ('LARAVEL_SURVEY_PREFIX_URL ' ) . '/dashboard ' );
11-
1211class LoginController extends Controller
1312{
1413 /*
@@ -27,39 +26,48 @@ class LoginController extends Controller
2726 }
2827
2928 // https://stackoverflow.com/a/40887817
30- public function logout (Request $ request )
31- {
29+ public function logout (Request $ request ) {
30+ $ user = \Auth::user ();
31+ $ farewell = 'See you later! ' ;
32+ if ($ user ):
33+ $ farewell = 'See you later ' . $ user ->name . '! ' ;
34+ endif ;
35+
3236 $ this ->performLogout ($ request );
37+
38+ $ request ->session ()->flash ('success ' , $ farewell );
3339 return redirect ()->route ('home ' );
3440 }
3541
36- /**
37- * Where to redirect users after login.
38- *
39- * @var string
40- */
41- protected $ redirectTo = LOGIN_REDIRECT_TO ;
42-
4342 /**
4443 * Create a new controller instance.
4544 *
4645 * @return void
4746 */
48- public function __construct ()
49- {
47+ public function __construct () {
5048 $ this ->middleware ('guest ' , ['except ' => 'logout ' ]);
5149 }
5250
53- public function validate (Request $ request, array $ rules , array $ messages = [], array $ customAttributes = [] ) {
54- if (Helper::isGoogleReCaptchaEnabled ()):
55- $ rules [ ' g-recaptcha-response ' ] = ' required|google_recaptcha ' ;
51+ protected function sendLoginResponse (Request $ request ) {
52+ if (! Helper::isGoogleReCaptchaEnabled ()):
53+ return $ this -> goToDashboard () ;
5654 endif ;
5755
58- return parent :: validate (
59- $ request ,
60- $ rules ,
61- $ messages ,
62- $ customAttributes
56+ $ validator = Validator:: make (
57+ $ request-> all () ,
58+ [
59+ ' g-recaptcha-response ' => ' required|google_recaptcha '
60+ ]
6361 );
62+
63+ if ($ validator ->fails ()):
64+ return $ this ->logout ($ request )->withErrors ($ validator )->withInput ();
65+ endif ;
66+
67+ return $ this ->goToDashboard ();
68+ }
69+
70+ protected function goToDashboard () {
71+ return redirect ()->route ('dashboard ' );
6472 }
6573}
0 commit comments