Files
usbcheck.it/partials/structure/app_config.php

64 lines
2.0 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'] ?? app_primary_domain();
$requestUri = $_SERVER['REQUEST_URI'] ?? '/';
// -----------------------------------------------
// USBCheck JavaScript-Konfiguration
// (für fakecheck.*, header.js, i18n, usw.)
// -----------------------------------------------
$usbConfig = [
'lang' => $lang ?? 'en',
// Basis-Pfade
'assetsBase' => '/assets',
// Versionierung für JS/CSS
// → wenn ASSET_VERSION definiert ist, wird sie genutzt
// → sonst null (JS-Loader sorgt für ?v= fallback)
'assetVersion'=> defined('ASSET_VERSION') ? ASSET_VERSION : null,
// Environment (prod, staging, dev)
'env' => $GLOBALS['ENV'] ?? 'prod',
// Domains
'domains' => [
'primaryDomain' => app_primary_domain(),
'primaryUrl' => app_primary_url(),
'fakecheckDomain' => app_fakecheck_domain(),
'fakecheckUrl' => app_fakecheck_url(),
],
// Fakecheck-Tool-Config
'fakecheck' => [
'baseUrl' => $GLOBALS['usb_base_url'] ?? '',
'apiBaseUrl' => $GLOBALS['usb_api_base'] ?? 'https://api.usbcheck.it',
'locale' => $lang ?? 'en',
],
// -----------------------------------------------
// i18n: aus fileload.php gefüllt
// -----------------------------------------------
'i18n' => [
// Alle verfügbaren Sprachen (code, label, flag)
'available' => $availableLangs ?? [],
// Aktuelle Sprache als Code (de/en/fr/it …)
'current' => $lang ?? 'en',
],
];
// -----------------------------------------------
// Javascript-Konfiguration in die Seite schreiben
// -----------------------------------------------
?>
<script>
window.usbConfig = <?= json_encode(
$usbConfig,
JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_INVALID_UTF8_SUBSTITUTE
) ?>;
</script>