attributes:
label: Ventoy Version
description: What version of ventoy are you running?
- placeholder: 1.0.61
+ placeholder: 1.0.62
validations:
required: true
- type: dropdown
build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64'
build_func "mips-linux-gnu-gcc -mips64r2 -mabi=64" 'm64e' 'mips64el'
-
rm -f ./www.tar.xz
fi
+[ -f ./www/helplist ] && rm -f ./www/helplist
+ls -1 ../INSTALL/grub/help/ | while read line; do
+ echo -n ${line:0:5} >> ./www/helplist
+done
echo -n "$plugson_verion" > ./www/buildtime
tar cf www.tar www
NULL
};
-static const char *g_ventoy_help_lang[] =
-{
- "de_DE", "en_US", "fr_FR", "hr_HR", "id_ID", "pt_PT", "sr_CY", "sr_SR", "tr_TR", "zh_CN",
-
- NULL
-};
+static char g_ventoy_help_lang[MAX_LANGUAGE][8];
static char g_pub_path[2 * MAX_PATH];
static data_control g_data_control[bios_max + 1];
VTOY_JSON_FMT_KEY("help_list");
VTOY_JSON_FMT_ARY_BEGIN();
- for (i = 0; g_ventoy_help_lang[i]; i++)
+ for (i = 0; g_ventoy_help_lang[i][0]; i++)
{
VTOY_JSON_FMT_ITEM(g_ventoy_help_lang[i]);
}
}
else if (strcmp(child->pcName, "VTOY_HELP_TXT_LANGUAGE") == 0)
{
- for (i = 0; g_ventoy_help_lang[i]; i++)
+ for (i = 0; g_ventoy_help_lang[i][0]; i++)
{
if (strcmp(child->unData.pcStrVal, g_ventoy_help_lang[i]) == 0)
{
int ventoy_http_init(void)
{
+ int i = 0;
+
+#ifdef VENTOY_SIM
+ char *Buffer = NULL;
+ int BufLen = 0;
+
+ ventoy_read_file_to_buf("www/helplist", 4, (void **)&Buffer, &BufLen);
+ if (Buffer)
+ {
+ for (i = 0; i < BufLen / 5; i++)
+ {
+ memcpy(g_ventoy_help_lang[i], Buffer + i * 5, 5);
+ g_ventoy_help_lang[i][5] = 0;
+ }
+ free(Buffer);
+ }
+#else
+ ventoy_file *file;
+ file = ventoy_tar_find_file("www/helplist");
+ if (file)
+ {
+ for (i = 0; i < file->size / 5; i++)
+ {
+ memcpy(g_ventoy_help_lang[i], (char *)(file->addr) + i * 5, 5);
+ g_ventoy_help_lang[i][5] = 0;
+ }
+ }
+#endif
+
if (!g_pub_json_buffer)
{
g_pub_json_buffer = malloc(JSON_BUF_MAX * 2);
g_pub_save_buffer = g_pub_json_buffer + JSON_BUF_MAX;
- }
+ }
+
pthread_mutex_init(&g_api_mutex, NULL);
return 0;
#include <civetweb.h>
+#define MAX_LANGUAGE 128
#define L1 " "
#define L2 " "
-20211201 20:08:18
\ No newline at end of file
+20211203 17:44:10
\ No newline at end of file
--- /dev/null
+de_DEen_USfr_FRhr_HRid_IDja_JPpt_PTsr_CYsr_SRtr_TRzh_CN
\ No newline at end of file
\r
<footer class="main-footer">\r
<div class="pull-right hidden-xs">\r
- <b id="plugson_build_date">20211201 20:08:18</b>
+ <b id="plugson_build_date">20211203 17:44:10</b>
</div>\r
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>\r
</footer>\r
}\r
}\r
\r
- if (extra.indexOf("\"") >= 0) {\r
- Message.error(g_current_language === 'en' ? "Class can not contains double quotes." : "Class 不能包含双引号。");\r
- return;\r
- }\r
-\r
callVtoy({\r
method : 'class_add',\r
index: current_tab_index,\r
}\r
\r
function OnAddKeyClass(key, value) {\r
+ if (!ventoy_check_file_name_char(key)) {\r
+ Message.error(g_current_language === 'en' ? "As part of file name, key can not include invalid characters!" : "作为文件名的一部分,key 中不能包含特殊的符号!");\r
+ return;\r
+ }\r
+\r
AddClassEntry(key, 0, 1, value);\r
}\r
\r
+function ventoy_check_file_name_char(path) {\r
+ for (var i = 0; i < path.length; i++) {\r
+ var cc = path[i];\r
+ if (cc === '/' || cc === '\\' || cc === '*' || cc === '?' || cc === '"' || cc === '<' || cc === '>' || cc === '|')\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
+\r
(function(factory) {\r
if (typeof define === "function" && define.amd) {\r
define(["jquery", "../jquery.validate"], factory);\r
\r
return true;\r
}, 'Can not contain double quotes');\r
+\r
+ $.validator.addMethod('filenamepart', function(value, element, params) {\r
+ if (this.optional(element)) {\r
+ return true;\r
+ }\r
+\r
+ return ventoy_check_file_name_char(value);\r
+ }, 'Invalid characters');\r
\r
\r
$.validator.addMethod('printascii', function(value, element, params) {\r
utfmaxlen: $.validator.format("The string exceeds the maximum supported length"),\r
start_slash: $.validator.format("Must start with /"),\r
noquotes: $.validator.format("Can not include double quotes"),\r
+ filenamepart:$.validator.format("As part of file name, can not include invalid characters"),\r
printascii: $.validator.format("Can not include non-ascii characters.")\r
});\r
\r
utfmaxlen: $.validator.format("超过最大长度"),\r
start_slash: $.validator.format("必须以反斜杠 / 开头"),\r
noquotes: $.validator.format("不能包含双引号"),\r
+ filenamepart:$.validator.format("作为文件名的一部分,不能包含特殊的符号"),\r
printascii: $.validator.format("不能包含中文或其他非 ascii 字符。")\r
});\r
\r
},\r
SetKeyValue : {\r
required: true,\r
- utfmaxlen: true \r
+ utfmaxlen: true,\r
+ filenamepart: true \r
}\r
},\r
\r