This repository has been archived on 2021-01-24. You can view files and clone it, but cannot push or open issues or pull requests.
laravel-elearning/app/Http/Controllers/HomeController.php

81 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Test;
use App\User;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$tests = Auth::user()->getTests();
return view('home', compact('tests'));
}
public function stats()
{
return view('stats');
}
public function settings()
{
$user = Auth::user();
return view('users.settings', compact('user'));
}
public function updatePassword(Request $request)
{
$this->validate($request, [
"password" => "required|min:8|confirmed",
"password_confirmation" => "required_with:password"
]);
$user = Auth::user();
if (!$user->passwordVerify($request->get("password_old"))) {
$request->session()->flash("status_failed", "The password you entered does not match your current password");
return redirect('/settings');
}
$user->updatePassword($request->get("password"));
$request->session()->flash('status', 'Your password was updated successfully!');
return redirect('/settings');
}
public function updateEmail(Request $request)
{
$this->validate($request, [
"email" => "required|email"
]);
$user = Auth::user();
if (!$user->passwordVerify($request->get("password"))) {
$request->session()->flash("status_failed", "The password you entered does not match your current password");
return redirect("/settings");
}
$user->updateEmail($request->get("email"));
$request->session()->flash('status', 'Your email was updated successfully!');
return redirect('/settings');
}
}