[imp] imp quota
Jf
jean-francois.senechal at marche.be
Thu May 6 02:42:16 PDT 2004
Hello,
I try to configure the function imp_show_quota, but nothing is show.
I have postfix
What is missing ?
My configuration:
$conf['hooks']['quota'] = 'imp_show_quota';
/* Gets the quota usage from the imap server. $imap_admin &
* $imap_passwd must be set to fit your own settings. This works
* with the Cyrus imap server and the Courier imap server > 1.3.12.
* Note the necessary changes for the Courier server in the comments.
*/
if (!function_exists('imp_show_quota')) {
function imp_show_quota ($imp) {
$quota_html = '';
//$imap_admin = 'admin';
//$imap_passwd = 'password';
// Use the following two lines instead for Courier.
$imap_admin = $imp['user'];
$imap_passwd = Secret::read(Secret::getKey('imp'), $imp['pass']);
$stream = @imap_open(IMP::serverString(), $imap_admin,
$imap_passwd, OP_HALFOPEN);
$quota = @imap_get_quota($stream, 'user.' . $imp['user']);
// Use the following line instead for Courier.
$quota = @imap_get_quota($stream, 'ROOT');
imap_close($stream);
if (is_array($quota) && $quota['limit'] != 0) {
$taken = $quota['usage'] / 1024.0;
$total = $quota['limit'] / 1024.0;
$percent = $taken * 100 / $total;
if ($percent >= 90) {
$class = 'quotaalert';
} elseif ($percent >= 75) {
$class = 'quotawarn';
} else {
$class = 'control';
}
$quota_html = '<table width="100%" border="0"
cellpadding="0" cellspacing="0"><tr><td class="item">'
. '<table border="0" cellspacing="2"
cellpadding="2" width="100%"><tr><td align="cente
. sprintf("%.2fMB / %.2fMB (%.2f%%)",
$taken, $total, $percent)
. '</td></tr></table></td></tr></table>';
}
return $quota_html;
}
}
More information about the imp
mailing list