PATH:
home
/
lab2454c
/
crypto.keyreum.com
/
platform
/
plugins
/
ecommerce
/
src
/
Http
/
Controllers
/
Customers
<?php namespace Botble\Ecommerce\Http\Controllers\Customers; use App\Http\Controllers\Controller; use Botble\ACL\Traits\AuthenticatesUsers; use Botble\ACL\Traits\LogoutGuardTrait; use Illuminate\Contracts\Auth\StatefulGuard; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Validation\ValidationException; use SeoHelper; use Symfony\Component\HttpFoundation\Response; use Theme; class LoginController extends Controller { /* |-------------------------------------------------------------------------- | Login Controller |-------------------------------------------------------------------------- | | This controller handles authenticating users for the application and | redirecting them to your home screen. The controller uses a trait | to conveniently provide its functionality to your applications. | */ use AuthenticatesUsers, LogoutGuardTrait { AuthenticatesUsers::attemptLogin as baseAttemptLogin; } /** * Where to redirect users after login / registration. * * @var string */ public $redirectTo; /** * Create a new controller instance. */ public function __construct() { $this->middleware('customer.guest', ['except' => 'logout']); } /** * Show the application's login form. * * @return \Response */ public function showLoginForm() { SeoHelper::setTitle(__('Login')); Theme::breadcrumb()->add(__('Home'), route('public.index'))->add(__('Login'), route('customer.login')); if (!session()->has('url.intended')) { if (!in_array(url()->previous(), [route('customer.login'), route('customer.register')])) { session(['url.intended' => url()->previous()]); } } return Theme::scope('ecommerce.customers.login', [], 'plugins/ecommerce::themes.customers.login')->render(); } /** * Get the guard to be used during authentication. * * @return StatefulGuard */ protected function guard() { return auth('customer'); } /** * @param Request $request * @return Response|void * @throws ValidationException * @throws ValidationException */ public function login(Request $request) { $this->validateLogin($request); // If the class is using the ThrottlesLogins trait, we can automatically throttle // the login attempts for this application. We'll key this by the username and // the IP address of the client making these requests into this application. if ($this->hasTooManyLoginAttempts($request)) { $this->fireLockoutEvent($request); $this->sendLockoutResponse($request); } if ($this->attemptLogin($request)) { return $this->sendLoginResponse($request); } // If the login attempt was unsuccessful we will increment the number of attempts // to log in and redirect the user back to the login form. Of course, when this // user surpasses their maximum number of attempts they will get locked out. $this->incrementLoginAttempts($request); $this->sendFailedLoginResponse(); } /** * Log the user out of the application. * * @param Request $request * @return RedirectResponse */ public function logout(Request $request) { $this->guard()->logout(); return $this->loggedOut($request) ?: redirect('/'); } /** * Attempt to log the user into the application. * * @param Request $request * @return bool * @throws ValidationException */ protected function attemptLogin(Request $request) { if ($this->guard()->validate($this->credentials($request))) { $customer = $this->guard()->getLastAttempted(); if (get_ecommerce_setting('verify_customer_email', 0) && empty($customer->confirmed_at)) { throw ValidationException::withMessages([ 'confirmation' => [ __('The given email address has not been confirmed. <a href=":resend_link">Resend confirmation link.</a>', [ 'resend_link' => route('customer.resend_confirmation', ['email' => $customer->email]), ]), ], ]); } return $this->baseAttemptLogin($request); } return false; } }
[+]
..
[-] ResetPasswordController.php
[edit]
[-] ForgotPasswordController.php
[edit]
[-] RegisterController.php
[edit]
[-] LoginController.php
[edit]
[-] PublicController.php
[edit]
[-] CustomerController.php
[edit]