diff --git a/public_html/translate.php b/public_html/translate.php
index 6a7029f5c..6ef5d0363 100644
--- a/public_html/translate.php
+++ b/public_html/translate.php
@@ -23,7 +23,10 @@ if ('POST' === $_SERVER['REQUEST_METHOD']) {
if (!$zip->open($file, ZIPARCHIVE::CREATE)) {
exit("Failed to create zip");
}
- $lang = $lang ?: 'new';
+ if (!$lang) {
+ $lang = (empty($_POST['lang']) || !preg_match('/^[a-z]{2}(-[A-Z]{2})?$/D',$_POST['lang']))
+ ? 'new' : $_POST['lang'];
+ }
$zip->addFromString("{$lang}/admin.json", toJSON($_POST['admin']));
$zip->addFromString("{$lang}/user.json", toJSON($_POST['user']));
$zip->close();
@@ -45,9 +48,9 @@ require 'demo/index.php';
$root = APP_VERSION_ROOT_PATH . 'app/localization';
$en = [
+ 'user' => '',
'admin' => '',
// 'static' => '',
- 'user' => ''
];
foreach ($en as $name => $data) {
$en[$name] = json_decode(file_get_contents("{$root}/en/{$name}.json"), true);
@@ -102,17 +105,20 @@ echo '
';
foreach ($en as $name => $sections) {
echo 'en
- '.$lang.'
+ '.($lang ?: '').'