From 99457fa341d33006c4ff8b2b81196e5de60abb6a Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Thu, 25 Aug 2011 19:59:33 +0000 Subject: Cleaned up use of config files --- weblog-controller.lua | 11 ++------ weblog-createsource-html.lsp | 15 +---------- weblog-listfiles-html.lsp | 39 ++++++---------------------- weblog-model.lua | 62 ++++++++++++++++---------------------------- weblog.roles | 2 +- 5 files changed, 34 insertions(+), 95 deletions(-) mode change 100644 => 120000 weblog-createsource-html.lsp diff --git a/weblog-controller.lua b/weblog-controller.lua index 2ae0504..11d8109 100644 --- a/weblog-controller.lua +++ b/weblog-controller.lua @@ -162,14 +162,7 @@ end function listfiles(self) return self.model.listfiles(self) end -function createfile(self) - return controllerfunctions.handle_form(self, self.model.getnewfile, self.model.createfile, self.clientdata, "Create", "Create New Weblog File", "Weblog File Created") -end - + function editfile(self) - return controllerfunctions.handle_form(self, function() return self.model.readfile(self.clientdata.filename) end, self.model.updatefile, self.clientdata, "Save", "Edit Weblog File", "Weblog File Saved" ) -end - -function deletefile(self) - return self:redirect_to_referrer(self.model.deletefile(self.clientdata.filename)) + return controllerfunctions.handle_form(self, function() return self.model.readfile(self.clientdata.filename) end, self.model.updatefile, self.clientdata, "Save", "Edit Weblog File", "Weblog File Saved" ) end diff --git a/weblog-createsource-html.lsp b/weblog-createsource-html.lsp deleted file mode 100644 index c15e30e..0000000 --- a/weblog-createsource-html.lsp +++ /dev/null @@ -1,14 +0,0 @@ -<% local form, viewlibrary, page_info = ... -require("viewfunctions") -%> - -

<%= html.html_escape(form.label) %>

-<% - form.action = page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action - form.value.passwd.type = "password" - if page_info.action == "editsource" then - form.value.sourcename.readonly = true - end - local order = {"sourcename", "enabled", "source", "method", "userid", "passwd"} - displayform(form, order) -%> diff --git a/weblog-createsource-html.lsp b/weblog-createsource-html.lsp new file mode 120000 index 0000000..d076f78 --- /dev/null +++ b/weblog-createsource-html.lsp @@ -0,0 +1 @@ +weblog-editsource-html.lsp \ No newline at end of file diff --git a/weblog-listfiles-html.lsp b/weblog-listfiles-html.lsp index c2fe301..ba03446 100644 --- a/weblog-listfiles-html.lsp +++ b/weblog-listfiles-html.lsp @@ -2,41 +2,18 @@ require("viewfunctions") %> -<% displaycommandresults({"editfile", "deletefile", "startstop"}, session) %> -<% displaycommandresults({"createfile"}, session, true) %> - +<% displaycommandresults({"editfile"}, session) %>

File List

- - - -<% for i,file in ipairs(view.value) do %> - - - - -<% end %> + + + + + <% for k,v in ipairs( view.value ) do + io.write( "\n" ) + end %>
ActionFile
- <% if viewlibrary.check_permission("editfile") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editfile?filename="..file.."&redir="..page_info.orig_action, label="Edit "} %> - <% end %> - <% if viewlibrary.check_permission("deletefile") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deletefile?filename="..file, label="Delete "} %> - <% end %> - <%= html.html_escape(file) %>
FileSizeLast Modified
" .. html.html_escape(v.filename) .. "" .. html.html_escape(v.size) .."" .. html.html_escape(v.mtime) .."
- -<% if viewlibrary and viewlibrary.dispatch_component and viewlibrary.check_permission("createfile") then - local createform = viewlibrary.dispatch_component("createfile", nil, true) %> -

<%= html.html_escape(createform.label) %>

