summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tcpproxy-controller.lua4
-rw-r--r--tcpproxy-listsmtpentries-html.lsp2
-rw-r--r--tcpproxy-listsmtpfiles-html.lsp2
-rw-r--r--tcpproxy-model.lua29
-rw-r--r--tcpproxy-smtpstatus-html.lsp5
5 files changed, 30 insertions, 12 deletions
diff --git a/tcpproxy-controller.lua b/tcpproxy-controller.lua
index 97cbaac..3809a10 100644
--- a/tcpproxy-controller.lua
+++ b/tcpproxy-controller.lua
@@ -27,7 +27,7 @@ function editsmtpentry(self)
end
function delsmtpentry(self)
- return self:redirect_to_referrer(self.model.delsmtpentry(self.clientdata.ipaddr))
+ return self.handle_form(self, self.model.getdelsmtpentry, self.model.delsmtpentry, self.clientdata, "Delete", "Delete SMTP Proxy Entry", "SMTP Proxy Entry Deleted" )
end
function listsmtpfiles(self)
@@ -43,5 +43,5 @@ function editsmtpfile(self)
end
function delsmtpfile(self)
- return self:redirect_to_referrer(self.model.delsmtpfile(self.clientdata.filename))
+ return self.handle_form(self, self.model.getdelsmtpfile, self.model.delsmtpfile, self.clientdata, "Delete", "Delete SMTP Proxy File", "SMTP Proxy File Deleted" )
end
diff --git a/tcpproxy-listsmtpentries-html.lsp b/tcpproxy-listsmtpentries-html.lsp
index 60f3532..11155c9 100644
--- a/tcpproxy-listsmtpentries-html.lsp
+++ b/tcpproxy-listsmtpentries-html.lsp
@@ -20,7 +20,7 @@ require("htmlviewfunctions")
<%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editsmtpentry?ipaddr="..(interface.ipaddr or interface.interface).."&redir="..page_info.orig_action, label="Edit "} %>
<% end %>
<% if viewlibrary.check_permission("delsmtpentry") then %>
- <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpentry?ipaddr="..(interface.ipaddr or interface.interface), label="Delete "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpentry?submit=true&ipaddr="..(interface.ipaddr or interface.interface), label="Delete "} %>
<% end %>
</TD>
<TD style="padding-right:20px;white-space:nowrap;"><%= html.html_escape(interface.interface) %></TD>
diff --git a/tcpproxy-listsmtpfiles-html.lsp b/tcpproxy-listsmtpfiles-html.lsp
index 3760a66..da3818b 100644
--- a/tcpproxy-listsmtpfiles-html.lsp
+++ b/tcpproxy-listsmtpfiles-html.lsp
@@ -19,7 +19,7 @@ require("htmlviewfunctions")
<%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editsmtpfile?filename="..file.."&redir="..page_info.orig_action, label="Edit "} %>
<% end %>
<% if viewlibrary.check_permission("delsmtpfile") then %>
- <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpfile?filename="..file, label="Delete "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpfile?submit=true&filename="..file, label="Delete "} %>
<% end %>
</TD>
<TD style="white-space:nowrap;"><%= html.html_escape(file) %></TD>
diff --git a/tcpproxy-model.lua b/tcpproxy-model.lua
index 75d5c7b..712f174 100644
--- a/tcpproxy-model.lua
+++ b/tcpproxy-model.lua
@@ -6,6 +6,7 @@ validator = require("acf.validator")
fs = require("acf.fs")
require("posix")
format = require("acf.format")
+processinfo = require("acf.processinfo")
-- Set variables
local configfile = "/etc/tcpproxy.conf"
@@ -332,9 +333,16 @@ function updatesmtpentry(self, entry)
return entry
end
-function delsmtpentry(ipaddr)
- setsmtpcmd(ipaddr, nil)
- return cfe({ value="Deleted SMTP Proxy Entry", label="Delete SMTP Entry result" })
+function getdelsmtpentry(self, clientdata)
+ local retval = {}
+ retval.ipaddr = cfe({ value=clientdata.ipaddr or "", label="IP Address" })
+ return cfe({ type="group", value=retval, label="Delete SMTP Proxy Entry" })
+end
+
+function delsmtpentry(self, delentry)
+ -- TODO - validate ipaddr
+ setsmtpcmd(delentry.value.ipaddr.value, nil)
+ return delentry
end
function listsmtpfiles()
@@ -384,14 +392,21 @@ function updatesmtpfile(self, filedetails)
return modelfunctions.setfiledetails(self, filedetails, function(filename) return validator.is_valid_filename(filename, smtpdirectory) end)
end
-function delsmtpfile(filename)
- local retval = cfe({ value="Deleted SMTP Proxy File", label="Delete SMTP File result" })
+function getdelsmtpfile(self, clientdata)
+ local retval = {}
+ retval.filename = cfe({ value=clientdata.filename or "", label="File Name" })
+ return cfe({ type="group", value=retval, label="Delete SMTP Proxy File" })
+end
+
+function delsmtpfile(self, delfile)
+ local filename = delfile.value.filename.value
if validator.is_valid_filename(filename, smtpdirectory) and fs.is_file(filename) then
os.remove(filename)
else
- retval.value = "Failed to delete SMTP Proxy File - invalid filename"
+ delfile.errtxt = "Failed to delete SMTP Proxy File"
+ delfile.value.filename.errtxt = "Invalid filename"
end
- return retval
+ return delfile
end
diff --git a/tcpproxy-smtpstatus-html.lsp b/tcpproxy-smtpstatus-html.lsp
index da66729..b0e4060 100644
--- a/tcpproxy-smtpstatus-html.lsp
+++ b/tcpproxy-smtpstatus-html.lsp
@@ -10,7 +10,10 @@ require("htmlviewfunctions")
<% htmlviewfunctions.displayitem(view.value.version)
if view.value.version and view.value.version.errtxt and viewlibrary.check_permission("apk-tools/apk/install") then
%>
- <a href="<%= html.html_escape(page_info.script .. "/apk-tools/apk/install?submit=true&package="..view.value.version.name) %>">Install</a>
+ <DT>Install package</DT>
+ <DD><form action="<%= html.html_escape(page_info.script .. "/apk-tools/apk/install") %>" method="POST">
+ <input type='hidden' name='package' value='<%= html.html_escape(view.value.version.name) %>'>
+ <input class='submit' type='submit' name='submit' value='Install'></form></DD>
<% end %>
</DL>