[imp] Cyrus Quota's in IMP...

Paul M Fleming pfleming@siumed.edu
Tue Nov 19 18:37:57 2002


Not sure I'm running 3.1 which just requires the stuff below.. Someone
with a more recent version might know the answer... 

Chris Bowlby wrote:
> 
> On Tue, 19 Nov 2002, Paul M Fleming wrote:
> 
> Ok, with this in place do I need to disable the quota => (...) part? How
> do I get this hook in place so that imp will pick it up?
> 
> > Until PHP IMAP supports getquotaroot or fsock w/ ssl = Here is a
> > solution using raw sockets in clear text. The alternative is to login as
> > an admin in the quota function..
> >
> >
> > $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_user = $imp['user'];
> >          $imap_passwd = Secret::read(Secret::getKey('imp'),
> > $imp['pass']);
> >
> >         $fp = fsockopen($imp['server'],143,$errno,$sockerr,60);
> >         if( !$fp )
> >         {
> >                 return "";
> >         }
> >         $input = fgets($fp,55);
> >         $output = "1 login " . $imap_user . " " .  $imap_passwd . "\n";
> >         fputs($fp,$output);
> >         $input = fgets($fp,70);
> >         if (!(eregi("OK",$input)))
> >         {
> >                 return "";
> >         }
> >         $output = "1 GETQUOTAROOT INBOX\n";
> >         fputs($fp,$output);
> >         /* read QUOTAROOT INBOX user.xxxxx */
> >         $input = fgets($fp,128);
> >         $var4 = fgets($fp,128);
> >         $output = "1 logout" . "\n";
> >         fputs($fp,$output);
> >         $input = fgets($fp,30);
> >         fclose($fp);
> >         if (preg_match("/\(STORAGE (\d*)\s*(\d*)\)/",$var4,$val))
> >         {
> >                 # quota exist do calcs and display
> >                 $taken = $val[1] / 1024.0;
> >                 $total = $val[2] / 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 cla
> > ss="item">'
> >                            . '<table border="0" cellspacing="2"
> > cellpadding="2" width="100%"><tr><td alig
> > n="center" class="' . $class . '">'
> >                            . 'Quota: '
> >                            . sprintf("%.0fMB available (%.1f%% used)",
> > $total, $percent)
> >                            . '</td></tr></table></td></tr></table>';
> >                 return $quota_html;
> >         }
> >         else
> >         {
> >                 # no quota return
> >                 return "";
> >         }
> >
> >     }
> > }
> >
> >
> > Chris Bowlby wrote:
> > >
> > > Hi All,
> > >
> > >  I run several domains under a cyrus based IMAP/POP3 client with the HEAD
> > > version of imp/horde installed on our machines. We current are just using
> > > the standard cyrus server defined in servers.conf but the quota => (...)
> > > part of the configuration fails to return a quota to the web page. Is
> > > there a work around to get this going?
> > >
> > >  Chris Bowlby,
> > >  -----------------------------------------------------
> > >  Manager of Information and Technology.
> > >  excalibur@hub.org
> > >  www.hub.org
> > >  1-902-542-3657
> > >  -----------------------------------------------------
> > >
> > > --
> > > IMP mailing list
> > > Frequently Asked Questions: http://horde.org/faq/
> > > To unsubscribe, mail: imp-unsubscribe@lists.horde.org
> >
> 
>  Chris Bowlby,
>  -----------------------------------------------------
>  Manager of Information and Technology.
>  excalibur@hub.org
>  www.hub.org
>  1-902-542-3657
>  -----------------------------------------------------


More information about the imp mailing list