File: imap-getmailboxes.xml

package info (click to toggle)
php-doc 20081024-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 57,752 kB
  • ctags: 3,858
  • sloc: xml: 686,554; php: 19,446; perl: 610; cpp: 500; makefile: 336; sh: 114; awk: 28
file content (156 lines) | stat: -rw-r--r-- 4,979 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.14 $ -->
<refentry xml:id="function.imap-getmailboxes" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>imap_getmailboxes</refname>
  <refpurpose>Read the list of mailboxes, returning detailed information on each one</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>array</type><methodname>imap_getmailboxes</methodname>
   <methodparam><type>resource</type><parameter>imap_stream</parameter></methodparam>
   <methodparam><type>string</type><parameter>ref</parameter></methodparam>
   <methodparam><type>string</type><parameter>pattern</parameter></methodparam>
  </methodsynopsis>
  <para>
   Gets information on the mailboxes.
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    &imap.imap-stream.description;
    <varlistentry>
     <term><parameter>ref</parameter></term>
     <listitem>
      <para>
       <parameter>ref</parameter> should normally be just the server
       specification as described in <function>imap_open</function>
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>pattern</parameter></term>
     <listitem>
      <para>
       Specifies where in the mailbox hierarchy to start searching.
      </para>
      <para>
       There are two special characters you can pass as part of the
       <parameter>pattern</parameter>: '*' and '%'. '*' means to return
       all mailboxes. If you pass <parameter>pattern</parameter> as '*',
       you will get a list of the entire mailbox hierarchy. '%' means to
       return the current level only. '%' as the
       <parameter>pattern</parameter> parameter will return only the top
       level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox
       in the ~/mail directory, but none in subfolders of that
       directory.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns an array of objects containing mailbox information. Each
   object has the attributes <parameter>name</parameter>, specifying
   the full name of the mailbox; <parameter>delimiter</parameter>,
   which is the hierarchy delimiter for the part of the hierarchy
   this mailbox is in; and
   <parameter>attributes</parameter>. <parameter>Attributes</parameter>
   is a bitmask that can be tested against:
   <itemizedlist>
    <listitem>
     <para>
      <constant>LATT_NOINFERIORS</constant> - This mailbox contains, and may not contain any
      "children" (there are no mailboxes below this one). Calling 
      <function>imap_createmailbox</function> will not work on this mailbox.
     </para>
    </listitem>
   <listitem>
     <para>
      <constant>LATT_NOSELECT</constant> - This is only a container,
      not a mailbox - you cannot open it.
     </para>
    </listitem>
    <listitem>
     <para>
      <constant>LATT_MARKED</constant> - This mailbox is marked. This means that it may 
      contain new messages since the last time it was checked. Not provided by all IMAP
      servers.
     </para>
    </listitem>
    <listitem>
     <para>
      <constant>LATT_UNMARKED</constant> - This mailbox is not marked, does not contain new
      messages.  If either MARKED or UNMARKED is provided, you can assume the IMAP server 
      supports this feature for this mailbox. 
     </para>
    </listitem>
   </itemizedlist>
  </para>
 </refsect1>
 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><function>imap_getmailboxes</function> example</title>
    <programlisting role="php">
<![CDATA[
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>
 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>imap_getsubscribed</function></member>
   </simplelist>
  </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
-->