diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-09-12 17:30:52 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-09-12 17:30:52 +0000 |
commit | 999bb888a63f22a6c7eaf242cc771b4f312ee6d7 (patch) | |
tree | 397c35c50528b1308aec74707ed1b1d420e9d5b8 | |
parent | 6e29d620e1321179f33d4caab2932d4f362b1a42 (diff) | |
download | acf-weblog-999bb888a63f22a6c7eaf242cc771b4f312ee6d7.tar.bz2 acf-weblog-999bb888a63f22a6c7eaf242cc771b4f312ee6d7.tar.xz |
Changed viewweblog to a form, reworked handling of config and weblog parameters, and added deniedyesno and bypassyesno config options.
-rw-r--r-- | weblog-controller.lua | 10 | ||||
-rw-r--r-- | weblog-model.lua | 180 | ||||
-rw-r--r-- | weblog-viewweblog-html.lsp | 122 |
3 files changed, 113 insertions, 199 deletions
diff --git a/weblog-controller.lua b/weblog-controller.lua index 93c1cae..76f4db9 100644 --- a/weblog-controller.lua +++ b/weblog-controller.lua @@ -38,7 +38,13 @@ function viewactivitylog(self) end function viewweblog(self) - return self.model.getweblog(self.clientdata.activelog, self.clientdata.clientuserid, self.clientdata.starttime, self.clientdata.endtime, self.clientdata.clientip, self.clientdata.badyesno, self.clientdata.deniedyesno, self.clientdata.bypassyesno, self.clientdata.score, self.clientdata.urisearch, self.clientdata.sortby, self.clientdata.selected, clientdata.focus) + local retval = controllerfunctions.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 + controllerfunctions.handle_clientdata(retval, self.clientdata) + retval = self.model.getweblog(retval) + end + return retval end function downloadweblog(self) @@ -48,7 +54,7 @@ function downloadweblog(self) local content = {"sourcename\tclientuserid\tclientip\tlogdatetime\turi\tbytes\treason\tscore\tshortreason\tbadyesno\tdeniedyesno\tbypassyesno"} for i,log in ipairs(retval.value.log.value) do content[#content+1] = string.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", - log.sourcename, log.clientuserid, log.clientip, log.logdatetime, log.uri, log.bytes, log.reason, log.score, log.shortreason, log.badyesno, log.deniedyesno, log.bypassyesno) + log.sourcename, log.clientuserid, log.clientip, log.logdatetime, log.uri, log.bytes, log.reason, log.score, log.shortreason or "", log.badyesno, log.deniedyesno, log.bypassyesno) end file.value = table.concat(content, "\n") return file diff --git a/weblog-model.lua b/weblog-model.lua index a462ee8..d2f5b61 100644 --- a/weblog-model.lua +++ b/weblog-model.lua @@ -306,14 +306,14 @@ local generatewhereclause = function(clientuserid, starttime, endtime, clientip, if clientip and clientip ~= "" then where[#where+1] = "clientip = '"..escape(clientip).."'" end - if badyesno and badyesno ~= "" then - where[#where+1] = "badyesno = '"..escape(badyesno).."'" + if badyesno then + where[#where+1] = "badyesno = '1'" end - if deniedyesno and deniedyesno ~= "" then - where[#where+1] = "deniedyesno = '"..escape(deniedyesno).."'" + if deniedyesno then + where[#where+1] = "deniedyesno = '1'" end - if bypassyesno and bypassyesno ~= "" then - where[#where+1] = "bypassyesno = '"..escape(bypassyesno).."'" + if bypassyesno then + where[#where+1] = "bypassyesno = '1'" end if score and score ~= "" then where[#where+1] = "score >= '"..escape(score).."'" @@ -321,7 +321,7 @@ local generatewhereclause = function(clientuserid, starttime, endtime, clientip, if urisearch and urisearch ~= "" then where[#where+1] = "lower(uri) LIKE '%"..escape(urisearch).."%'" end - if selected and selected == "true" then + if selected then where[#where+1] = "selected = 'true'" end @@ -355,10 +355,6 @@ local listlogentries = function(activelog, clientuserid, starttime, endtime, cli return entries end -local listpubweblogentries = function(...) - return listlogentries(...) -end - local groupflaggedlogentries = function(starttime, endtime, groupby) groupby = groupby or "clientuserid" local entries = {} @@ -993,61 +989,6 @@ function getactivitylog() return retval end -local validateparameters = function(params) - local success = true - if params.clientip.value ~= "" and string.find(params.clientip.value, "[^%d%.]") then - params.clientip.errtxt = "Invalid IP Address" - success = false - end - if params.window.value ~= "" and not validator.is_integer(params.window.value) then - params.window.errtxt = "Must be an integer" - success = false - end - local res, err = pcall(function() - databaseconnect(DatabaseUser) - local s - if params.starttime.value ~= "" then - s,params.starttime.errtxt,params.starttime.value = convertdatabaseentry("TIMESTAMP", params.starttime.value) - success = success and s - end - if params.endtime.value ~= "" then - s,params.endtime.errtxt,params.endtime.value = convertdatabaseentry("TIMESTAMP", params.endtime.value) - success = success and s - end - if params.focus.value ~= "" then - s,params.focus.errtxt,params.focus.value = convertdatabaseentry("TIMESTAMP", params.focus.value) - success = success and s - end - databasedisconnect() - end) - if not res and err then - params.starttime.errtxt = err - params.endtime.errtxt = err - params.focus.errtxt = err - success = false - end - return success -end - -local handleparameters = function(activelog, clientuserid, starttime, endtime, clientip, badyesno, deniedyesno, bypassyesno, score, urisearch, sortby, selected, focus) - local result = {} - result.activelog = cfe({ value=activelog or "pubweblog", label="Active Weblog" }) - result.clientuserid = cfe({ value=clientuserid or "", label="User ID" }) - result.starttime = cfe({ value=starttime or "", label="Start Time" }) - result.endtime = cfe({ value=endtime or "", label="End Time" }) - result.clientip = cfe({ value=clientip or "", label="Client IP" }) - result.badyesno = cfe({ value=badyesno, label="Show Dodgy Records", descr="Limit search to Dodgy records"}) - result.deniedyesno = cfe({ value=deniedyesno, label="Show Denied Records", descr="Limit search to Denied uri"}) - result.bypassyesno = cfe({ value=bypassyesno, label="Show Bypass Actions", descr="Limit search to Bypass attempts"}) - result.score = cfe({ value=score, label="Minimum Score", descr="Minimum score to search on"}) - result.urisearch = cfe({ value=urisearch or "", label="URI Contains", descr="Retrieve records where the URI contains this word"}) - result.sortby = cfe({ value=sortby, label="Sort By field", descr="Sort by this field when displaying records"}) - result.selected = cfe({ value=selected, label="Show Selected Records", descr="Show only records that have been selected"}) - result.window = cfe({ value=config.window or "5", label="Time Window" }) - result.focus = cfe({ value=focus or "", label="Focus Time" }) - return result -end - function geteditselected() local result = {} result.select = cfe({ type="list", value={}, label="Entries to mark as selected" }) @@ -1089,41 +1030,76 @@ function clearselected() return retval end -function getweblog(activelog, clientuserid, starttime, endtime, clientip, badyesno, deniedyesno, bypassyesno, score, urisearch, sortby, selected, focus ) - if (not activelog or activelog=="") then - activelog = "pubweblog" - end - - if (not starttime or starttime=="") and (not endtime or endtime=="") and config.auditstart~="" and config.auditend~="" then - starttime = config.auditstart - endtime = config.auditend - end - - if config.badyesno=="true" then - badyesno = '1' - end - - if (not score or score=="") and config.minimumscore~="" then - score = config.minimumscore +local validateweblogparameters = function(params) + local success = modelfunctions.validateselect(params.value.activelog) + success = modelfunctions.validateselect(params.value.sortby) and success + if params.value.clientip.value ~= "" and string.find(params.value.clientip.value, "[^%d%.]") then + params.value.clientip.errtxt = "Invalid IP Address" + success = false end - - if (not sortby or sortby=="") and config.sortby~="" then - sortby = config.sortby + local res, err = pcall(function() + databaseconnect(DatabaseUser) + local s + if params.value.starttime.value ~= "" then + s,params.value.starttime.errtxt,params.value.starttime.value = convertdatabaseentry("TIMESTAMP", params.value.starttime.value) + success = success and s + end + if params.value.endtime.value ~= "" then + s,params.value.endtime.errtxt,params.value.endtime.value = convertdatabaseentry("TIMESTAMP", params.value.endtime.value) + success = success and s + end + if params.value.focus.value ~= "" then + s,params.value.focus.errtxt,params.value.focus.value = convertdatabaseentry("TIMESTAMP", params.value.focus.value) + success = success and s + end + databasedisconnect() + end) + if not res and err then + params.value.starttime.errtxt = err + params.value.endtime.errtxt = err + params.value.focus.errtxt = err + success = false end + return success +end - local result = handleparameters(activelog, clientuserid, starttime, endtime, clientip, badyesno, deniedyesno, bypassyesno, score, urisearch, sortby, selected, focus) - result.log = cfe({ type="list", value={}, label="Weblog Access Log" }) - local success = validateparameters(result) +function getweblogparameters() + local c = 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 }) + result.endtime = cfe({ value=c.value.auditend.value, label="End Time", seq=3 }) + result.clientuserid = cfe({ value="", label="User ID", seq=4 }) + result.clientip = cfe({ value="", label="Client IP", seq=5 }) + result.urisearch = cfe({ value="", label="URI Contains", descr="Retrieve records where the URI contains this word", seq=6 }) + result.score = cfe({ value=c.value.minimumscore.value, label="Minimum Score", descr="Minimum score to search on", seq=7 }) + result.sortby = cfe({ type="select", value=c.value.sortby.value, option=c.value.sortby.option, label="Sort By field", descr="Sort by this field when displaying records", seq=8 }) + result.badyesno = cfe({ type="boolean", value=c.value.badyesno.value, label="Show Suspect Records", descr="Limit search to records marked as suspect", seq=9 }) + result.deniedyesno = cfe({ type="boolean", value=c.value.deniedyesno.value, label="Show Denied Records", descr="Limit search to Denied URIs", seq=10 }) + result.bypassyesno = cfe({ type="boolean", value=c.value.bypassyesno.value, label="Show Bypass Records", descr="Limit search to Bypass attempts", seq=11 }) + result.selected = cfe({ type="boolean", value=false, label="Show Selected Records", descr="Limit search to records that have been selected", seq=12 }) + result.focus = cfe({ value="", label="Focus Time", seq=13 }) + return cfe({ type="group", value=result, label="Weblog Access Log" }) +end + +function getweblog(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" }) + local err if success then local res, err = pcall(function() databaseconnect(DatabaseUser) - result.log.value = listpubweblogentries(activelog, clientuserid, starttime, endtime, clientip, badyesno, deniedyesno, bypassyesno, score, urisearch, sortby, selected ) or {} + result.value.log.value = listlogentries(result.value.activelog.value, result.value.clientuserid.value, result.value.starttime.value, result.value.endtime.value, result.value.clientip.value, result.value.badyesno.value, result.value.deniedyesno.value, result.value.bypassyesno.value, result.value.score.value, result.value.urisearch.value, result.value.sortby.value, result.value.selected.value ) or {} databasedisconnect() end) + if not res then + result.errtxt = err + end else - err = "Invalid search parameters" + result.errtxt = "Invalid search parameters" end - return cfe({ type="group", value=result, errtxt=err, label="Weblog Access Log" }) + return result end function getusagestats() @@ -1174,15 +1150,17 @@ function 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 }) - result.badyesno = cfe({ type="boolean", value=(config.badyesno == "1"), label="Display Suspect Records", descr="Show only records flagged as suspect on initial display", seq=3 }) - result.sortby = cfe({ type="select", value=config.sortby or "logdatetime", label="Sort By field", option={"logdatetime", "logdatetime DESC", "clientuserid", "clientuserid DESC", "clientip", "clientip DESC", "bytes", "bytes DESC", "score", "score DESC", "reason"}, seq=4 }) - result.minimumscore = cfe({ value=config.minimumscore or "0", label="Minimum Score", descr="Minimum Score to search for", seq=5 }) - result.window = cfe({ value=config.window or "5", label="Time Window", descr="Minutes of activity to display before and after selected block", seq=6 }) - result.purgedays = cfe({ value=config.purgedays or "30", label="Days before Purge", descr="Days to keep history, regardless of audit", seq=10 }) - result.groupby = cfe({ type="select", value=config.groupby or "clientuserid", label="Group results by", option={"clientuserid", "clientip"}, seq=7 }) - result.shorturi = cfe({ type="boolean", value=(config.shorturi == "true"), label="Truncate URLs", descr="You can limit the length of displayed URLs by enabling this option", seq=7 }) - result.shortreason = cfe({ type="boolean", value=(config.shortreason == "true"), label="Short Reason", descr="Display a short reason (dansguardian only)", seq=8 }) - result.stoponerror = cfe({ type="boolean", value=(config.stoponerror == "true"), label="Stop on Error", descr="Stop import of logs if an error is encountered", seq=11}) + result.groupby = cfe({ type="select", value=config.groupby or "clientuserid", label="Group results by", option={"clientuserid", "clientip"}, descr="Display audit results based on user ID or IP", seq=3 }) + result.minimumscore = cfe({ value=config.minimumscore or "0", label="Minimum Score", descr="Default minimum Score to search for", seq=4 }) + result.sortby = cfe({ type="select", value=config.sortby or "logdatetime", label="Sort By field", option={"logdatetime", "logdatetime DESC", "clientuserid", "clientuserid DESC", "clientip", "clientip DESC", "bytes", "bytes DESC", "score", "score DESC", "reason"}, descr="Default sort order", seq=5 }) + result.badyesno = cfe({ type="boolean", value=(config.badyesno == "true"), label="Display Suspect Records", descr="By default, only show records flagged as suspect", seq=6 }) + result.deniedyesno = cfe({ type="boolean", value=(config.deniedyesno == "true"), label="Display Denied Records", descr="By default, only show records with denied URI", seq=7 }) + result.bypassyesno = cfe({ type="boolean", value=(config.bypassyesno == "true"), label="Display Bypass Records", descr="By default, only show records with bypass attempts", seq=8 }) + result.shorturi = cfe({ type="boolean", value=(config.shorturi == "true"), label="Truncate URLs", descr="You can limit the length of displayed URLs by enabling this option", seq=9 }) + result.shortreason = cfe({ type="boolean", value=(config.shortreason == "true"), label="Short Reason", descr="Display a short reason (dansguardian only)", seq=10 }) + result.window = cfe({ value=config.window or "5", label="Time Window", descr="Minutes of activity to display before and after selected block", seq=11 }) + result.purgedays = cfe({ value=config.purgedays or "30", label="Days before Purge", descr="Days to keep full history, regardless of audit", seq=12 }) + result.stoponerror = cfe({ type="boolean", value=(config.stoponerror == "true"), label="Stop on Error", descr="Stop import of logs if an error is encountered", seq=13}) return cfe({ type="group", value=result, label="Weblog Config" }) end @@ -1233,6 +1211,8 @@ function updateconfig(newconfig) configcontent = format.update_ini_file(configcontent, "", "shortreason", tostring(newconfig.value.shortreason.value)) configcontent = format.update_ini_file(configcontent, "", "stoponerror", tostring(newconfig.value.stoponerror.value)) configcontent = format.update_ini_file(configcontent, "", "badyesno", tostring(newconfig.value.badyesno.value)) + configcontent = format.update_ini_file(configcontent, "", "deniedyesno", tostring(newconfig.value.deniedyesno.value)) + configcontent = format.update_ini_file(configcontent, "", "bypassyesno", tostring(newconfig.value.bypassyesno.value)) configcontent = format.update_ini_file(configcontent, "", "minimumscore", tostring(newconfig.value.minimumscore.value)) configcontent = format.update_ini_file(configcontent, "", "sortby", tostring(newconfig.value.sortby.value)) diff --git a/weblog-viewweblog-html.lsp b/weblog-viewweblog-html.lsp index 4df704e..07f6356 100644 --- a/weblog-viewweblog-html.lsp +++ b/weblog-viewweblog-html.lsp @@ -94,85 +94,18 @@ end <H1>Search Parameters</H1> <DL> -<% if data.errtxt then %><p class="error"><%= html.html_escape(data.errtxt) %></p><% end %> -<form action="<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action) %>" method="POST"> -<DT>Active Weblog</DT> -<DD><select name="activelog"> -<option value="pubweblog">Current</option> -<option value="pubweblog_history"<% if data.value.activelog.value == "pubweblog_history" then %> selected="selected" <% end %> >History</option> -</select> -</DD> -<DT>Start Time</DT> -<DD><input class="text" type="text" name="starttime" value="<%= html.html_escape(data.value.starttime.value) %>" > -<p><%= html.html_escape(data.value.starttime.value) %></p> -<% if data.value.starttime.errtxt then %><p class="error"><%= html.html_escape(data.value.starttime.errtxt) %></p><% end %> -</DD> -<DT>User ID</DT> -<DD><input class="text" type="text" name="clientuserid" value="<%= html.html_escape(data.value.clientuserid.value) %>" > -<p><%= html.html_escape(data.value.clientuserid.value) %></p> -<% if data.value.clientuserid.errtxt then %><p class="error"><%= html.html_escape(data.value.clientuserid.errtxt) %></p><% end %> -</DD> -<DT>Client IP</DT> -<DD><input class="text" type="text" name="clientip" value="<%= html.html_escape(data.value.clientip.value) %>" > -<p><%= html.html_escape(data.value.clientip.value) %></p> -<% if data.value.clientip.errtxt then %><p class="error"><%= html.html_escape(data.value.clientip.errtxt) %></p><% end %> -</DD> -<DT>End Time</DT> -<DD><input class="text" type="text" name="endtime" value="<%= html.html_escape(data.value.endtime.value) %>" > -<p><%= html.html_escape(data.value.endtime.value) %></p> -<% if data.value.endtime.errtxt then %><p class="error"><%= html.html_escape(data.value.endtime.errtxt) %></p><% end %> -</DD> -<DT>URI Contains</DT> -<DD><input class="text" type="text" name="urisearch" value="<%= html.html_escape(data.value.urisearch.value) %>" > -<P CLASS="descr">Retrieve records where the URI contains this word</P> -<p><%= html.html_escape(data.value.urisearch.value) %></p> -<% if data.value.urisearch.errtxt then %><p class="error"><%= html.html_escape(data.value.urisearch.errtxt) %></p><% end %> -</DD> -<DT>Minimum Score</DT> -<DD><input class="text" type="text" name="score" value="<%= html.html_escape(data.value.score.value) %>" > -<P CLASS="descr">Minimum score to search on</P> -<% if data.value.score.errtxt then %><p class="error"><%= html.html_escape(data.value.score.errtxt) %></p><% end %> -</DD> -<DT>Sort By</DT> -<DD><select name="sortby"> -<option value="logdatetime"<% if data.value.log.value == "sortby" then %> selected="selected" <% end %> >Timestamp</option> -<option value="logdatetime DESC"<% if data.value.sortby.value == "logdatetime DESC" then %> selected="selected" <% end %> >Timestamp DESC</option> -<option value="clientuserid"<% if data.value.sortby.value == "clientuserid" then %> selected="selected" <% end %> >User ID</option> -<option value="clientuserid DESC"<% if data.value.sortby.value == "clientuserid DESC" then %> selected="selected" <% end %> >User ID DESC</option> -<option value="bytes"<% if data.value.sortby.value == "bytes" then %> selected="selected" <% end %> >Size</option> -<option value="bytes DESC"<% if data.value.sortby.value == "bytes DESC" then %> selected="selected" <% end %> >Size DESC</option> -<option value="score"<% if data.value.sortby.value == "score" then %> selected="selected" <% end %> >Score</option> -<option value="score DESC"<% if data.value.sortby.value == "score DESC" then %> selected="selected" <% end %> >Score DESC</option> -<option value="reason"<% if data.value.sortby.value == "reason" then %> selected="selected" <% end %> >Reason</option> -<option value="reason DESC"<% if data.value.sortby.value == "reason DESC" then %> selected="selected" <% end %> >Reason DESC</option> -</select> -</DD> -<DT>Show Suspect Records</DT> -<DD> -<input class="checkbox" type="checkbox" name="badyesno" value="1" <% if data.value.badyesno.value == "1" then %> checked <% end %>> -<P CLASS="descr">Show only URIs containing flagged words</P> -<% if data.value.badyesno.errtxt then %><p class="error"><%= html.html_escape(data.value.badyesno.errtxt) %></p><% end %> -</DD> -<DT>Show Denied URIs</DT> -<DD> -<input class="checkbox" type="checkbox" name="deniedyesno" value="1" <% if data.value.deniedyesno.value == "1" then %>checked<% end %>> -<% if data.value.deniedyesno.errtxt then %><p class="error"><%= html.html_escape(data.value.deniedyesno.errtxt) %></p><% end %> -<P CLASS="descr">Show only Denied URIs</P> -</DD> -<DT>Show Bypass Attempts</DT> -<DD> -<input class="checkbox" type="checkbox" name="bypassyesno" value="1" <% if data.value.bypassyesno.value == "1" then %>checked <% end %>> -<% if data.value.bypassyesno.errtxt then %><p class="error"><%= html.html_escape(data.value.bypassyesno.errtxt) %></p><% end %> -<P CLASS="descr">Show only Bypass attempts</P> -</DD> -<DT>Show Selected Records</DT> -<DD> -<input class="checkbox" type="checkbox" name="selected" value="true" <% if data.value.selected.value == "true" then %>checked <% end %>> -<% if data.value.selected.errtxt then %><p class="error"><%= html.html_escape(data.value.selected.errtxt) %></p><% end %> -<P CLASS="descr">Show only records that have been selected</P> -</DD> -<DT></DT><DD><input class="submit" type="submit" name="Update" value="Update"></DD> -</FORM> +<% -- Display the form, but skip log, window, and focus fields +local log = data.value.log +data.value.log = nil +local window = data.value.window +data.value.window = nil +local focus = data.value.focus +data.value.focus = nil +displayform(data, nil, nil, page_info, 2) +data.value.log = log +data.value.window = window +data.value.focus = focus +%> </DL> <% @@ -232,7 +165,7 @@ end %> <TD <% if data.value.clientip.value == watch.clientip then %> style="font-weight:bold;" <% end %> ><%= html.html_escape(watch.clientip) %></TD> <TD <% if data.value.clientuserid.value == watch.clientuserid then %> style="font-weight:bold;" <% end %> ><%= html.html_escape(watch.clientuserid) %></TD> <TD><%= html.html_escape(watch.bytes) %></TD> - <TD WIDTH="2%"><% if watch.badyesno == "1" then %><IMG SRC='<%= html.html_escape(page_info.wwwprefix..page_info.staticdir) %>/dodgy.png' width='13' height='13'><% end %></TD> + <TD WIDTH="2%"><% if watch.badyesno ~= "0" then %><IMG SRC='<%= html.html_escape(page_info.wwwprefix..page_info.staticdir) %>/dodgy.png' width='13' height='13'><% end %></TD> <TD WIDTH="2%"><% if watch.deniedyesno ~= "0" then %> <IMG SRC='<%= html.html_escape(page_info.wwwprefix..page_info.staticdir) %>/denied.png' width='13' height='13'><% end %></TD> <TD WIDTH="2%"><% if watch.bypassyesno ~= "0" then %> <IMG SRC='<%= html.html_escape(page_info.wwwprefix..page_info.staticdir) %>/bypass.png' width='13' height='13'><% end %></TD> <TD><%= html.html_escape(watch.score) %></TD> @@ -269,21 +202,16 @@ end %> <p>No results, try adjusting search parameters</p> <% end %> -<% if viewlibrary.check_permission("downloadweblog") then %> -<form action="<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/downloadweblog") %>" method="POST"> -<input type="hidden" name="activelog" value="<%= html.html_escape(data.value.activelog.value) %>" > -<input type="hidden" name="starttime" value="<%= html.html_escape(data.value.starttime.value) %>" > -<input type="hidden" name="clientuserid" value="<%= html.html_escape(data.value.clientuserid.value) %>" > -<input type="hidden" name="clientip" value="<%= html.html_escape(data.value.clientip.value) %>" > -<input type="hidden" name="endtime" value="<%= html.html_escape(data.value.endtime.value) %>" > -<input type="hidden" name="badyesno" value="<%= html.html_escape(data.value.badyesno.value) %>" > -<input type="hidden" name="deniedyesno" value="<%= html.html_escape(data.value.deniedyesno.value) %>" > -<input type="hidden" name="bypassyesno" value="<%= html.html_escape(data.value.bypassyesno.value) %>" > -<input type="hidden" name="score" value="<%= html.html_escape(data.value.score.value) %>" > -<input type="hidden" name="sortby" value="<%= html.html_escape(data.value.sortby.value) %>" > -<input type="hidden" name="urisearch" value="<%= html.html_escape(data.value.urisearch.value) %>" > -<input type="hidden" name="selected" value="<%= html.html_escape(data.value.selected.value) %>" > -<DT>Download log</DT><DD><input class="submit" type="submit" name="Download" value="Download"></DD> -</form> -<% end %> +<% if viewlibrary.check_permission("downloadweblog") then +data.action = "downloadweblog" +data.option = "Download" +data.value.log = nil +data.value.window = nil +data.value.focus = nil +for n,v in pairs(data.value) do + v.type = "hidden" + v.checked = nil +end +displayform(data, nil, nil, page_info, 2) +end %> </DL> |