summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--weblog-controller.lua50
-rw-r--r--weblog-model.lua82
2 files changed, 68 insertions, 64 deletions
diff --git a/weblog-controller.lua b/weblog-controller.lua
index 4c5f498..b9c5583 100644
--- a/weblog-controller.lua
+++ b/weblog-controller.lua
@@ -1,40 +1,40 @@
-module(..., package.seeall)
+local mymodule = {}
-default_action = "viewauditstats"
+mymodule.default_action = "viewauditstats"
-function config(self)
+function mymodule.config(self)
return self.handle_form(self, self.model.getconfig, self.model.updateconfig, self.clientdata, "Save", "Edit Configuration", "Configuration Saved")
end
-function listsources(self)
+function mymodule.listsources(self)
return self.model.getsourcelist()
end
-function createsource(self)
+function mymodule.createsource(self)
return self.handle_form(self, self.model.getnewsource, self.model.createsource, self.clientdata, "Create", "Create new source", "New source created")
end
-function deletesource(self)
+function mymodule.deletesource(self)
return self.handle_form(self, self.model.getdeletesource, self.model.deletesource, self.clientdata, "Delete", "Delete source", "Source deleted")
end
-function editsource(self)
+function mymodule.editsource(self)
return self.handle_form(self, function() return self.model.getsource(self.clientdata.sourcename) end, self.model.updatesource, self.clientdata, "Save", "Edit Source", "Source Saved")
end
-function testsource(self)
+function mymodule.testsource(self)
return self.handle_form(self, self.model.gettestsource, self.model.testsource, self.clientdata, "Test", "Test Source")
end
-function importlogs(self)
+function mymodule.importlogs(self)
return self.handle_form(self, self.model.getimportlogs, self.model.importlogs, self.clientdata, "Import", "Import Logs")
end
-function viewactivitylog(self)
+function mymodule.viewactivitylog(self)
return self.model.getactivitylog()
end
-function viewweblog(self)
+function mymodule.viewweblog(self)
local retval = self.handle_form(self, self.model.getweblogparameters, self.model.getweblog, self.clientdata, "Update", "Display Weblog")
-- We want to get the weblog even if form wasn't submitted
if not self.clientdata.Update then
@@ -44,8 +44,8 @@ function viewweblog(self)
return retval
end
-function downloadweblog(self)
- local retval = viewweblog(self)
+function mymodule.downloadweblog(self)
+ local retval = mymodule.viewweblog(self)
local file = cfe({ type="longtext", value="", label="Weblog-"..os.date()..".tab" })
local content = {"sourcename\tclientuserid\tclientip\tlogdatetime\turi\tbytes\treason\tscore\tshortreason\tbadyesno\tdeniedyesno\tbypassyesno"}
for i,log in ipairs(retval.value.log.value) do
@@ -56,31 +56,31 @@ function downloadweblog(self)
return file
end
-function updateselected(self)
+function mymodule.updateselected(self)
return self.handle_form(self, self.model.geteditselected, self.model.editselected, self.clientdata, "Submit", "Submit select update", "Select fields updated")
end
-function clearselected(self)
+function mymodule.clearselected(self)
return self.handle_form(self, self.model.getclearselected, self.model.clearselected, self.clientdata, "Clear", "Clear select fields", "Select fields cleared")
end
-function viewusagestats(self)
+function mymodule.viewusagestats(self)
return self.model.getusagestats()
end
-function viewauditstats(self)
+function mymodule.viewauditstats(self)
return self.model.getauditstats()
end
-function completeaudit(self)
+function mymodule.completeaudit(self)
return self.handle_form(self, self.model.getcompleteaudit, self.model.completeaudit, self.clientdata, "Complete", "Complete Audit", "Audit completed")
end
-function adhocquery(self)
+function mymodule.adhocquery(self)
return self.handle_form(self, self.model.getnewadhocquery, self.model.adhocquery, self.clientdata, "Submit", "Submit ad-hoc query")
end
-function downloadadhocquery(self)
+function mymodule.downloadadhocquery(self)
local retval = self.model.getnewadhocquery(self, self.clientdata)
self.handle_clientdata(retval, self.clientdata)
retval = self.model.adhocquery(self, retval)
@@ -105,18 +105,20 @@ function downloadadhocquery(self)
return file
end
-function status(self)
+function mymodule.status(self)
return self.model.testdatabase()
end
-function createdatabase(self)
+function mymodule.createdatabase(self)
return self.handle_form(self, self.model.getnewdatabase, self.model.create_database, self.clientdata, "Create", "Create New Database", "Database Created")
end
-function listfiles(self)
+function mymodule.listfiles(self)
return self.model.listfiles(self)
end
-function editfile(self)
+function mymodule.editfile(self)
return self.handle_form(self, self.model.readfile, self.model.updatefile, self.clientdata, "Save", "Edit Weblog File", "Weblog File Saved" )
end
+
+return mymodule
diff --git a/weblog-model.lua b/weblog-model.lua
index c1ef952..103948d 100644
--- a/weblog-model.lua
+++ b/weblog-model.lua
@@ -1,4 +1,4 @@
-module(..., package.seeall)
+local mymodule = {}
-- Load libraries
modelfunctions = require("modelfunctions")
@@ -714,7 +714,7 @@ end
-- ################################################################################
-- PUBLIC FUNCTIONS
-function getsourcelist()
+function mymodule.getsourcelist()
local retval = cfe({ type="list", value={}, label="Weblog Source List" })
local res, err = pcall(function()
databaseconnect(DatabaseUser)
@@ -728,8 +728,8 @@ function getsourcelist()
return retval
end
-function getsource(sourcename)
- local sourcedata = getnewsource()
+function mymodule.getsource(sourcename)
+ local sourcedata = mymodule.getnewsource()
sourcedata.value.sourcename.value = sourcename
sourcedata.value.sourcename.errtxt = "Source name does not exist"
sourcedata.value.sourcename.readonly = true
@@ -774,7 +774,7 @@ local validatesource = function(sourcedata)
return success
end
-function updatesource(self, sourcedata)
+function mymodule.updatesource(self, sourcedata)
local success = validatesource(sourcedata)
sourcedata.errtxt = "Failed to update source"
if success then
@@ -797,7 +797,7 @@ function updatesource(self, sourcedata)
return sourcedata
end
-function getnewsource()
+function mymodule.getnewsource()
local source = {}
source.sourcename = cfe({ label="Source Name", seq=0 })
source.method = cfe({ type="select", value="local", label="Method", option={"http", "https", "local"}, seq=3 })
@@ -809,7 +809,7 @@ function getnewsource()
return cfe({ type="group", value=source, label="Source" })
end
-function createsource(self, sourcedata)
+function mymodule.createsource(self, sourcedata)
local success = validatesource(sourcedata)
sourcedata.errtxt = "Failed to create source"
if success then
@@ -834,13 +834,13 @@ function createsource(self, sourcedata)
return sourcedata
end
-function getdeletesource(self, clientdata)
+function mymodule.getdeletesource(self, clientdata)
local retval = {}
retval.sourcename = cfe({ value=clientdata.sourcename or "", label="Source Name" })
return cfe({ type="group", value=retval, label="Delete Source" })
end
-function deletesource(self, delsource)
+function mymodule.deletesource(self, delsource)
delsource.errtxt="Failed to delete source"
local res, err = pcall(function()
databaseconnect(DatabaseUser)
@@ -858,13 +858,13 @@ function deletesource(self, delsource)
return delsource
end
-function gettestsource(self, clientdata)
+function mymodule.gettestsource(self, clientdata)
local retval = {}
retval.sourcename = cfe({ value=clientdata.sourcename or "", label="Source Name" })
return cfe({ type="group", value=retval, label="Test Source" })
end
-function testsource(self, test)
+function mymodule.testsource(self, test)
-- temporary override of logme function to capture messages to result.value
test.descr = {}
local temp = logme
@@ -963,12 +963,12 @@ local function importlogfile(source, cookiesfile, file, parselog_func)
return res
end
-function getimportlogs(self, clientdata)
+function mymodule.getimportlogs(self, clientdata)
local retval = {}
return cfe({ type="group", value=retval, label="Import Logs" })
end
-function importlogs(self, import)
+function mymodule.importlogs(self, import)
local count = 0
local success = true
@@ -1035,7 +1035,7 @@ function importlogs(self, import)
return import
end
-function getactivitylog()
+function mymodule.getactivitylog()
local retval = cfe({ type="list", value={}, label="Weblog Activity Log" })
local res, err = pcall(function()
databaseconnect(DatabaseUser)
@@ -1049,14 +1049,14 @@ function getactivitylog()
return retval
end
-function geteditselected()
+function mymodule.geteditselected()
local result = {}
result.select = cfe({ type="list", value={}, label="Entries to mark as selected" })
result.deselect = cfe({ type="list", value={}, label="Entries to mark as selected" })
return cfe({ type="group", value=result, label="Select / Deselect log entries" })
end
-function editselected(self, data)
+function mymodule.editselected(self, data)
local res, err = pcall(function()
databaseconnect(DatabaseOwner)
con:execute("START TRANSACTION")
@@ -1075,12 +1075,12 @@ function editselected(self, data)
return data
end
-function getclearselected(self, clientdata)
+function mymodule.getclearselected(self, clientdata)
local retval = {}
return cfe({ type="group", value=retval, label="Clear select fields" })
end
-function clearselected(self, clear)
+function mymodule.clearselected(self, clear)
clear.errtxt = "Failed to clear select fields"
local res, err = pcall(function()
sql = "UPDATE pubweblog SET selected = false WHERE selected = true"
@@ -1132,8 +1132,8 @@ local validateweblogparameters = function(params)
return success
end
-function getweblogparameters()
- local c = getconfig()
+function mymodule.getweblogparameters()
+ local c = mymodule.getconfig()
local result = {}
result.activelog = cfe({ type="select", value="pubweblog", option={"pubweblog", "pubweblog_history"}, label="Active Weblog", seq=1 })
result.starttime = cfe({ value=c.value.auditstart.value, label="Start Time", seq=2 })
@@ -1151,7 +1151,7 @@ function getweblogparameters()
return cfe({ type="group", value=result, label="Weblog Access Log" })
end
-function getweblog(self, result)
+function mymodule.getweblog(self, result)
local success = validateweblogparameters(result)
result.value.log = cfe({ type="list", value={}, label="Weblog Access Log" })
result.value.window = cfe({ value=config.window or "5", label="Time Window" })
@@ -1171,7 +1171,7 @@ function getweblog(self, result)
return result
end
-function getusagestats()
+function mymodule.getusagestats()
local retval = cfe({ type="list", value={}, label="Weblog Usage Stats" })
local res, err = pcall(function()
databaseconnect(DatabaseUser)
@@ -1185,7 +1185,7 @@ function getusagestats()
return retval
end
-function getauditstats()
+function mymodule.getauditstats()
local result = {}
result.auditstart = cfe({ value=config.auditstart or "", label="Audit Start Time" })
result.auditend = cfe({ value=config.auditend or "", label="Audit End Time" })
@@ -1201,28 +1201,28 @@ function getauditstats()
return cfe({ type="group", value=result, errtxt=err, label="Weblog Audit Statistics" })
end
-function getcompleteaudit(self, clientdata)
+function mymodule.getcompleteaudit(self, clientdata)
local retval = {}
retval.timestamp = cfe({ value=clientdata.timestamp or "", label="New Audit End Time" })
return cfe({ type="group", value=retval, label="Complete Audit" })
end
-function completeaudit(self, complete)
+function mymodule.completeaudit(self, complete)
if "" == complete.value.timestamp.value then
local now = os.time()
complete.value.timestamp.value = os.date("%Y-%m-%d %H:%M:%S", now - now%86400 - 86400)
end
- local conf = getconfig()
+ local conf = mymodule.getconfig()
conf.value.auditstart.value = conf.value.auditend.value
conf.value.auditend.value = complete.value.timestamp.value
- conf = updateconfig(self, conf)
+ conf = mymodule.updateconfig(self, conf)
if conf.errtxt then
complete.errtxt = "Failed to complete audit\n"..conf.errtxt.."\n"..conf.value.auditend.errtxt
end
return complete
end
-function getconfig()
+function mymodule.getconfig()
local result = {}
result.auditstart = cfe({ value=config.auditstart or "", label="Audit Start Time", seq=1 })
result.auditend = cfe({ value=config.auditend or "", label="Audit End Time", seq=2 })
@@ -1279,7 +1279,7 @@ local function validateconfig(newconfig)
return success, newconfig
end
-function updateconfig(self, newconfig)
+function mymodule.updateconfig(self, newconfig)
local success = validateconfig(newconfig)
if success then
configcontent = format.update_ini_file(configcontent, "", "auditstart", newconfig.value.auditstart.value)
@@ -1305,13 +1305,13 @@ function updateconfig(self, newconfig)
return newconfig
end
-function getnewadhocquery()
+function mymodule.getnewadhocquery()
local query = {}
query.query = cfe({ label="Query select statement" })
return cfe({ type="group", value=query, label="Ad-hoc Query" })
end
-function adhocquery(self, query)
+function mymodule.adhocquery(self, query)
local success = true
query.value.query.value = query.value.query.value:lower()
if query.value.query.value == "" then
@@ -1353,7 +1353,7 @@ function adhocquery(self, query)
return query
end
-function testdatabase()
+function mymodule.testdatabase()
local retval = cfe({ type="boolean", value=false, label="Database present" })
local dbs = listdatabases()
for i,db in ipairs(dbs) do
@@ -1365,12 +1365,12 @@ function testdatabase()
return retval
end
-function getnewdatabase()
+function mymodule.getnewdatabase()
local database = {}
local errtxt
database.password = cfe({ type="password", label="Password", seq=0 })
database.password_confirm = cfe({ type="password", label="Password (confirm)", seq=1 })
- local test = testdatabase()
+ local test = mymodule.testdatabase()
if test.value then
errtxt = "Database already exists!"
success = false
@@ -1378,7 +1378,7 @@ function getnewdatabase()
return cfe({ type="group", value=database, label="Create Database", errtxt=errtxt })
end
-function create_database(self, database)
+function mymodule.create_database(self, database)
local success = true
local errtxt
@@ -1390,7 +1390,7 @@ function create_database(self, database)
database.value.password_confirm.errtxt = "Password does not match"
success = false
end
- local test = testdatabase()
+ local test = mymodule.testdatabase()
if test.value then
errtxt = "Database already exists!"
success = false
@@ -1398,7 +1398,7 @@ function create_database(self, database)
if success then
errtxt = createdatabase(database.value.password.value)
- test = testdatabase()
+ test = mymodule.testdatabase()
if not test.value then
success = false
else
@@ -1433,7 +1433,7 @@ function create_database(self, database)
return database
end
-function listfiles()
+function mymodule.listfiles()
local retval = cfe({ type="list", value={}, label="Weblog Files" })
for i,file in ipairs(files) do
local details = fs.stat(file) or {}
@@ -1443,10 +1443,12 @@ function listfiles()
return retval
end
-function readfile(self, clientdata)
+function mymodule.readfile(self, clientdata)
return modelfunctions.getfiledetails(clientdata.filename, files)
end
-function updatefile(self, filedetails)
+function mymodule.updatefile(self, filedetails)
return modelfunctions.setfiledetails(self, filedetails, files)
end
+
+return mymodule