<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class CheckPrivateModeMiddleware { public function handle(Request $request, Closure $next) { $privateModeEnabled = config('app.private_mode'); $privateModeSecret = config('app.private_mode_secret'); $userSecretInput = $request->input('secret'); $secretIsUsable = ! empty($privateModeSecret) && $privateModeSecret === $userSecretInput; if ($privateModeEnabled && ! $secretIsUsable) { return redirect()->route('maintenance'); } elseif (! $privateModeEnabled && $request->is('maintenance')) { return redirect()->route('index'); } return $next($request); } }