Show users quota on mailbox view! How?

Leandro Melo redd@monet.cefet-al.br
Wed, 13 Mar 2002 18:16:13 -0300 (EST)


Hi.. How can I configure IMP to show user quota on mailbox view?
After configure the conf.php file and open mailbox.php on the browser, the 
following error appear:

Warning: Supplied argument is not a valid imap resource 
in /home/httpd/html/horde/imp/config/conf.php on line 341

The 341 line is:         imap_close($stream);
  
What do I have to do? Thanks...
 
the part of my conf.php file is:

$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) {
         $imap_admin = 'myuser';
         $imap_passwd = 'mypassword';
         // 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 (!empty($quota)) {
             $taken   = $quota['usage'] / 1024.0;
             $total   = $quota['limit'] / 1024.0;
             $percent = $taken * 100 / $total;

             echo '<table width="100%" border="0" cellpadding="0" 
cellspacing="0"><tr><td class="item"><table b
order="0" cellspacing="2" cellpadding="2" width="100%"><tr><td align="center" 
class="control">';
             echo sprintf("%.2fMB / %.2fMB  (%.2f%%)", $taken, $total, 
$percent);
             echo '</td></tr></table></td></tr></table>';
         }
     }
 }

Leandro Melo
CEFET/AL
Adm. de Redes - GTI