summaryrefslogtreecommitdiffstats
path: root/shorewall-config-html.lsp
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-03-04 08:49:41 +0000
committerMika Havela <mika.havela@gmail.com>2008-03-04 08:49:41 +0000
commit73433bf9ea9a0f7f56203bafa111821bb47856cf (patch)
tree8961f85a4d8827ad05c6c085daf04f0de998b0a3 /shorewall-config-html.lsp
parent8c41156d76be7332fd34d1ab18a078510745b81a (diff)
downloadacf-shorewall-73433bf9ea9a0f7f56203bafa111821bb47856cf.tar.bz2
acf-shorewall-73433bf9ea9a0f7f56203bafa111821bb47856cf.tar.xz
Added the missing (example)-page. Added functionallity so that the page has live data
git-svn-id: svn://svn.alpinelinux.org/acf/shorewall/trunk@799 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'shorewall-config-html.lsp')
-rw-r--r--shorewall-config-html.lsp141
1 files changed, 141 insertions, 0 deletions
diff --git a/shorewall-config-html.lsp b/shorewall-config-html.lsp
new file mode 100644
index 0000000..3523ed6
--- /dev/null
+++ b/shorewall-config-html.lsp
@@ -0,0 +1,141 @@
+<? 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 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<DT")
+ if (#val.errtxt > 0) then
+ val.class = "error"
+ io.write(" class='error'")
+ end
+ io.write(">" .. val.label .. "</DT>")
+ io.write("\n\t\t<DD>")
+ if (viewtype == "viewonly") then
+ io.write(val.value)
+ elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then
+ io.write("<span style='display:inline' class='" .. ( val.class or "") .. "'>")
+ for k1,v1 in pairs(val.option) do
+ io.write(tostring(v1.label) .. ":")
+ io.write("<input style='margin-right:20px;margin-left:5px;' type='radio' class='" .. ( val.class or "") .. "' name='" .. val.name .. "'")
+ if (tostring(val.value) == tostring(v1.value)) then io.write(" checked='yes'") end
+ io.write(" value='" .. v1.value .. "'>")
+ end
+ io.write("</input></span>")
+ else
+ io.write(html.form[val.type](val))
+ end
+ if (val.descr) and (#val.descr > 0) then io.write("\n\t\t<P CLASS='descr'>" .. string.gsub(val.descr, "\n", "<BR>") .. "</P>") end
+ if (#val.errtxt > 0) then io.write("\n\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>") end
+ io.write("\n\t\t</DD>\n")
+ end
+ end
+end
+?>
+
+
+<H1>SYSTEM INFO</H1>
+<DL>
+<?
+local myform = form.status
+local tags = { "status", "version", }
+displayinfo(myform,tags,"viewonly")
+?>
+</DL>
+
+
+<? local myform = form.config ?>
+<form name="cmd" action="" method="POST">
+<h1>CONFIGURATION</h1>
+
+
+<H2>Advanced configuration</H2>
+<H3>Parameters</H3>
+<DL>
+<?
+local tags = { "params_list", "params_list_cmd", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+<H3>Interfaces</H3>
+<DL>
+<?
+local tags = { "interfaces_list", "interfaces_list_cmd", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+
+
+<H3>Defince zones</H3>
+<DL>
+<?
+local tags = { "zones_list", "zones_list_cmd", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+<h3>Default policies</h3>
+<DL>
+<?
+local tags = { "policies_list", "policies_list_cmd",}
+displayinfo(myform,tags)
+?>
+</DL>
+
+<h3>Rules</h3>
+<DL>
+<?
+local tags = { "rules_list", "rules_list_cmd",}
+displayinfo(myform,tags)
+?>
+</DL>
+
+</form>
+
+
+<?
+local cmdform = form.management
+local tags = { "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>")
+--]]
+?>