<?php namespace App\Http\Middleware; use Closure; use App\Models\LmsInstitute; use Illuminate\Http\Response; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Session; class SubdomainMiddleware { public function handle($request, Closure $next) { if (config('app.short_url') == request()->getHost()) { $domain = null; } else { $domain = str_replace('.' . config('app.short_url'), '', request()->getHost()); } if ($domain) { $institute = LmsInstitute::on('mysql')->where('domain', $domain)->firstOrFail(); } else { $institute = LmsInstitute::on('mysql')->findOrFail(1); } Session::put('domain', $domain); $host = $request->getHttpHost(); if (isModuleActive('LmsSaasMD')) { if ($institute->status == 0) { $maintain = collect(); $maintain->maintenance_title = trans('saas.View Title'); $maintain->maintenance_sub_title = trans('saas.View Sub Title'); $maintain->maintenance_banner = HomeContents('maintenance_banner'); return new response(view(theme('pages.maintenance'), compact('maintain'))); } if (DB::connection()->getDatabaseName() != $institute->db_database) { DbConnect(); } } app()->forgetInstance('institute'); app()->instance('institute', $institute); return $next($request); } }