ldc-tousenselle/app/Http/Middleware/TeaserMiddleware.php
2021-06-22 17:15:02 +02:00

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