From 91c38127621ee7587c058af50178eddf26ee700c Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 29 Sep 2011 12:10:42 +0000 Subject: [PATCH] Changed dovecot quota file location to /var/vmail/domain.tld/user/.quotausage --- install/tpl/debian6_dovecot.conf.master | 2 +- server/lib/classes/monitor_tools.inc.php | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/install/tpl/debian6_dovecot.conf.master b/install/tpl/debian6_dovecot.conf.master index 2ce0db34e..d9088d86a 100644 --- a/install/tpl/debian6_dovecot.conf.master +++ b/install/tpl/debian6_dovecot.conf.master @@ -48,7 +48,7 @@ protocol lda { ## 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 4e82e0ad3..0f0a172f1 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -164,8 +164,25 @@ class monitor_tools { //* 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 @@ class monitor_tools { } closedir($dir); } + */ $res['server_id'] = $server_id; $res['type'] = $type; $res['data'] = $data; -- GitLab