feat: dynamische APP_URL detectie voor dev.fociz.nl en fociz.nl, verwijder alle uw-domein placeholders

This commit is contained in:
2026-09-08 15:04:12 +02:00
parent 0d92e46e6d
commit 3e41915ee0
4 changed files with 32 additions and 6 deletions
+1
View File
@@ -1,4 +1,5 @@
# Zorg dat omgevingsspecifieke bestanden nooit worden overschreven bij merges tussen dev en main # Zorg dat omgevingsspecifieke bestanden nooit worden overschreven bij merges tussen dev en main
config/config.php merge=ours config/config.php merge=ours
includes/env_badge.php merge=ours includes/env_badge.php merge=ours
config/.env.example merge=ours
+2 -2
View File
@@ -81,7 +81,7 @@ DB_PORT="3306"
DB_NAME="fociz" DB_NAME="fociz"
DB_USER="uw_mariadb_gebruiker" DB_USER="uw_mariadb_gebruiker"
DB_PASS="uw_mariadb_wachtwoord" DB_PASS="uw_mariadb_wachtwoord"
APP_URL="https://uw-domein.nl" APP_URL="https://fociz.nl"
``` ```
### 3. Automatische Tabellen Aanmaak ### 3. Automatische Tabellen Aanmaak
@@ -90,7 +90,7 @@ U hoeft **niet** handmatig SQL-commando's uit te voeren: zodra u de website voor
*(Optioneel kunt u `config/schema.sql` ook zelf importeren via phpMyAdmin of de MariaDB CLI).* *(Optioneel kunt u `config/schema.sql` ook zelf importeren via phpMyAdmin of de MariaDB CLI).*
### 4. Eerste Beheerder Instellen ### 4. Eerste Beheerder Instellen
1. Open uw browser en ga naar `https://uw-domein.nl`. 1. Open uw browser en ga naar `https://fociz.nl` (of `https://dev.fociz.nl`).
2. U wordt automatisch doorverwezen naar `/auth/setup.php`. 2. U wordt automatisch doorverwezen naar `/auth/setup.php`.
3. Vul uw naam, e-mailadres en gewenst wachtwoord in. 3. Vul uw naam, e-mailadres en gewenst wachtwoord in.
4. Scan de QR-code met Google Authenticator of Microsoft Authenticator. 4. Scan de QR-code met Google Authenticator of Microsoft Authenticator.
+2 -2
View File
@@ -8,8 +8,8 @@ DB_PASS="F0c1z_Dev_Secure_2026!"
# Omgeving: 'development' (knippert rood) of 'live' (knippert groen) # Omgeving: 'development' (knippert rood) of 'live' (knippert groen)
APP_ENV="development" APP_ENV="development"
# Applicatie URL (voor uitnodigingslinks) # Applicatie URL (voor uitnodigingslinks en OAuth redirects: https://dev.fociz.nl of https://fociz.nl)
APP_URL="https://uw-domein.nl" APP_URL="https://dev.fociz.nl"
# Applicatie Geheime Sleutel (willekeurige tekenreeks) # Applicatie Geheime Sleutel (willekeurige tekenreeks)
APP_SECRET="fociz-maria-db-super-secret-key-998877" APP_SECRET="fociz-maria-db-super-secret-key-998877"
+27 -2
View File
@@ -73,11 +73,36 @@ define('DB_USER', fociz_env('DB_USER', 'root'));
define('DB_PASS', fociz_env('DB_PASS', '')); define('DB_PASS', fociz_env('DB_PASS', ''));
define('DB_CHARSET', 'utf8mb4'); define('DB_CHARSET', 'utf8mb4');
// Bepaal de dynamische of geconfigureerde applicatie URL
if (!function_exists('fociz_detect_app_url')) {
function fociz_detect_app_url(): string {
$envUrl = fociz_env('APP_URL');
if (!empty($envUrl) && !str_contains($envUrl, 'uw-domein.nl')) {
return rtrim($envUrl, '/');
}
// Dynamische detectie op basis van het huidige domein (werkt direct op dev.fociz.nl én fociz.nl)
if (!empty($_SERVER['HTTP_HOST'])) {
$isHttps = (
(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ||
(!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https') ||
(!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on') ||
(isset($_SERVER['SERVER_PORT']) && (int)$_SERVER['SERVER_PORT'] === 443)
);
$scheme = $isHttps ? 'https://' : 'http://';
return $scheme . $_SERVER['HTTP_HOST'];
}
// Standaard fallback per omgeving
return (defined('APP_ENV') && APP_ENV === 'live') ? 'https://fociz.nl' : 'https://dev.fociz.nl';
}
}
// Applicatie instellingen // Applicatie instellingen
define('APP_NAME', 'Fociz'); define('APP_NAME', 'Fociz');
define('APP_URL', fociz_env('APP_URL', ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://') . ($_SERVER['HTTP_HOST'] ?? 'localhost'))));
define('APP_SECRET', fociz_env('APP_SECRET', 'fociz-maria-db-super-secret-key-998877'));
define('APP_ENV', fociz_env('APP_ENV', 'development')); // 'development' of 'live' define('APP_ENV', fociz_env('APP_ENV', 'development')); // 'development' of 'live'
define('APP_URL', fociz_detect_app_url());
define('APP_SECRET', fociz_env('APP_SECRET', 'fociz-maria-db-super-secret-key-998877'));
// Tijdzone // Tijdzone
date_default_timezone_set('Europe/Amsterdam'); date_default_timezone_set('Europe/Amsterdam');