function displayinfo(myform,tags,viewtype)
for k,v in pairs(tags) do
if (myform[v]) and (myform[v]["value"]) then
local val = myform[v]
io.write("\n\t
0) then
val.class = "error"
io.write(" class='error'")
end
io.write(">" .. val.label .. "
")
io.write("\n\t\t
")
if (viewtype == "viewonly") then
io.write(val.value)
elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then
io.write("")
for k1,v1 in pairs(val.option) do
io.write(tostring(v1.label) .. ":")
io.write("")
end
io.write("")
else
io.write(html.form[val.type](val))
end
if (val.descr) and (#val.descr > 0) then io.write("\n\t\t
" .. string.gsub(val.descr, "\n", " ") .. "
") end
if (#val.errtxt > 0) then io.write("\n\t\t
" .. string.gsub(val.errtxt, "\n", " ") .. "
") end
io.write("\n\t\t
\n")
end
end
end
function displaymanagement (myform,tags)
local descriptions, errors
for k,v in pairs(tags) do
if (myform[v]) then
if (myform[v]['descr']) and (#myform[v]['descr'] > 0) then
descriptions = (descriptions or "") .. myform[v]['descr']
end
if (myform[v]['errtxt']) and (#myform[v]['errtxt'] > 0) then
errors = (errors or "") .. myform[v]['errtxt']
end
end
end
if (myform) and (myform[tags[1]]) then
io.write('
' .. (myform[tags[1]]["label"] or myform[tags[1]]["name"]) .. '
')
io.write('
')
--Show buttons
for k,v in pairs(tags) do
if (myform[v]) then
io.write(html.form[myform[v].type](myform[v]))
end
end
if (descriptions) and (#descriptions > 0) then
io.write("\n\t\t
" .. string.gsub(descriptions, "\n", " ") .. "
")
end
if (errors) and (#errors > 0) then
io.write("\n\t\t
" .. string.gsub(errors, "\n", " ") .. "
")
end
io.write('
')
-- Display the result of previous action
if (myform) and (myform['actionresult']) then
if (myform['actionresult']['errtxt']) and (#myform['actionresult']['errtxt'] > 0) then
io.write('
' .. myform['actionresult']['label'] .. '
')
io.write('
' .. (myform['actionresult']['errtxt'] or "") .. '
')
elseif (myform['actionresult']['descr']) and (#myform['actionresult']['descr'] > 0) then
io.write('