<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Schema;

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;

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

	/**
	 * Create a new controller instance.
	 *
	 * @return void
	 */
	public function __construct()
	{
		$this->middleware('auth')
			->only('logout');
	}

	public function login(Request $request)
	{
		$this->validateLogin($request);

		if (Auth::attempt(array_merge($this->credentials($request),['active'=>TRUE]))) {
			$request->session()->regenerate();

			return $this->sendLoginResponse($request);
		}

		return $this->sendFailedLoginResponse($request);
	}

	protected function authenticated(Request $request, $user)
	{
		if (Schema::hasColumn($user->getTable(),'last_on')) {
			$user->last_on = Carbon::now();
			$user->save();
		}
	}

	/**
	 * Show our themed login page
	 */
	public function showLoginForm()
	{
		$login_note = '';

		if (file_exists('login_note.txt'))
			$login_note = file_get_contents('login_note.txt');

		return view('adminlte::auth.login')
			->with('login_note',$login_note);
	}
}
