<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.13 $ -->
<!-- splitted from ./en/functions/imap.xml, last change in rev 1.2 -->
  <refentry id="function.imap-get-quota">
   <refnamediv>
    <refname>imap_get_quota</refname>
    <refpurpose>
     Retrieve the quota level settings, and usage statics per mailbox
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>array</type><methodname>imap_get_quota</methodname>
      <methodparam><type>resource</type><parameter>imap_stream</parameter></methodparam>
      <methodparam><type>string</type><parameter>quota_root</parameter></methodparam>
     </methodsynopsis>
    <para>
     Returns an array with integer values limit and usage for the given 
     mailbox.  The value of limit represents the total amount of space
     allowed for this mailbox.  The usage value represents the mailboxes
     current level of capacity.  Will return &false; in the case of failure.
    </para>
    <para>
     This function is currently only available to users of the c-client2000
     or greater library.
    </para>
    <para>
     NOTE: For this function to work, the mail stream is required to be opened
     as the mail-admin user.  For a non-admin user version of this function, 
     please see the <function>imap_get_quotaroot</function> function of PHP.
    </para>
    <para>
     <parameter>imap_stream</parameter> should be the value returned from
     an <function>imap_open</function> call.  NOTE: This stream is required 
     to be opened as the mail admin user for the get_quota function to work.
     <parameter>quota_root</parameter> should normally be in the form of
     user.name where name is the mailbox you wish to retrieve information
     about.
    </para>
    <para>
     <example>
      <title><function>imap_get_quota</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php
$mbox = imap_open("{your.imap.host}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());
 
$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
} 
 
imap_close($mbox); 
?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     As of PHP 4.3, the function more properly reflects the
     functionality as dictated by the RFC 2087.  The array return value has
     changed to support an unlimited number of returned resources (i.e.
     messages, or sub-folders) with each named resource receiving an individual
     array key.  Each key value then contains an another array with the usage
     and limit values within it.  The example below shows the updated returned
     output.
    </para>
    <para>
     For backwards compatibility reasons, the original access methods are 
     still available for use, although it is suggested to update.
    </para>
    <para>
     <example>
      <title><function>imap_get_quota</function> 4.3 or greater
      example</title>
      <programlisting role="php"> 
<![CDATA[
<?php
$mbox = imap_open("{your.imap.host}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());
       
$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE']; 
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */ 
} 

imap_close($mbox); 
?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     See also <function>imap_open</function>, 
     <function>imap_set_quota</function> and
     <function>imap_get_quotaroot</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->