File "CheckForMaintenanceMode.php"
Full Path: /home/trinadezambia/public_html/admin_panel/app/Http/Middleware/CheckForMaintenanceMode.php
File size: 998 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Symfony\Component\HttpFoundation\Response;
use App\Services\CachingService;
class CheckForMaintenanceMode
{
protected $except = [];
protected $cache;
public function __construct(CachingService $cache)
{
$this->cache = $cache;
}
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
$systemSettings = $this->cache->getSystemSettings();
if (isset($systemSettings['web_maintenance']) && $systemSettings['web_maintenance'] == 1) {
if (!Auth::check() || (Auth::check() && !Auth::user()->hasRole('Super Admin'))) {
return \Response::view('errors.503', [], 503);
}
}
return $next($request);
}
}