76 lines
2.7 KiB
PHP
76 lines
2.7 KiB
PHP
<?php
|
|
// partials/structure/app_config.php
|
|
|
|
// Host-Infos ermitteln (für URLs / Redirects etc.)
|
|
$scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
|
|
$host = $_SERVER['HTTP_HOST'] ?? (function_exists('app_primary_domain') ? app_primary_domain() : 'localhost');
|
|
$requestUri = $_SERVER['REQUEST_URI'] ?? '/';
|
|
|
|
// Aktuelle Sprache & Sprachen aus den GLOBALS (kommen aus fileload.php / i18n.php)
|
|
$currentLang = $GLOBALS['lang'] ?? ($lang ?? 'en');
|
|
$allAvailable = $GLOBALS['availableLangs'] ?? [];
|
|
|
|
// Environment & Basis-URLs aus config.php / fileload.php
|
|
$appEnv = $GLOBALS['app_env'] ?? (defined('APP_ENV') ? APP_ENV : 'prod');
|
|
$appBaseUrl = $GLOBALS['app_base_url'] ?? ($scheme . '://' . $host);
|
|
$appApiBase = $GLOBALS['app_api_base'] ?? ($scheme . '://api.' . ($host));
|
|
|
|
// Optional: Helfer-Funktionen nutzen, falls vorhanden
|
|
$primaryDomain = function_exists('app_primary_domain') ? app_primary_domain() : $host;
|
|
$primaryUrl = function_exists('app_primary_url') ? app_primary_url() : ($scheme . '://' . $primaryDomain);
|
|
$fakecheckDomain = function_exists('app_fakecheck_domain') ? app_fakecheck_domain() : null;
|
|
$fakecheckUrl = function_exists('app_fakecheck_url') ? app_fakecheck_url() : null;
|
|
|
|
// i18n-Config aus deiner zentralen i18n-Logik
|
|
$i18nConfig = function_exists('app_i18n_get_frontend_config')
|
|
? app_i18n_get_frontend_config()
|
|
: [
|
|
'available' => $allAvailable,
|
|
'current' => $currentLang,
|
|
];
|
|
|
|
// -----------------------------------------------
|
|
// USBCheck JavaScript-Konfiguration
|
|
// -----------------------------------------------
|
|
$usbConfig = [
|
|
'lang' => $currentLang,
|
|
|
|
// Basis-Pfade
|
|
'assetsBase' => '/assets',
|
|
|
|
// Versionierung für JS/CSS
|
|
'assetVersion' => defined('ASSET_VERSION') ? ASSET_VERSION : null,
|
|
|
|
// Environment (prod, staging, dev)
|
|
'env' => $appEnv,
|
|
|
|
// Domains
|
|
'domains' => [
|
|
'primaryDomain' => $primaryDomain,
|
|
'primaryUrl' => $primaryUrl,
|
|
'fakecheckDomain' => $fakecheckDomain,
|
|
'fakecheckUrl' => $fakecheckUrl,
|
|
],
|
|
|
|
// Fakecheck-Tool-Config
|
|
'fakecheck' => [
|
|
'baseUrl' => $appBaseUrl,
|
|
'apiBaseUrl' => $appApiBase,
|
|
'locale' => $currentLang,
|
|
],
|
|
|
|
// i18n-Konfiguration (zentrale Struktur)
|
|
'i18n' => $i18nConfig,
|
|
];
|
|
?>
|
|
<script>
|
|
// Zentrales JS-Config-Objekt für deine Tools
|
|
window.usbcheck = <?= json_encode(
|
|
$usbConfig,
|
|
JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_INVALID_UTF8_SUBSTITUTE
|
|
) ?>;
|
|
|
|
// Alias für eventuelle ältere Stellen
|
|
window.usbConfig = window.usbcheck;
|
|
</script>
|