summaryrefslogtreecommitdiffstats
path: root/shorewall-stop-html.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'shorewall-stop-html.lsp')
-rw-r--r--shorewall-stop-html.lsp71
1 files changed, 71 insertions, 0 deletions
diff --git a/shorewall-stop-html.lsp b/shorewall-stop-html.lsp
new file mode 100644
index 0000000..53d81b7
--- /dev/null
+++ b/shorewall-stop-html.lsp
@@ -0,0 +1,71 @@
+<?
+local view = ...
+
+local function packURL(script, prefix, controller, action, extra)
+ ret = script .. "/" .. prefix .. controller .. "/" .. action
+ sep = '?'
+ for k,v in pairs(extra) do
+ ret = ret .. sep .. k .. '=' .. v
+ sep = '&'
+ end
+ return ret
+end
+
+--[[
+view
+ script, prefix, controller
+ action[]
+ name, script, prefix, controller
+ section
+ id
+ label
+ disabled
+ active
+ id
+ action
+ title
+ text[]
+ label
+ content
+--]]
+?><h1><?= view.title
+?></h1><?
+
+--Status Block
+ for i,item in ipairs(view.note or {}) do
+ ?><p class='error'><?= item.content ?></p><?
+ end
+
+local section = ""
+for i,item in ipairs(view.action) do
+ if section ~= item.section then
+ section = item.section
+ ?><h2><?= section ?></h2><?
+ end
+ if item.disabled then
+ ?><i><?= item.label or item.name ?></i><?
+ else
+ ?><?= html.form.start {
+ method="POST",
+ action = packURL(item.script or view.script,
+ item.prefix or view.prefix,
+ item.controller or view.controller,
+ item.name, {})
+ } ?><?= html.form.hidden { name="id", value=item.id } ?><?
+ local label = (item.label or item.name)
+ if item.id == view.active.id and item.name == view.active.action then
+ label = '['..label..']'
+ end
+ ?><?= html.form.submit {
+ name = item.name, value = label
+ } ?><?= html.form.stop() ?><?
+ end
+end
+for i,item in ipairs(view.text) do
+ if item.label then
+ ?><h2><?= item.label ?></h2><?
+ end
+ ?><pre><?= item.content ?></pre><?
+end
+-- vim: set filetype=lua :
+?>