-<% - createform.action = page_info.script .. page_info.prefix .. page_info.controller .. "/createfile" - displayform(createform) -end %> - -<% if viewlibrary and viewlibrary.dispatch_component and viewlibrary.check_permission("startstop") then - viewlibrary.dispatch_component("startstop") -end %> diff --git a/weblog-model.lua b/weblog-model.lua index 3ee6601..ca220e6 100644 --- a/weblog-model.lua +++ b/weblog-model.lua @@ -20,7 +20,8 @@ local configcontent = fs.read_file(configfile) or "" local config = format.parse_ini_file(configcontent, "") or {} local goodwordslist = "/etc/weblog/goodwords" local badwordslist = "/etc/weblog/badwords" -local baseurl = "/etc/weblog/" +local ignorewordslist = "/etc/weblog/ignorewords" +local files = {badwordslist, goodwordslist, ignorewordslist, configfile} local database_creation_script = { "CREATE TABLE dbhistlog (logdatetime timestamp(3) without time zone NOT NULL, msgtext text)", @@ -529,7 +530,7 @@ local function parsesquidlog(line) local ignoreme=false --check for ignored records first - for thisline in io.lines("/etc/weblog/ignorewords") do + for thisline in io.lines(ignorewordslist) do if not thisline then break end @@ -542,7 +543,7 @@ local function parsesquidlog(line) if ignoreme ~= true then --proceed with record analysis - for thisline in io.lines("/etc/weblog/badwords") do + for thisline in io.lines(badwordslist) do if not thisline then break end @@ -572,7 +573,7 @@ local function parsesquidlog(line) isbypass=1 end end - for goodline in io.lines("/etc/weblog/goodwords") do + for goodline in io.lines(goodwordslist) do if not goodline then break end @@ -641,7 +642,7 @@ local function parsesquarklog(line) local ignoreme=false --check for ignored records first - for thisline in io.lines("/etc/weblog/ignorewords") do + for thisline in io.lines(ignorewordslist) do if not thisline then break end @@ -653,7 +654,7 @@ local function parsesquarklog(line) end if ignoreme ~= true then - for thisline in io.lines(baseurl.."badwords") do + for thisline in io.lines(badwordslist) do if not thisline then -- logme("This line is apparently empty...") break @@ -681,7 +682,7 @@ local function parsesquarklog(line) isbypass=1 end end - for goodline in io.lines(baseurl.."goodwords") do + for goodline in io.lines(goodwordslist) do if not goodline then -- logme("This line is apparently empty...") break @@ -745,7 +746,7 @@ local function parsedglog(line) local ignoreme=false --check for ignored records first - for thisline in io.lines("/etc/weblog/ignorewords") do + for thisline in io.lines(ignorewordslist) do if not thisline then break end @@ -757,7 +758,7 @@ local function parsedglog(line) end if ignoreme ~= true then - for thisline in io.lines("/etc/weblog/badwords") do + for thisline in io.lines(badwordslist) do if not thisline then -- logme("This line is apparently empty...") break @@ -786,7 +787,7 @@ local function parsedglog(line) isbypass=1 end end - for goodline in io.lines("/etc/weblog/goodwords") do + for goodline in io.lines(goodwordslist) do if not goodline then -- logme("This line is apparently empty...") break @@ -846,7 +847,7 @@ local function parsedumplog(line) isbad=0 isdenied=0 isbypass=0 - for thisline in io.lines("/etc/weblog/badwords") do + for thisline in io.lines(badwordslist) do if not thisline then logme("This line is apparently empty...") break @@ -872,7 +873,7 @@ local function parsedumplog(line) isbypass=1 end end - for goodline in io.lines("/etc/weblog/goodwords") do + for goodline in io.lines(goodwordslist) do if not goodline then -- logme("This line is apparently empty...") break @@ -1798,40 +1799,21 @@ function create_database(database) return database end + function listfiles() local retval = cfe({ type="list", value={}, label="Weblog Files" }) - if not fs.is_dir(baseurl) then fs.create_directory(baseurl) end - for file in posix.files(baseurl) do - file = baseurl..file - if fs.is_file(file) then - table.insert(retval.value, file) - end - end - table.sort(retval.value) + for i,file in ipairs(files) do + local details = fs.stat(file) or {} + details.filename = file + retval.value[#retval.value + 1] = details + end return retval end -function getnewfile() - local filename = cfe({ label="File Name", descr="Must be in "..baseurl }) - return cfe({ type="group", value={filename=filename}, label="Weblog File" }) -end + function readfile(filename) - return modelfunctions.getfiledetails(filename, listfiles().value) + return modelfunctions.getfiledetails(filename, files) end function updatefile(filedetails) - return modelfunctions.setfiledetails(filedetails, listfiles().value) -end - -function deletefile(filename) - local retval = cfe({ label="Delete Weblog File result", errtxt = "Failed to delete Weblog File - invalid filename" }) - for i,file in ipairs(listfiles().value) do - if filename == file then - retval.value = "Deleted File" - retval.errtxt = nil - os.remove(filename) - break - end - end - - return retval + return modelfunctions.setfiledetails(filedetails, files) end diff --git a/weblog.roles b/weblog.roles index 043506b..5bd6f0a 100644 --- a/weblog.roles +++ b/weblog.roles @@ -1,3 +1,3 @@ USER=weblog:viewauditstats,weblog:completeaudit,weblog:viewactivitylog,weblog:viewwatchlist,weblog:viewweblog,weblog:downloadweblog,weblog:viewblocklog,weblog:viewusagestats,weblog:deletewatchlistentry,weblog:createwatchlistentry,weblog:adhocquery,weblog:downloadadhocquery -EXPERT=weblog:config,weblog:viewweblog,weblog:listsources,weblog:createsource,weblog:deletesource,weblog:editsource,weblog:testsource,weblog:importlogs,weblog:status,weblog:createdatabase,weblog:listfile,weblog:editfile +EXPERT=weblog:config,weblog:viewweblog,weblog:listsources,weblog:createsource,weblog:deletesource,weblog:editsource,weblog:testsource,weblog:importlogs,weblog:status,weblog:createdatabase,weblog:listfiles,weblog:editfile ADMIN=weblog:config,weblog:viewauditstats,weblog:completeaudit,weblog:viewactivitylog,weblog:viewwatchlist,weblog:viewweblog,weblog:viewselected,weblog:downloadweblog,weblog:downloadlogview,weblog:downloadselected,weblog:checkselected,weblog:editselected,weblog:clearselected,weblog:viewblocklog,weblog:viewusagestats,weblog:listsources,weblog:createsource,weblog:deletesource,weblog:editsource,weblog:testsource,weblog:importlogs,weblog:deletewatchlistentry,weblog:createwatchlistentry,weblog:adhocquery,weblog:downloadadhocquery,weblog:status,weblog:createdatabase,weblog:listfiles,weblog:editfile -- cgit v1.2.3