From 91c38127621ee7587c058af50178eddf26ee700c Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 29 Sep 2011 08:10:42 -0400
Subject: [PATCH] Changed dovecot quota file location to /var/vmail/domain.tld/user/.quotausage
---
server/lib/classes/monitor_tools.inc.php | 18 ++++++++++++++++++
install/tpl/debian6_dovecot.conf.master | 2 +-
2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/install/tpl/debian6_dovecot.conf.master b/install/tpl/debian6_dovecot.conf.master
index 2ce0db3..d9088d8 100644
--- a/install/tpl/debian6_dovecot.conf.master
+++ b/install/tpl/debian6_dovecot.conf.master
@@ -48,7 +48,7 @@
## Plugin settings
plugin {
- quota = dict:user::file:/var/vmail/%n_%d_quota
+ quota = dict:user::file:/var/vmail/%d/%n/.quotausage
# Because the mail quota is called in the user query
# the maildir quota does not need to be set.
# You do not need: quota = maildir
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 4e82e0a..0f0a172 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -164,8 +164,25 @@
//* The state of the email_quota.
$state = 'ok';
+
+ $mailboxes = $app->db->queryAllRecords("SELECT email FROM mail_user WHERE server_id = $server_id");
+ if(is_array($mailboxes)) {
+ foreach($mailboxes as $mb) {
+ $email = $mb['email'];
+ $email_parts = explode('@',$mb['email']);
+ $filename = '/var/vmail/'.$email_parts[1].'/'.$email_parts[0].'/.quotausage';
+ if(file_exists($filename)) {
+ $quotafile = file($filename);
+ $data[$email]['used'] = trim($quotafile['1']);
+ unset($quotafile);
+ }
+ }
+ }
+
+ unset($mailboxes);
//* Dovecot quota check Courier in progress lathama@gmail.com
+ /*
if($dir = opendir("/var/vmail")){
while (($quotafiles = readdir($dir)) !== false){
if(preg_match('/.\_quota$/', $quotafiles)){
@@ -177,6 +194,7 @@
}
closedir($dir);
}
+ */
$res['server_id'] = $server_id;
$res['type'] = $type;
$res['data'] = $data;
--
Gitblit v1.9.1