Files
einundzwanzig-app/app/Http/Middleware/DomainMiddleware.php
HolgerHatGarKeineNode d263eaf92d 🛠️ Add German portal domain and refactor URL handling for Nostr publishing
- Introduce `portal.einundzwanzig.space` with locale settings in `DomainMiddleware`.
- Replace verbose if‑chain in `NostrTrait::getUrl()` with a concise match expression.
- Add `DOMAIN_MAP` constant to `PublishUnpublishedItems` and force URL generation to use the correct domain per country.
- Update command flow: set domain before configuring timezone/locale.
2025-12-09 22:45:26 +01:00

67 lines
2.0 KiB
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Symfony\Component\HttpFoundation\Response;
class DomainMiddleware
{
public function handle(Request $request, Closure $next): Response
{
$domain = $request->getHost(); // Erkennt die aktuelle Domain (via CNAME)
// domains
$domainArray = [
'portal.einundzwanzig.space' => [
'locale' => 'de',
'lang_country' => 'de-DE',
'app_name' => 'EINUNDZWANZIG Portal',
],
'portal.eenentwintig.net' => [
'locale' => 'nl',
'lang_country' => 'nl-NL',
'app_name' => 'EENENTWINTIG Portaal',
],
'portal.huszonegy.world' => [
'locale' => 'hu',
'lang_country' => 'hu-HU',
'app_name' => 'HUSZONEGY Portál',
],
'portal.dwadziesciajeden.pl' => [
'locale' => 'pl',
'lang_country' => 'pl-PL',
'app_name' => 'DWADZIEŚCIA JEDEN Portal',
],
'pl.localhost' => [
'locale' => 'pl',
'lang_country' => 'pl-PL',
'app_name' => 'DWADZIEŚCIA JEDEN Portal',
],
'hu.localhost' => [
'locale' => 'hu',
'lang_country' => 'hu-HU',
'app_name' => 'HUSZONEGY Portál',
],
];
// App-Locale dynamisch setzen
if (isset($domainArray[$domain]['locale'])) {
session([
'lang_country' => $domainArray[$domain]['lang_country'],
'locale' => $domainArray[$domain]['locale'],
]);
config([
'app.name' => $domainArray[$domain]['app_name'],
'app.domain_country' => $domainArray[$domain]['locale'],
]);
App::setLocale($domainArray[$domain]['locale']);
}
return $next($request);
}
}