53 lines
1.7 KiB
PHP
Executable file
53 lines
1.7 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'))){
|
|
$user_shop = UserShop::where('slug', $request->route('subdomain'))->where('active', 1)->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').$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{
|
|
$tld = config('app.tld_shop');
|
|
$user_shop = UserShop::where('slug', 'aloevera')->where('active', 1)->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'). $tld);
|
|
|
|
}
|
|
}
|