ldc-tousenselle/app/Http/Middleware/TeaserMiddleware.php
2021-06-14 10:57:35 +02:00

34 lines
925 B
PHP

<?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)
{
config(['game.gameStarted' => Carbon::now() >= config('game.gameStart')]);
if (Carbon::now() < config('game.gameStart')) {
if (
!in_array($request->route()->getName(), [
'teaser', 'logout', 'rules', 'legals'
])
) {
return response()->redirectToRoute('teaser');
}
} elseif ($request->route()->getName() === 'teaser') {
return response()->redirectToRoute('home', [], 301);
}
return $next($request);
}
}