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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
-- the squid controller
module (..., package.seeall)
require("controllerfunctions")
default_action = "status"
status = function( self )
return self.model.get_status()
end
startstop = function( self )
return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.model.get_status, self.clientdata)
end
general = function( self )
local service = {}
-- Add a cmd button to the view
service.cmdsave = cfe({ name="cmdsave",
label="Save/Apply above settings",
value="Save",
type="submit",
})
if self.clientdata.cmdsave then
local conf = self.clientdata
local config = { filterip = conf.filterip, filterport = conf.filterport,
proxyip = conf.proxyip, proxyport = conf.proxyport,
accessdeniedaddress = conf.accessdeniedaddress,
naughtynesslimit = conf.naughtynesslimit
}
self.model.update_general_config( config )
service.cmdsave.descr="* Changes has been saved!"
end
service.config, service.cfgerr = self.model.get_general_config()
return ( cfe ({ service = service }) )
end
advanced = function( self )
local service = {}
local option = { script = self.conf.script,
prefix = self.conf.prefix,
controller = self.conf.controller,
action = self.conf.action,
extra = ""
}
service.config, service.cfgerr = self.model.get_advanced_config()
return ( cfe ({ option = option, service = service }) )
end
expert = function( self )
return controllerfunctions.handle_form(self, self.model.getconfigfile, self.model.updateconfigfile, self.clientdata, "Save", "Edit Config", "Configuration Set")
end
edit = function( self )
if not self.clientdata.name then
redirect( self )
end
local service = { message="", status="", config="" }
if self.clientdata.cmd then
if self.clientdata.cmd == "save" then
self.model.update_edit_config( self.clientdata.name, self.clientdata.config )
redirect( self, "advanced" )
end
end
service.config, service.cfgerr = self.model.get_edit_config( self.clientdata.name )
service.name = self.clientdata.name
if service.cfgerr == "Hacker" then
redirect( self )
end
return ( cfe ({ service = service }) )
end
category = function( self )
local service = { message="", status="", config="", cfgerr="" }
service.config = {}
service.config.categories = cfe({
name="categories",
label="Categories available",
value={},
})
service.config.categories = self.model.get_categories()
return ( cfe ({ service = service }) )
end
editcategories = function( self )
local info = self.model.get_category(self.clientdata.category, self.clientdata.object)
if not (info) then
redirect(self, "category")
end
-- Add a cmd button to the view
info.cmdsave = cfe({ name="cmdsave",
label="Save/Apply above settings",
value="Save",
type="submit",
disabled="yes",
errtxt="This button is not configured to work",
})
info.cmddelete = cfe({ name="cmddelete",
label="Permanently remove object",
value="Delete",
type="submit",
disabled="yes",
errtxt="This button is not configured to work",
})
local option = { script = self.conf.script,
prefix = self.conf.prefix,
controller = self.conf.controller,
action = self.conf.action,
extra = ""
}
return ( cfe ({ option = option, info = info, mhdebug=self.clientdata }) )
end
|