mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 22:34:03 +00:00
25 lines
729 B
PHP
25 lines
729 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Stancl\Tenancy\Features;
|
|
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Stancl\Tenancy\Contracts\Feature;
|
|
use Stancl\Tenancy\TenantManager;
|
|
|
|
class CrossDomainRedirect implements Feature
|
|
{
|
|
public function bootstrap(TenantManager $tenantManager): void
|
|
{
|
|
RedirectResponse::macro('domain', function (string $domain) {
|
|
// replace first occurance of hostname fragment with $domain
|
|
$url = $this->getTargetUrl();
|
|
$hostname = parse_url($url, PHP_URL_HOST);
|
|
$position = strpos($url, $hostname);
|
|
$this->setTargetUrl(substr_replace($url, $domain, $position, strlen($hostname)));
|
|
|
|
return $this;
|
|
});
|
|
}
|
|
}
|