diff --git a/GameEngine/Lang/en.php b/GameEngine/Lang/en.php index 366349db..49c243be 100755 --- a/GameEngine/Lang/en.php +++ b/GameEngine/Lang/en.php @@ -2211,6 +2211,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', 'In the village you can build bu tz_def('TZ_IRON_25_5_GOLD', 'Iron +25% (5 gold)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (yy/mm/dd 24h)'); tz_def('TZ_ITALIAN', 'Italian'); +tz_def('TZ_SPANISH', 'Spanish'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', 'I activated Plus, but production did not increase.'); tz_def('TZ_JOIN_AN_ALLIANCE', 'Join an alliance'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', 'Join an alliance or found one on your own.'); diff --git a/GameEngine/Lang/es.php b/GameEngine/Lang/es.php index 5ee394c6..a99a3e1e 100644 --- a/GameEngine/Lang/es.php +++ b/GameEngine/Lang/es.php @@ -2211,6 +2211,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', 'In the village you can build bu tz_def('TZ_IRON_25_5_GOLD', 'Iron +25% (5 gold)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (yy/mm/dd 24h)'); tz_def('TZ_ITALIAN', 'Italian'); +tz_def('TZ_SPANISH', 'Español'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', 'I activated Plus, but production did not increase.'); tz_def('TZ_JOIN_AN_ALLIANCE', 'Join an alliance'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', 'Join an alliance or found one on your own.'); diff --git a/GameEngine/Lang/fr.php b/GameEngine/Lang/fr.php index 1e610dd0..3d71a780 100644 --- a/GameEngine/Lang/fr.php +++ b/GameEngine/Lang/fr.php @@ -2218,6 +2218,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', 'Dans le village vous pouvez con tz_def('TZ_IRON_25_5_GOLD', 'Fer +25% (5 or)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (aa/mm/jj 24h)'); tz_def('TZ_ITALIAN', 'Italien'); +tz_def('TZ_SPANISH', 'Espagnol'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', 'J\'ai activé Plus, mais la production n\'a pas augmenté.'); tz_def('TZ_JOIN_AN_ALLIANCE', 'Rejoindre une alliance'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', 'Rejoignez une alliance ou fondez la vôtre.'); diff --git a/GameEngine/Lang/it.php b/GameEngine/Lang/it.php index 48bcfdf7..19a1977f 100755 --- a/GameEngine/Lang/it.php +++ b/GameEngine/Lang/it.php @@ -1874,6 +1874,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', 'Nel villaggio puoi costruire ed tz_def('TZ_IRON_25_5_GOLD', 'Ferro +25% (5 oro)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (aa/mm/gg 24h)'); tz_def('TZ_ITALIAN', 'Italiano'); +tz_def('TZ_SPANISH', 'Spagnolo'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', 'Ho attivato Plus, ma la produzione non è aumentata.'); tz_def('TZ_JOIN_AN_ALLIANCE', 'Unisciti a un\'alleanza'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', 'Unisciti a un\'alleanza o fondane una tua.'); diff --git a/GameEngine/Lang/ro.php b/GameEngine/Lang/ro.php index 02bf3ed2..d54e07f9 100644 --- a/GameEngine/Lang/ro.php +++ b/GameEngine/Lang/ro.php @@ -2178,6 +2178,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', 'În sat poți construi clădiri tz_def('TZ_IRON_25_5_GOLD', 'Fier +25% (5 aur)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (aa/ll/zz 24h)'); tz_def('TZ_ITALIAN', 'Italiană'); +tz_def('TZ_SPANISH', 'Spaniola'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', 'Am activat Plus, dar producția nu a crescut.'); tz_def('TZ_JOIN_AN_ALLIANCE', 'Alătură-te unei alianțe'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', 'Alătură-te unei alianțe sau întemeiază una proprie.'); diff --git a/GameEngine/Lang/zh.php b/GameEngine/Lang/zh.php index 35129dd7..db157db9 100644 --- a/GameEngine/Lang/zh.php +++ b/GameEngine/Lang/zh.php @@ -1979,6 +1979,7 @@ tz_def('TZ_IN_THE_VILLAGE_YOU_CAN_BUILD_BUILD', '在村庄中您可以建造建 tz_def('TZ_IRON_25_5_GOLD', '铁 +25%(5 金币)'); tz_def('TZ_ISO_YY_MM_DD_24H', 'ISO (yy/mm/dd 24h)'); tz_def('TZ_ITALIAN', '意大利语'); +tz_def('TZ_SPANISH', '西班牙语'); tz_def('TZ_I_ACTIVATED_PLUS_BUT_PRODUCTION_DI', '我激活了 Plus,但产量没有增加。'); tz_def('TZ_JOIN_AN_ALLIANCE', '加入联盟'); tz_def('TZ_JOIN_AN_ALLIANCE_OR_FOUND_ONE_ON_Y', '加入联盟或自己创建一个。'); diff --git a/GameEngine/Profile.php b/GameEngine/Profile.php index 63e569de..63946456 100755 --- a/GameEngine/Profile.php +++ b/GameEngine/Profile.php @@ -97,10 +97,20 @@ class Profile { unset($_SESSION[$cacheKeyUser]); // Game language. - $allowed = ['en', 'fr', 'it', 'ro', 'zh']; + // + // Lista NU mai e scrisa de mana: se accepta orice limba care are fisier + // in GameEngine/Lang/. Inainte, adaugarea unei limbi noi cerea si o + // modificare aici, altfel alegerea jucatorului era respinsa in tacere - + // exact ce s-a intamplat cu spaniola. + // + // Tiparul e acelasi cu cel din panou (editServerSet): doua litere mici + // si fisierul sa existe. Verificarea pe nume opreste orice incercare de + // a iesi din folder. if (!empty($post['lang'])) { $lang = strtolower(trim($post['lang'])); - if (in_array($lang, $allowed, true)) { + + if (preg_match('/^[a-z]{2}$/', $lang) + && is_file(__DIR__ . '/Lang/' . $lang . '.php')) { $database->updateUserField($session->uid, "lang", $lang, 1); $_SESSION['lang'] = $lang; $session->userinfo['lang'] = $lang; diff --git a/Templates/Profile/preference.tpl b/Templates/Profile/preference.tpl index 19493edf..12b5ac86 100644 --- a/Templates/Profile/preference.tpl +++ b/Templates/Profile/preference.tpl @@ -532,7 +532,7 @@ if(isset($_POST['lang'])) +