From a23b9875a058cacb84053cf0c7efc18ba27dc3e5 Mon Sep 17 00:00:00 2001 From: WikiDroneFr <35867485+WikiDroneFr@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:11:56 +0200 Subject: [PATCH] Use server language for new user accounts (#346) --- GameEngine/Database/DatabaseUserQueries.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/GameEngine/Database/DatabaseUserQueries.php b/GameEngine/Database/DatabaseUserQueries.php index 3a54cf97..072afbc9 100644 --- a/GameEngine/Database/DatabaseUserQueries.php +++ b/GameEngine/Database/DatabaseUserQueries.php @@ -30,7 +30,19 @@ trait DatabaseUserQueries { $desc = $desc ?? ''; $time = time(); $access = USER; - + + // New accounts inherit the configured server language. + // English remains the safe fallback if SERVER_LANG is missing or invalid. + $serverLang = defined('SERVER_LANG') + ? strtolower(trim((string) SERVER_LANG)) + : 'en'; + + $allowedLanguages = ['en', 'fr', 'it', 'ro', 'zh']; + + if (!in_array($serverLang, $allowedLanguages, true)) { + $serverLang = 'en'; + } + $startTime = strtotime(START_DATE) - strtotime(date('d.m.Y')) + strtotime(START_TIME); $protectionTime = $uid != 3 ? (($startTime > $time) ? $startTime : $time) + PROTECTION : 0; @@ -46,7 +58,8 @@ trait DatabaseUserQueries { if($stmt->execute()){ $id = $stmt->insert_id ?: $uid; $stmt->close(); - $this->grantRegistrationGold($id); + $this->updateUserField($id, "lang", $serverLang, 1); + $this->grantRegistrationGold($id); return $id; } $stmt->close(); @@ -62,7 +75,8 @@ trait DatabaseUserQueries { if($stmt2->execute()){ $id = $stmt2->insert_id ?: $uid; $stmt2->close(); - $this->grantRegistrationGold($id); + $this->updateUserField($id, "lang", $serverLang, 1); + $this->grantRegistrationGold($id); return $id; } $stmt2->close();