From 58023ffd5ffbacac99776debf72aff6f49378200 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Sun, 18 May 2014 15:30:44 -0400
Subject: [PATCH] use doveadm instead of 'du -s' for email-quota
---
server/lib/classes/cron.d/100-monitor_email_quota.inc.php | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/server/lib/classes/cron.d/100-monitor_email_quota.inc.php b/server/lib/classes/cron.d/100-monitor_email_quota.inc.php
index 62e97b4..d6d5564 100644
--- a/server/lib/classes/cron.d/100-monitor_email_quota.inc.php
+++ b/server/lib/classes/cron.d/100-monitor_email_quota.inc.php
@@ -77,10 +77,20 @@
$mailboxes = $app->db->queryAllRecords("SELECT email,maildir FROM mail_user WHERE server_id = $server_id");
if(is_array($mailboxes)) {
+
+ //* with dovecot we can use doveadm instead of 'du -s'
+ $dovecot = false;
+ if (isset($mail_config['pop3_imap_daemon']) && $mail_config ['pop3_imap_daemon'] = 'dovecot' && is_executable('doveadm')) {
+ $dovecot = true;
+ }
+
foreach($mailboxes as $mb) {
$email = $mb['email'];
$email_parts = explode('@', $mb['email']);
$filename = $mb['maildir'].'/.quotausage';
+ if(!file_exists($filename) && $dovecot) {
+ exec('doveadm quota recalc -u '.$email);
+ }
if(file_exists($filename) && !is_link($filename)) {
$quotafile = file($filename);
preg_match('/storage.*?([0-9]+)/s', implode('',$quotafile), $storage_value);
--
Gitblit v1.9.1