summaryrefslogtreecommitdiffstats
path: root/quagga-status-html.lsp
blob: 765de12235e2711f35fa280b86b91da750d2a1c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<? 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)
	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
end
?>

<H1>SYSTEM INFO</H1>
<DL>
<? 
local myform = form.status 
local tags = { "status", "version", "autostart", }
informationform(myform,tags)
?>
</DL>

<H2>PROGRAM SPECIFIC OPTIONS/INFORMATION</H2>
<DL>
<? 

local myform = form.status.show
io.write("\t<DT")
if (#myform.errtxt > 0) then io.write(" class='error'") end
io.write(">" .. myform.label .. "</DT>\n")
io.write("\t\t<DD>\n")
for k,v in pairs(myform.option or {}) do
	io.write("\t\t\t<TABLE STYLE='margin-bottom:10px;'>")
	io.write("\n\t\t\t<TR><TD STYLE='font-weight:bold;'><IMG SRC='/static/tango/16x16/places/network-server.png' width='16' height='16' alt> " .. k .. "</TD><TD></TD></TR>\n")
	for k1,v1 in pairs(v) do
		io.write("\n\t\t\t<TR STYLE='padding-bottom:10px;'><TD WIDTH='150px' STYLE='font-weight:bold;padding-left:20px;'><IMG SRC='/static/tango/16x16/status/")

		if (v1) and (string.lower(v1['Type']['value']) == "incomplete") then
			io.write("network-error")
		elseif (v1) and (string.lower(v1['Type']['value']) == "negative") then
			io.write("network-offline")
		elseif (v1) and (string.lower(v1['Flags']['value']) == "up") then
			io.write("network-idle")
		elseif (v1) and (string.lower(v1['Flags']['value']) == "used up") then
			io.write("network-transmit-receive")
		elseif (v1) and (string.lower(v1['Flags']['value']) == "used up") then
			io.write("network-offline")
		else
			io.write("network-error")
		end
		io.write(".png' width='16' height='16' title='" .. (v1['Type']['descr'] or "") .. "'> " .. v1["Protocol-Address"]['value'] .. "</TD><TD STYLE='font-weight:bold;'></TD></TR>\n")
		for k2,v2 in pairs(v1) do

---[[
			if (k2) and not ((string.lower(k2) == "protocol-address") or 
				(string.lower(k2) == "interface")) then
				io.write("<TR><TD STYLE='font-weight:bold;padding-left:40px;'>"..k2.."</TD><TD>"..v2['value'])
				if (v2['descr']) and (#v2['descr'] > 0) then
					io.write(" <I>(" .. (v2['descr'] or "") .. ")</I>")
				end
				io.write("</TD></TR>\n")
			end
--]]
		end

	end

	io.write("\t\t\t</TABLE>")
end
io.write("\t\t</DD>\n")
?>
</DL>

<?
--[[ 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>")
--]]
?>