HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ehbo.today/app/KommaApp/Auth/SiteLoginController.php
<?php

namespace App\KommaApp\Auth;

use App\Http\Controllers\Controller;
use App\KommaApp\Kms\ActionLog\ActionLogService;
use App\KommaApp\Users\Models\User;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;

class SiteLoginController 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.
    |
    */

    /**
     * @var int $maxAttempts How many times you may try to login with wrong credentials before being locked out
     */
    protected $maxAttempts = 5;

    /**
     * @var int $decayMinutes How long it takes before you can login again after being locked out in minutes
     */
    protected $decayMinutes = 1;

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/trainingen';



    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
        parent::__construct();
    }

    public function showLoginForm()
    {
        return view('site.auth.login')->with(['links' => $this->links]);
    }

    /**
     * Attempt to log the user into the application.
     *
     * @param  \Illuminate\Http\Request $request
     * @return bool
     */
    protected function attemptLogin(Request $request)
    {
        $valid = $this->guard()->attempt(
            $this->credentials($request), $request->filled('remember')
        );

        if($valid) {
            ActionLogService::Log('Logged in successfully at the front end');
            redirect( $this->redirectTo );
        } else {
            ActionLogService::Log('Failed to login at the frontend (wrong credentials or permissions)', [
                'email' => $request->input('email'),
                'password' => \Hash::make($request->input('password')),
                'ip' => $request->ip(),
            ]);
        }

        return $valid;
    }

    /**
     * Send the response after the user was authenticated.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendLoginResponse(Request $request)
    {
        $request->session()->regenerate();

        $this->clearLoginAttempts($request);

        return $this->authenticated($request, $this->guard()->user())
            ?: redirect($this->redirectTo);
    }

    /**
     * Get the login username to be used by the controller.
     *
     * @return string
     */
    public function username()
    {

        if(request()->get('email')) {
            return 'email';
        } else if(request()->get('certificate_number_or_email') && (strpos(request()->get('certificate_number_or_email'), '@') == false)) {
            request()->merge(['certificate_number' => request()->get('certificate_number_or_email')]);
            return 'certificate_number';
        }
        request()->merge(['email' => request()->get('certificate_number_or_email')]);
        return 'email';
    }

    /**
     * Get the needed authorization credentials from the request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function credentials(Request $request)
    {
        return $request->only($this->username(), User::PASSWORD_COLUMN_NAME);
    }

    /**
     * Log the user out of the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function logout(Request $request)
    {
        ActionLogService::Log('Logged out at the frontend');
        $this->guard()->logout();

        $request->session()->invalidate();

        return redirect('/login');
    }
}