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)
|
|
|
|
|
{
|
2021-06-15 11:06:32 +02:00
|
|
|
$request->merge([
|
|
|
|
|
'gameStarted' => Carbon::now() >= config('game.gameStart')
|
|
|
|
|
]);
|
2021-06-22 17:15:02 +02:00
|
|
|
|
2021-06-15 11:06:32 +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);
|
|
|
|
|
}
|
|
|
|
|
}
|