[horde] how I can cyrus userquota display in horde ??

Crash Bandicot crash.bandicot at slushynet.de
Thu Aug 14 09:02:03 PDT 2003


Hello,

I have Mailserver under cyrus and postfix running, its works very well. I have 
also created user quotas on cyrus and I will show this quota for the users in 
horde. I find in horde/imp/config/conf.php the 'imp_show_quota' function.
I activate it (see below), but it doesn't worked. Can somebody send a short 
description to activate the quota display in horde

--config from imp/conf.php--
// If this is set to a function name, that function will be used
// to show the user's quota usage on the mailbox page.
// See the 'imp_show_quota' function below for an example.
$conf['hooks']['quota'] = 'true';

/* 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 = 'quota_html';
         $imap_admin = 'cyrus';
         $imap_passwd = 'tloc!0';
         // 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="center" class="' . $class . '">'
                           . sprintf("%.2fMB / %.2fMB  (%.2f%%)", $taken, 
$total, $percent)
                           . '</td></tr></table></td></tr></table>';
         }
         return $quota_html;
     }
 }
---end of imp/conf.php---

Heiko

-- 
         _\|/_
         (@ @)
-----oOOo-(_)-oOOo-----
  Crash
        Bandicot



More information about the horde mailing list