diff options
-rw-r--r-- | opennhrp-controller.lua | 11 | ||||
-rw-r--r-- | opennhrp-logfile-html.lsp | 78 | ||||
-rw-r--r-- | opennhrp-model.lua | 22 | ||||
-rw-r--r-- | opennhrp.menu | 1 |
4 files changed, 112 insertions, 0 deletions
diff --git a/opennhrp-controller.lua b/opennhrp-controller.lua index f59ac0a..ac216e7 100644 --- a/opennhrp-controller.lua +++ b/opennhrp-controller.lua @@ -107,3 +107,14 @@ expert = function (self) cmdmanagement = cmdmanagement, url = url, } ) end +logfile = function (self) + + local status=self.model.getstatus() + local logfile = self.model:get_logfile() + + return ({ + status = status, + logfile = logfile, + url = url, + }) +end diff --git a/opennhrp-logfile-html.lsp b/opennhrp-logfile-html.lsp new file mode 100644 index 0000000..6f8f8f7 --- /dev/null +++ b/opennhrp-logfile-html.lsp @@ -0,0 +1,78 @@ +<? local form = ... ?> + +<? +--[[ 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>") +--]] +?> +<? +function displayinfo(myform,tags,viewtype) + for k,v in pairs(tags) do + if (myform[v]) and (myform[v]["value"]) then + local val = myform[v] + io.write("\n\t<DT") + if (#val.errtxt > 0) then + val.class = "error" + io.write(" class='error'") + end + io.write(">" .. val.label .. "</DT>") + io.write("\n\t\t<DD>") + if (viewtype == "viewonly") then + io.write(val.value) + elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then + io.write("<span style='display:inline' class='" .. ( val.class or "") .. "'>") + for k1,v1 in pairs(val.option) do + io.write(tostring(v1.label) .. ":") + io.write("<input style='margin-right:20px;margin-left:5px;' type='radio' class='" .. ( val.class or "") .. "' name='" .. val.name .. "'") + if (tostring(val.value) == tostring(v1.value)) then io.write(" checked='yes'") end + io.write(" value='" .. v1.value .. "'>") + end + io.write("</input></span>") + else + io.write(html.form[val.type](val)) + end + if (val.descr) and (#val.descr > 0) then io.write("\n\t\t<P CLASS='descr'>" .. string.gsub(val.descr, "\n", "<BR>") .. "</P>") end + if (#val.errtxt > 0) then io.write("\n\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>") end + io.write("\n\t\t</DD>\n") + end + end +end +?> + +<H1>SYSTEM INFO</H1> +<DL> +<? +local myform = form.status +local tags = { "status", "version", "autostart", } +displayinfo(myform,tags,"viewonly") +?> +</DL> + + +<? local myform = form.logfile ?> +<form name="myform" action="" method="POST"> +<h1>LOGFILE</h1> +<h2>Details</h2> +<DL> +<? +local tags = { "filename", "filesize", "mtime", "sumerrors", } +displayinfo(myform,tags,"viewonly") +?> +</DL> + +<H3>FILE CONTENT</H3> +<? +io.write(html.form[myform.filecontent.type](myform.filecontent)) +?> + +</form> + +<? +--[[ 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>") +--]] +?> diff --git a/opennhrp-model.lua b/opennhrp-model.lua index ae5531e..6b3b0ae 100644 --- a/opennhrp-model.lua +++ b/opennhrp-model.lua @@ -185,3 +185,25 @@ function update_filecontent (self, modifications) local file_result,err = fs.write_file(path, format.dostounix(modifications)) return file_result end +function get_logfile () + local file = {} + local cmdtxt = "cat /var/log/messages | grep " .. processname + local cmd, error = io.popen(cmdtxt ,r) + local cmdoutput = cmd:read("*a") + cmd:close() + + file["filename"] = cfe({ + name="filename", + label="File name", + value=cmdtxt, + }) + + file["filecontent"] = cfe({ + type="longtext", + name="filecontent", + label="File content", + value=cmdoutput, + }) + + return file +end diff --git a/opennhrp.menu b/opennhrp.menu index c836a24..cf458c4 100644 --- a/opennhrp.menu +++ b/opennhrp.menu @@ -1,4 +1,5 @@ #CAT GROUP/DESC TAB ACTION Networking 45NHRP Status status Networking 45NHRP Expert expert +Networking 45NHRP Logfile logfile |