mivita/app/Http/Middleware/Subdomain.php
Kevin Adametz 7a040c3e19 06 2022
2022-06-15 18:08:45 +02:00

61 lines
2 KiB
PHP
Executable file

<?php
namespace App\Http\Middleware;
use App\Models\UserShop;
use App\Services\Util;
use Closure;
use Auth;
use Config;
use phpDocumentor\Reflection\DocBlock\Tags\Uses;
class Subdomain
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$tld = config('app.tld_care');
if(!empty($request->route('subdomain'))){
//sub.mivita.care
$user_shop = UserShop::where('slug', $request->route('subdomain'))->first();
$request->route()->forgetParameter('subdomain');
Util::setPostRoute('user/');
if($user_shop){
if(!$user_shop->active){
abort(503);
}
if(!$user_shop->user){
abort(503);
}
if(!$user_shop->user->isActiveShop()){
abort(503);
}
\Session::put('user_shop', $user_shop);
\Session::put('user_shop_domain', config('app.protocol').$user_shop->slug.".".config('app.domain').config('app.tld_care'));
Config::set('app.url', $user_shop->slug.".".config('app.domain').config('app.tld_care'));
return $next($request);
}
}else{
//mivita.shop
$tld = config('app.tld_shop');
$user_shop = UserShop::where('slug', 'aloevera')->first();
//$request->route()->forgetParameter('subdomain');
Util::setPostRoute('user/');
if($user_shop){
\Session::put('user_shop', $user_shop);
\Session::put('user_shop_domain', config('app.protocol').config('app.domain').config('app.tld_shop'));
Config::set('app.url', config('app.domain').config('app.tld_shop'));
return $next($request);
}
}
return redirect(config('app.url'));
}
}