diff options
-rw-r--r-- | postfix-controller.lua | 8 | ||||
-rw-r--r-- | postfix-listfiles-html.lsp | 3 | ||||
-rw-r--r-- | postfix-model.lua | 15 | ||||
-rw-r--r-- | postfix.menu | 1 | ||||
-rw-r--r-- | postfix.roles | 4 |
5 files changed, 27 insertions, 4 deletions
diff --git a/postfix-controller.lua b/postfix-controller.lua index 4ea0f76..cce6733 100644 --- a/postfix-controller.lua +++ b/postfix-controller.lua @@ -36,3 +36,11 @@ end function rebuilddatabases(self) return self:redirect_to_referrer(self.model.rebuild_databases()) end + +function listqueue(self) + return self.model.getmailqueue() +end + +function flushqueue(self) + return self:redirect_to_referrer(self.model.flushqueue()) +end diff --git a/postfix-listfiles-html.lsp b/postfix-listfiles-html.lsp index 782b7bc..3d17cba 100644 --- a/postfix-listfiles-html.lsp +++ b/postfix-listfiles-html.lsp @@ -10,7 +10,7 @@ require("viewfunctions") end %> <h1><%= html.html_escape(data.label) %></h1> - +<DL> <TABLE> <TR style="background:#eee;font-weight:bold;"> <TD style="padding-right:20px;white-space:nowrap;text-align:left;" class="header">Action</TD> @@ -32,7 +32,6 @@ end %> </TR> <% end %> </TABLE> -<DL> <form action="<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/rebuilddatabases") %>"> <DT>Rebuild Databases</DT> <DD><input class="submit" type="submit" value="Rebuild"></DD> diff --git a/postfix-model.lua b/postfix-model.lua index b37feb4..344e378 100644 --- a/postfix-model.lua +++ b/postfix-model.lua @@ -151,3 +151,18 @@ function rebuild_databases() result.value = table.concat(result.value, "\n") return result end + +function getmailqueue() + local f = io.popen(path.."mailq") + local result = f:read("*a") + f:close() + return cfe({ type="longtext", value=result, label="Postfix Mail Queue" }) +end + +function flushqueue() + local f = io.popen(path.."postqueue -f") + local result = f:read("*a") + f:close() + if not result or result == "" then result = "Queue Flushed" end + return cfe({ type="longtext", value=result, label="Postfix Flush Queue Result" }) +end diff --git a/postfix.menu b/postfix.menu index 48970df..f1b385d 100644 --- a/postfix.menu +++ b/postfix.menu @@ -1,4 +1,5 @@ #CAT GROUP/DESC TAB ACTION Applications 60Postfix Status status +Applications 60Postfix Queue listqueue Applications 60Postfix Expert listfiles Applications 60Postfix Logfile logfile diff --git a/postfix.roles b/postfix.roles index ff338dc..01e3e19 100644 --- a/postfix.roles +++ b/postfix.roles @@ -1,3 +1,3 @@ -USER=postfix:status,postfix:logfile,postfix:details,postfix:startstop +USER=postfix:status,postfix:logfile,postfix:details,postfix:startstop,postfix:listqueue,postfix:flushqueue EXPERT=postfix:listfiles,postfix:createfile,postfix:deletefile,postfix:rebuilddatabases,postfix:expert -ADMIN=postfix:status,postfix:logfile,postfix:details,postfix:startstop,postfix:listfiles,postfix:createfile,postfix:deletefile,postfix:rebuilddatabases,postfix:expert +ADMIN=postfix:status,postfix:logfile,postfix:details,postfix:startstop,postfix:listqueue,postfix:flushqueue,postfix:listfiles,postfix:createfile,postfix:deletefile,postfix:rebuilddatabases,postfix:expert |