From 876b15dcceeaf5d3f5b2881c8155fcf247cac316 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 28 Aug 2008 14:04:19 -0400
Subject: [PATCH] - Added option 'quota_zero_as_unlimited' (#1484604)
---
CHANGELOG | 4 ++++
program/steps/mail/func.inc | 4 ++--
program/lib/imap.inc | 11 ++++-------
config/main.inc.php.dist | 3 +++
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 69254a6..6a400dc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
+2008/08/28 (alec)
+----------
+- Added option 'quota_zero_as_unlimited' (#1484604)
+
2008/08/28 (robin)
----------
- Added folder hierarchy collapsing
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index f79232a..eb78f12 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -175,6 +175,9 @@
// protect the default folders from renames, deletes, and subscription changes
$rcmail_config['protect_default_folders'] = TRUE;
+// if in your system 0 quota means no limit set this option to TRUE
+$rcmail_config['quota_zero_as_unlimited'] = FALSE;
+
// Set TRUE if deleted messages should not be displayed
// This will make the application run slower
$rcmail_config['skip_deleted'] = FALSE;
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index c10c901..7f23156 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -63,6 +63,7 @@
- added iil_PutLine() wrapper for fputs()
- code cleanup and identation fixes
- removed flush() calls in iil_C_HandlePartBody() to prevent from memory leak (#1485187)
+ - don't return "??" from iil_C_GetQuota()
********************************************************/
@@ -2621,13 +2622,9 @@
$parts = explode(' ', $quota_line);
$storage_part = array_search('STORAGE', $parts);
if ($storage_part > 0) {
- $result = array();
- $used = $parts[$storage_part+1];
- $total = $parts[$storage_part+2];
-
- $result['used'] = $used;
- $result['total'] = (empty($total)?"??":$total);
- $result['percent'] = (empty($total)?"??":round(($used/$total)*100));
+ $result['used'] = intval($parts[$storage_part+1]);
+ $result['total'] = intval($parts[$storage_part+2]);
+ $result['percent'] = min(100, round(($result['used']/max(1,$result['total']))*100));
$result['free'] = 100 - $result['percent'];
}
}
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index b1f359f..7607ccc 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -457,7 +457,7 @@
*/
function rcmail_quota_content($quota=NULL)
{
- global $IMAP, $COMM_PATH;
+ global $IMAP, $COMM_PATH, $RCMAIL;
$display = isset($_SESSION['quota_display']) ? $_SESSION['quota_display'] : '';
@@ -471,7 +471,7 @@
else
$quota = $IMAP->get_quota();
- if ($quota)
+ if ($quota && !($quota['total']==0 && $RCMAIL->config->get('quota_zero_as_unlimited')))
{
$quota_text = sprintf('%s / %s (%.0f%%)',
show_bytes($quota['used'] * 1024),
--
Gitblit v1.9.1