/home/mip/mip/app/Modules/Employer/Middleware/RedirectIfAuthenticated.php
<?php
namespace QxCMS\Modules\Employer\Middleware;
use Closure;
use Config;
use Illuminate\Support\Facades\Auth;
use QxCMS\Modules\Likod\Models\Clients\Client;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = 'employer')
{
$root_dir = strtolower($request->segment(2));
session(['root_dir' => $root_dir]);
if($root_dir == '') return response()->view('errors.404', [], 500);
$client = new Client;
$config = $client->where('root_dir', $root_dir)->get()->first();
if(count($config) <= 0) return response()->view('errors.404', [], 500);
config(['auth.defaults.guard' => $guard]);
Config::set('database.connections.client', array(
'driver' => 'mysql',
'host' => $config->database_host,
'database' => 'myradh_'. $config->database_name,
'username' => $config->database_username,
'password' => $config->database_password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
));
Config::set('filesystems.disks.s3', array(
'driver' => 's3',
'key' => $config->s3_key,
'secret' => $config->s3_secret,
'region' => $config->s3_region,
'bucket' => $config->s3_bucket_name,
'scheme' => 'http',
));
if (Auth::guard($guard)->check()) {
$request->setUserResolver(function () use ($guard) {
return Auth::guard($guard)->user();
});
return redirect('employer/'.$root_dir.'/dashboard');
}
return $next($request);
}
}