summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2010-02-25 16:17:29 +0000
committerTed Trask <ttrask01@yahoo.com>2010-02-25 16:17:29 +0000
commite4240540c9bfd3670842dfb808716775dcaab696 (patch)
tree4eca7e16450dd9f3964cea8f298e697e64957508
parent33c4dc5d4da89a1eb55bbfb606a0ed59aaa6a193 (diff)
downloadacf-postfix-e4240540c9bfd3670842dfb808716775dcaab696.tar.bz2
acf-postfix-e4240540c9bfd3670842dfb808716775dcaab696.tar.xz
Added listqueue and flushqueue functions.
-rw-r--r--postfix-controller.lua8
-rw-r--r--postfix-listfiles-html.lsp3
-rw-r--r--postfix-model.lua15
-rw-r--r--postfix.menu1
-rw-r--r--postfix.roles4
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