mirror of https://github.com/ventoy/Ventoy.git
Add tip in Plugson web page when old ventoy.json contains invalid configuration.
This commit is contained in:
parent
be0e19fc5b
commit
c57717aea2
|
@ -87,6 +87,7 @@ typedef struct SYSINFO
|
||||||
{
|
{
|
||||||
char buildtime[128];
|
char buildtime[128];
|
||||||
int syntax_error;
|
int syntax_error;
|
||||||
|
int invalid_config;
|
||||||
|
|
||||||
int language;
|
int language;
|
||||||
int pathcase;
|
int pathcase;
|
||||||
|
|
|
@ -323,6 +323,9 @@ static int ventoy_api_sysinfo(struct mg_connection *conn, VTOY_JSON *json)
|
||||||
VTOY_JSON_FMT_SINT("syntax_error", g_sysinfo.syntax_error);
|
VTOY_JSON_FMT_SINT("syntax_error", g_sysinfo.syntax_error);
|
||||||
g_sysinfo.syntax_error = 0;
|
g_sysinfo.syntax_error = 0;
|
||||||
|
|
||||||
|
VTOY_JSON_FMT_SINT("invalid_config", g_sysinfo.invalid_config);
|
||||||
|
g_sysinfo.invalid_config = 0;
|
||||||
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) || defined(WIN32)
|
#if defined(_MSC_VER) || defined(WIN32)
|
||||||
VTOY_JSON_FMT_STRN("os", "windows");
|
VTOY_JSON_FMT_STRN("os", "windows");
|
||||||
|
@ -4917,6 +4920,7 @@ static int ventoy_load_old_json(const char *filename)
|
||||||
unsigned char *start = NULL;
|
unsigned char *start = NULL;
|
||||||
VTOY_JSON *json = NULL;
|
VTOY_JSON *json = NULL;
|
||||||
VTOY_JSON *node = NULL;
|
VTOY_JSON *node = NULL;
|
||||||
|
VTOY_JSON *next = NULL;
|
||||||
|
|
||||||
ret = ventoy_read_file_to_buf(filename, 4, (void **)&buffer, &buflen);
|
ret = ventoy_read_file_to_buf(filename, 4, (void **)&buffer, &buflen);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -4950,6 +4954,18 @@ static int ventoy_load_old_json(const char *filename)
|
||||||
{
|
{
|
||||||
vlog("parse ventoy.json success\n");
|
vlog("parse ventoy.json success\n");
|
||||||
|
|
||||||
|
for (node = json->pstChild; node; node = node->pstNext)
|
||||||
|
for (next = node->pstNext; next; next = next->pstNext)
|
||||||
|
{
|
||||||
|
if (node->pcName && next->pcName && strcmp(node->pcName, next->pcName) == 0)
|
||||||
|
{
|
||||||
|
vlog("ventoy.json contains duplicate key <%s>.\n", node->pcName);
|
||||||
|
g_sysinfo.invalid_config = 1;
|
||||||
|
ret = 1;
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (node = json->pstChild; node; node = node->pstNext)
|
for (node = json->pstChild; node; node = node->pstNext)
|
||||||
{
|
{
|
||||||
ventoy_parse_json(control);
|
ventoy_parse_json(control);
|
||||||
|
@ -4975,6 +4991,7 @@ static int ventoy_load_old_json(const char *filename)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
end:
|
||||||
vtoy_json_destroy(json);
|
vtoy_json_destroy(json);
|
||||||
|
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
|
Binary file not shown.
|
@ -723,7 +723,7 @@
|
||||||
|
|
||||||
<footer class="main-footer">
|
<footer class="main-footer">
|
||||||
<div class="pull-right hidden-xs">
|
<div class="pull-right hidden-xs">
|
||||||
<b id="plugson_build_date">20220108 22:41:02</b>
|
<b id="plugson_build_date">20220204 16:31:23</b>
|
||||||
</div>
|
</div>
|
||||||
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>
|
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -777,6 +777,7 @@
|
||||||
|
|
||||||
//Main process
|
//Main process
|
||||||
var m_syntax_error;
|
var m_syntax_error;
|
||||||
|
var m_invalid_config;
|
||||||
callVtoySync({
|
callVtoySync({
|
||||||
method : 'sysinfo'
|
method : 'sysinfo'
|
||||||
}, function(data) {
|
}, function(data) {
|
||||||
|
@ -784,6 +785,7 @@
|
||||||
g_current_dir = data.curdir;
|
g_current_dir = data.curdir;
|
||||||
g_current_os = data.os;
|
g_current_os = data.os;
|
||||||
m_syntax_error = data.syntax_error;
|
m_syntax_error = data.syntax_error;
|
||||||
|
m_invalid_config = data.invalid_config;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -834,6 +836,14 @@
|
||||||
m_syntax_error = 0;
|
m_syntax_error = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_invalid_config === 1 && typeof(Modal) === 'object') {
|
||||||
|
var title = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INFO : g_vtoy_cur_language_cn.STR_INFO;
|
||||||
|
var msg = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INVALID_CONFIG_TIP : g_vtoy_cur_language_cn.STR_INVALID_CONFIG_TIP;
|
||||||
|
Modal.alert({title:title,msg:msg}).on(function(e) {
|
||||||
|
});
|
||||||
|
m_invalid_config = 0;
|
||||||
|
}
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
ventoy_handshake();
|
ventoy_handshake();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
|
@ -479,6 +479,7 @@ var g_vtoy_cur_language_en =
|
||||||
"STR_SECURE_BOOT_ENABLE": "Enable",
|
"STR_SECURE_BOOT_ENABLE": "Enable",
|
||||||
"STR_SECURE_BOOT_DISABLE": "Disable",
|
"STR_SECURE_BOOT_DISABLE": "Disable",
|
||||||
"STR_SYNTAX_ERROR_TIP": "Syntax error detected in ventoy.json, so the configuration is not loaded!",
|
"STR_SYNTAX_ERROR_TIP": "Syntax error detected in ventoy.json, so the configuration is not loaded!",
|
||||||
|
"STR_INVALID_CONFIG_TIP": "Invalid configuration detected in ventoy.json, so the configuration is not loaded!",
|
||||||
|
|
||||||
"STR_XXX": "xxx"
|
"STR_XXX": "xxx"
|
||||||
};
|
};
|
||||||
|
@ -613,6 +614,7 @@ var g_vtoy_cur_language_cn =
|
||||||
"STR_SECURE_BOOT_ENABLE": "开启",
|
"STR_SECURE_BOOT_ENABLE": "开启",
|
||||||
"STR_SECURE_BOOT_DISABLE": "未开启",
|
"STR_SECURE_BOOT_DISABLE": "未开启",
|
||||||
"STR_SYNTAX_ERROR_TIP": "ventoy.json 文件中存在语法错误,配置未加载!",
|
"STR_SYNTAX_ERROR_TIP": "ventoy.json 文件中存在语法错误,配置未加载!",
|
||||||
|
"STR_INVALID_CONFIG_TIP": "ventoy.json 文件中存在错误配置,配置未加载!",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue