Skip to content

Commit

Permalink
Add tip in Plugson web page when old ventoy.json contains invalid con…
Browse files Browse the repository at this point in the history
…figuration.
  • Loading branch information
ventoy committed Feb 6, 2022
1 parent be0e19f commit c57717a
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 1 deletion.
1 change: 1 addition & 0 deletions Plugson/src/Core/ventoy_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ typedef struct SYSINFO
{
char buildtime[128];
int syntax_error;
int invalid_config;

int language;
int pathcase;
Expand Down
17 changes: 17 additions & 0 deletions Plugson/src/Web/ventoy_http.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,9 @@ static int ventoy_api_sysinfo(struct mg_connection *conn, VTOY_JSON *json)
//read clear
VTOY_JSON_FMT_SINT("syntax_error", g_sysinfo.syntax_error);
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)
Expand Down Expand Up @@ -4917,6 +4920,7 @@ static int ventoy_load_old_json(const char *filename)
unsigned char *start = NULL;
VTOY_JSON *json = NULL;
VTOY_JSON *node = NULL;
VTOY_JSON *next = NULL;

ret = ventoy_read_file_to_buf(filename, 4, (void **)&buffer, &buflen);
if (ret)
Expand Down Expand Up @@ -4950,6 +4954,18 @@ static int ventoy_load_old_json(const char *filename)
{
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)
{
ventoy_parse_json(control);
Expand All @@ -4975,6 +4991,7 @@ static int ventoy_load_old_json(const char *filename)
ret = 1;
}

end:
vtoy_json_destroy(json);

free(buffer);
Expand Down
Binary file modified Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe
Binary file not shown.
12 changes: 11 additions & 1 deletion Plugson/www/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -723,7 +723,7 @@ <h4><b id="TypeSelForm_lang_1">请选择</b> </h4>

<footer class="main-footer">
<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>
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>
</footer>
Expand Down Expand Up @@ -777,13 +777,15 @@ <h4><b id="TypeSelForm_lang_1">请选择</b> </h4>

//Main process
var m_syntax_error;
var m_invalid_config;
callVtoySync({
method : 'sysinfo'
}, function(data) {
g_current_language = data.language;
g_current_dir = data.curdir;
g_current_os = data.os;
m_syntax_error = data.syntax_error;
m_invalid_config = data.invalid_config;



Expand Down Expand Up @@ -833,6 +835,14 @@ <h4><b id="TypeSelForm_lang_1">请选择</b> </h4>
});
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() {
ventoy_handshake();
Expand Down
2 changes: 2 additions & 0 deletions Plugson/www/static/js/vtoy.js
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,7 @@ var g_vtoy_cur_language_en =
"STR_SECURE_BOOT_ENABLE": "Enable",
"STR_SECURE_BOOT_DISABLE": "Disable",
"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"
};
Expand Down Expand Up @@ -613,6 +614,7 @@ var g_vtoy_cur_language_cn =
"STR_SECURE_BOOT_ENABLE": "开启",
"STR_SECURE_BOOT_DISABLE": "未开启",
"STR_SYNTAX_ERROR_TIP": "ventoy.json 文件中存在语法错误,配置未加载!",
"STR_INVALID_CONFIG_TIP": "ventoy.json 文件中存在错误配置,配置未加载!",



Expand Down

0 comments on commit c57717a

Please sign in to comment.