From 23566742e45fb8f19fb49ae6af1d20cbee8e7f18 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 17 Oct 2022 09:38:11 -0400 Subject: [PATCH] properly handle query in validate-operator-tweaks --- .../wtv-admin/validate-operator-tweaks.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-admin/validate-operator-tweaks.js b/zefie_wtvp_minisrv/ServiceVault/wtv-admin/validate-operator-tweaks.js index ec25ce06..a1d6ef5f 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-admin/validate-operator-tweaks.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-admin/validate-operator-tweaks.js @@ -18,9 +18,18 @@ if (auth === true) { Object.keys(request_headers.query).forEach((k) => { if (k === "autosubmit") return; var v = request_headers.query[k]; - if (!isNaN(parseInt(v))) v = parseInt(v); + + // enable_multi_query may send ["false", "on"] for checkboxes due to webtvism + if (isArray(v)) v = v[(v.length - 1)]; + + // convert numbers back to int before writing to config + if (!isNaN(parseInt(v))) v = parseInt(v); + + // convert string back to boolean before writing to config if (v === "on" || v === "true" || v === "false") v = wtvshared.parseBool(v); + if (k.indexOf("-") > 0) { + // handle sub-config items var s = k.split("-"); if (!user_config.config[s[0]]) user_config.config[s[0]] = {} user_config.config[s[0]][s[1]] = v;