Browse Source

[YQTemplate] Properly hydrate form

main
Annwan 4 months ago
parent
commit
e2cec10466
  1. 4
      utils.lua
  2. 58
      yqtemplate.lua

4
utils.lua

@ -63,5 +63,9 @@ _m.tobase64 = function(data)
return table.concat(out)
end
_m.parse_form_entry = function(data)
end
return _m

58
yqtemplate.lua

@ -6,21 +6,47 @@ local yqtemplateform = utils.readfile("yqform.etlua")
local form = etlua.compile(yqtemplateform)
return {
desc = "Creates Yokoka’s quest-style personal status page",
run = function(fcgi)
fcgi.print("Content-Type: text/html; charset=utf-8\r\n\r\n")
local data = ""
if fcgi.getenv("REQUEST_METHOD") == "POST" then
local content_type = fcgi.getenv("CONTENT_TYPE")
local boundary = content_type:match("; boundary=(.*)$")
local post_data = fcgi.post()
data = "Content type:" .. content_type .. "\n Boundary: "..boundary.."\n"
local args = {}
for w in string.gmatch(post_data, "(.-)"..boundary) do
args[#args+1] = w
end
data = table.concat(args, "\n\n")
desc = "Creates Yokoka’s quest-style personal status page",
run = function(fcgi)
fcgi.print("Content-Type: text/html; charset=utf-8\r\n\r\n")
local data = ""
--[[if fcgi.getenv("REQUEST_METHOD") == "POST" then
local content_type = fcgi.getenv("CONTENT_TYPE")
local boundary = content_type:match("; boundary=(.*)$")
local post_data = fcgi.post()
data = "Content type:" .. content_type .. "\n Boundary: " .. boundary .. "\n"
local args = {}
for w in string.gmatch(post_data, "(.-)" .. boundary) do
local dataheaders, _ = utils.parse_form_entry(w)
args[#args + 1] = dataheaders
end
data = table.concat(args, "\n\n")
end ]]
fcgi.print(
form {
data = data,
classes = {
"Beast",
"Swordsman",
"Spirit Bird",
"Twin Blades",
"Healer",
"Summoner",
"Tamer",
"Pugilist",
"Mounted Fighter",
"Fruit Animal",
"Spellcaster"
},
elements = {
"Fire", "Water", "Earth", "Air",
"Wood", "Electricity", "Metals", "Dreams",
"Light", "Darkness", "Sun", "Moon",
"Smoke", "Ice", "Crystal", "Sound",
"Poison", "Lightning", "Weapons", "Fortune",
"Healing", "Curses", "Day", "Night"
}
}
)
end
fcgi.print(form{data = data})
end
}
Loading…
Cancel
Save