diff options
Diffstat (limited to 'fetchmail-expert-html.lsp')
-rw-r--r-- | fetchmail-expert-html.lsp | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/fetchmail-expert-html.lsp b/fetchmail-expert-html.lsp new file mode 100644 index 0000000..0a36abb --- /dev/null +++ b/fetchmail-expert-html.lsp @@ -0,0 +1,113 @@ +<? local form = ... ?> +<? +--[[ DEBUG INFORMATION +io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>") +io.write(html.cfe_unpack(form)) +io.write("</span>") +--]] +?> +<? +function informationform(myform,tags) + io.write("<DL>") + for k,v in pairs(tags) do + if (myform[v]) then + local val = myform[v] + io.write("\t<DT") + if (#val.errtxt > 0) then io.write(" class='error'") end + io.write(">" .. val.label .. "</DT>\n") + + io.write("\t\t<DD>" .. val.value .. "\n") + if (val.descr) and (#val.descr > 0) then io.write("\t\t<P CLASS='descr'>" .. string.gsub(val.descr, "\n", "<BR>") .. "</P>\n") end + if (#val.errtxt > 0) then io.write("\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>\n") end + io.write("\t\t</DD>\n") + end + end + io.write("</DL>") +end +?> +<? +function configform(myform,tags) + io.write("<DL>") + for k,v in pairs(tags) do + if (myform[v]) then + local val = myform[v] + io.write("\t<DT") + if (#val.errtxt > 0) then io.write(" class='error'") end + io.write(">" .. val.label .. "</DT>\n") + + io.write("\t\t<DD>" .. html.form[val.type](val) .. "\n") + if (val.descr) and (#val.descr > 0) then io.write("\t\t<P CLASS='descr'>" .. string.gsub(val.descr, "\n", "<BR>") .. "</P>\n") end + if (#val.errtxt > 0) then io.write("\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>\n") end + io.write("\t\t</DD>\n") + end + end + io.write("</DL>") +end +?> + + +<H1>SYSTEM INFO</H1> +<? +local myform = form.status +local tags = { "status", "version", } +informationform(myform,tags) +?> + +<H1>CONFIGURATION</H1> +<? local myform = form.config ?> +<form action="<?= form.option.script .. "/" .. form.option.prefix .. + form.option.controller .. "/" .. form.option.action ?>" method="POST"> + +<H2>EXPERT CONFIGURATION</H2> +<H3>FILE DETAILS</H3> +<? +local tags = { "filename", "filesize", "mtime", "sumerrors" } +informationform(myform,tags) +?> + +<H3>FILE CONTENT</H3> +<? +io.write(html.form[form.config.filecontent.type](form.config.filecontent)) +?> + +<H2>SAVE AND APPLY ABOVE SETTINGS</H2> +<? +local tags = { "cmdsave", } +configform(myform,tags) +?> +</form> + + +<? +local cmdform = form.management +local tags = { "start", "stop", "restart" } +if (cmdform) and (cmdform[tags[1]]) then +?> + <form name="management" action="" method="POST"> + <H1>MANAGEMENT</H1> + <dl> + <dt><?= cmdform[tags[1]]["label"] ?></dt> + <dd> + <? for k,v in pairs(tags) do ?> + <? if (cmdform[v]) then ?> + <? io.write(html.form[cmdform[v].type](cmdform[v])) ?> + <? end ?> + <? end ?> + </dd> + + <? if (form.cmdmanagement) and (#form.cmdmanagement.descr > 0) then ?> + <dt>Previous action result</dt> + <dd><pre><?= form.cmdmanagement.descr ?></pre></dd> + <? end ?> + </dl> + </form> + +<? end ?> + +<? +--[[ DEBUG INFORMATION +io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>") +io.write(html.cfe_unpack(form)) +io.write("</span>") +--]] +?> |