ldc-tousenselle/app/Http/Middleware/TeaserMiddleware.php

43 lines
1 KiB
PHP
Raw Permalink Normal View History

2021-06-09 11:43:25 +02:00
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
class TeaserMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request->merge([
'gameStarted' => Carbon::now() >= config('game.gameStart')
]);
2021-06-22 17:15:02 +02:00
if (!$request->gameStarted) {
2021-06-14 10:57:35 +02:00
if (
!in_array($request->route()->getName(), [
'teaser', 'logout', 'rules', 'legals'
])
) {
return response()->redirectToRoute('teaser');
}
2021-06-09 11:43:25 +02:00
} elseif ($request->route()->getName() === 'teaser') {
return response()->redirectToRoute('home', [], 301);
}
2021-06-22 17:15:02 +02:00
if ($request->route()->getName() === 'verification.verify'){
$request->request->remove('gameStarted');
}
2021-06-09 11:43:25 +02:00
return $next($request);
}
}