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