mirror of https://github.com/ventoy/Ventoy.git
Add theme plugin duplicate file check. (#2078)
This commit is contained in:
parent
bf797ceadb
commit
9b7d6cbc3d
|
@ -70,6 +70,7 @@
|
|||
#define VTOY_JSON_TOKEN_ERR_RET "{ \"result\" : \"tokenerror\" }"
|
||||
#define VTOY_JSON_EXIST_RET "{ \"result\" : \"exist\" }"
|
||||
#define VTOY_JSON_TIMEOUT_RET "{ \"result\" : \"timeout\" }"
|
||||
#define VTOY_JSON_DUPLICATE "{ \"result\" : \"duplicate\" }"
|
||||
#define VTOY_JSON_BUSY_RET "{ \"result\" : \"busy\" }"
|
||||
#define VTOY_JSON_INUSE_RET "{ \"result\" : \"inuse\" }"
|
||||
#define VTOY_JSON_NOTFOUND_RET "{ \"result\" : \"notfound\" }"
|
||||
|
|
|
@ -918,9 +918,11 @@ static int ventoy_api_theme_add_file(struct mg_connection *conn, VTOY_JSON *json
|
|||
int ret;
|
||||
int index = 0;
|
||||
const char *path = NULL;
|
||||
const char *realpath = NULL;
|
||||
path_node *node = NULL;
|
||||
path_node *cur = NULL;
|
||||
data_theme *data = NULL;
|
||||
char pathbuf[MAX_PATH];
|
||||
|
||||
vtoy_json_get_int(json, "index", &index);
|
||||
data = g_data_theme + index;
|
||||
|
@ -928,6 +930,19 @@ static int ventoy_api_theme_add_file(struct mg_connection *conn, VTOY_JSON *json
|
|||
path = VTOY_JSON_STR_EX("path");
|
||||
if (path)
|
||||
{
|
||||
realpath = ventoy_real_path(path);
|
||||
scnprintf(pathbuf, sizeof(pathbuf), "%s", realpath);
|
||||
|
||||
for (node = data->filelist; node; node = node->next)
|
||||
{
|
||||
realpath = ventoy_real_path(node->path);
|
||||
if (strcmp(pathbuf, realpath) == 0)
|
||||
{
|
||||
ventoy_json_result(conn, VTOY_JSON_DUPLICATE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
node = zalloc(sizeof(path_node));
|
||||
if (node)
|
||||
{
|
||||
|
@ -980,16 +995,31 @@ static int ventoy_api_theme_add_font(struct mg_connection *conn, VTOY_JSON *json
|
|||
int ret;
|
||||
int index = 0;
|
||||
const char *path = NULL;
|
||||
const char *realpath = NULL;
|
||||
path_node *node = NULL;
|
||||
path_node *cur = NULL;
|
||||
data_theme *data = NULL;
|
||||
|
||||
char pathbuf[MAX_PATH];
|
||||
|
||||
vtoy_json_get_int(json, "index", &index);
|
||||
data = g_data_theme + index;
|
||||
|
||||
path = VTOY_JSON_STR_EX("path");
|
||||
if (path)
|
||||
{
|
||||
realpath = ventoy_real_path(path);
|
||||
scnprintf(pathbuf, sizeof(pathbuf), "%s", realpath);
|
||||
|
||||
for (node = data->fontslist; node; node = node->next)
|
||||
{
|
||||
realpath = ventoy_real_path(node->path);
|
||||
if (strcmp(pathbuf, realpath) == 0)
|
||||
{
|
||||
ventoy_json_result(conn, VTOY_JSON_DUPLICATE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
node = zalloc(sizeof(path_node));
|
||||
if (node)
|
||||
{
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -757,7 +757,7 @@
|
|||
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right hidden-xs">
|
||||
<b id="plugson_build_date">20221220 18:30:51</b>
|
||||
<b id="plugson_build_date">20221220 19:41:37</b>
|
||||
</div>
|
||||
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>
|
||||
</footer>
|
||||
|
@ -777,10 +777,10 @@
|
|||
<script src="/static/js/jQuery-2.1.4.min.js"></script>
|
||||
<!-- jquery validate -->
|
||||
<script src="/static/js/jquery.validate.min.js"></script>
|
||||
<script src="/static/js/jquery.validate.vtoymethods.js?v=101"></script>
|
||||
<script src="/static/js/jquery.validate.vtoymethods.js?v=102"></script>
|
||||
|
||||
<script src="/static/js/jquery.vtoy.alert.js?v=101"></script>
|
||||
<script src="/static/js/vtoy.js?v=101"></script>
|
||||
<script src="/static/js/jquery.vtoy.alert.js?v=102"></script>
|
||||
<script src="/static/js/vtoy.js?v=102"></script>
|
||||
<script src="/static/js/md5.min.js"></script>
|
||||
|
||||
<!-- Bootstrap 3.3.5 -->
|
||||
|
|
|
@ -403,9 +403,13 @@
|
|||
index: current_tab_index,
|
||||
path: data.path
|
||||
}, function(e) {
|
||||
list.push(data);
|
||||
FillThemeFileTable(list, m_data_theme[current_tab_index].default_file);
|
||||
Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
|
||||
if (e.result === 'success') {
|
||||
list.push(data);
|
||||
FillThemeFileTable(list, m_data_theme[current_tab_index].default_file);
|
||||
Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
|
||||
} else if (e.result === 'duplicate') {
|
||||
Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -428,9 +432,13 @@
|
|||
index: current_tab_index,
|
||||
path: data.path
|
||||
}, function(e) {
|
||||
list.push(data);
|
||||
FillThemeFontTable(list);
|
||||
Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
|
||||
if (e.result === 'success') {
|
||||
list.push(data);
|
||||
FillThemeFontTable(list);
|
||||
Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);
|
||||
} else if (e.result === 'duplicate') {
|
||||
Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue