diff options
Diffstat (limited to 'dhcp-home-html.lsp')
-rw-r--r-- | dhcp-home-html.lsp | 80 |
1 files changed, 53 insertions, 27 deletions
diff --git a/dhcp-home-html.lsp b/dhcp-home-html.lsp index 9bfc6cf..075e1c3 100644 --- a/dhcp-home-html.lsp +++ b/dhcp-home-html.lsp @@ -3,23 +3,37 @@ local data = form.option ?> -<h1>Home</h1> -<h2>System info</h2> +<? +function displayinfo(myform,tags,viewonly) + for k,v in pairs(tags) do + if (myform[v]) and (myform[v]["value"]) then + local val = myform[v] + io.write("\t<DT") + if (#val.errtxt > 0) then + val.class = "error" + io.write(" class='error'") + end + io.write(">" .. val.label .. "</DT>\n") + if (viewonly) then + io.write("\t\t<DD>" .. val.value .. "\n") + else + io.write("\t\t<DD>" .. html.form[val.type](val) .. "\n") + end + 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 +end +?> +<H1>SYSTEM INFO</H1> <DL> -<dt>Program version</dt> -<dd><? io.write(form.info.version.value) ?></dd> - -<dt>Process status</dt> -<dd><? io.write( form.info.status.value ) ?></dd> - -<dt>Daemon control</dt> -<dd><form action="" method="POST"> -<input type=submit name="srvcmd" value="start" class="submit"> -<input type=submit name="srvcmd" value="stop" class="submit"> -<input type=submit name="srvcmd" value="restart" class="submit"></form> -<p class='error'><? io.write( form.info.srvctrl.value ) ?></p> -</dd> +<? +local myform = form.info +local tags = { "status", "version", "autostart", } +displayinfo(myform,tags,"viewonly") +?> </DL> <H2>Change/Generate settings</H2> @@ -68,15 +82,27 @@ <? if form.genmsg ~= nil then io.write( "<p class='error'>" .. form.genmsg .. "</p>" ) end ?></dd> </DL> -<h2>View files</h2> -<DL> -<form action="<? io.write(data.script .. data.prefix .. data.controller .. "/view") ?>" method="POST"> -<dt>View dhcpd.conf</dt> -<dd><input type=submit name="conf" value="dhcpd.conf" class="submit"></dd> - -<dt>View dhcpd.leases</dt> -<dd><input type=submit name="leases" value="dhcpd.leases" class="submit"></dd> -</form> -</DL> - - +<? -- MANAGEMENT BUTTONS +local cmdform = form.management +local cmdresult = form.cmdmanagement +local tags = { "start", "stop", "restart" } +if (cmdform) and (cmdform[tags[1]]) then + + io.write('<form name="management" action="" method="POST">') + io.write('<H1>MANAGEMENT</H1>') + io.write('<dl>') + io.write('<dt>' .. cmdform[tags[1]]["label"] .. '</dt>') + io.write('<dd>') + for k,v in pairs(tags) do + if (cmdform[v]) then + io.write(html.form[cmdform[v].type](cmdform[v])) + end + end + io.write('</dd>') + + if (cmdresult) and (cmdresult.action) and (#cmdresult.action.descr > 0) then + io.write('<dt>' .. cmdresult.label .. '</dt>') + io.write('<dd><pre>' .. cmdresult.action.descr .. '</pre></dd>') + end + io.write('</dl></form>') +end ?> |