summaryrefslogtreecommitdiffstats
path: root/dansguardian-advanced-html.lsp
blob: 73e60150514edaaef311396c061cd002fa6fcdcc (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
<? 
require("viewfunctions")
   local form = ... 
   local data = form.option
   local service = form.service
   local config = form.service.config
   
   local srv1fill = ""
   local srv2fill = "disabled"
   if form.info.status.value == "Enabled" then
   	srv1fill = "disabled"
   	srv2fill = ""
   end
   
   local ifthen = function( variable, value, result )
      if variable == value then
         io.write( result )
      end
   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>")
--]]
?>

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

<h2>General Information</h2>
<p>
DansGuardian is web content filtering software. It works as a web proxy, 
making web requests in behalf of the client, and inspecting the returned 
content before passing on to the client. DansGuardian uses phraselists to 
identify harmful content. This means that updated "blacklists" are 
generally not necessary. DansGuardian must be used in combination with a 
"smart proxy", such as squid. 
</p>
<p>
This page lets you manually configure the filter rule files for DansGuardian.
</p>

<h1>Configuration</h1>
<? if (#service.cfgerr > 0) then ?>
<h2>Errors</h2>
<DL><DT>Config errors</DT>
<DD><pre class=error><? io.write( service.cfgerr ) ?></pre></DD>
</DL>
<? end ?>

<h2>Files</h2>
<DL>
<TABLE>
	<TR style="background:#eee;font-weight:bold;">
		<TD style="padding-right:20px;white-space:nowrap;text-align:left;" class="header">File</TD>
		<TD style="padding-right:20px;white-space:nowrap;text-align:left;" class="header">Size</TD>
		<TD style="white-space:nowrap;text-align:left;" class="header">Last Modified</TD>
	</TR>		

<?
   for k,v in ipairs( config.files ) do
      io.write( "<tr><td><a href=\"" .. data.script .. data.prefix .. data.controller .. "/edit?name=" .. v.path .. "\">" .. v.path .. "</a></td><td>" .. (v.size or "--") .."</td><td>" .. (v.mtime  or "--") .."</td></tr>\n" )
   end
?>
</TABLE>
</DL>

<h1>MANAGEMENT</h1>
<form action="" method="POST">
<dl>
<DT>Daemon control</DT><dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>> 
<input class="submit" type="submit" name="srvcmd" value="stop" <? io.write( srv2fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="restart" <? io.write( srv2fill ) ?>>
<? if (service.message) and (service.message.descr) and (#service.message.descr > 0) then ?><pre><? io.write( service.message.descr ) ?></pre><? end ?></dd>
</dl>
</form>