note 80251 modified in function.imap-getmailboxes by danbrown

From: Date: Wed, 20 May 2009 14:07:16 +0000
Subject: note 80251 modified in function.imap-getmailboxes by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-155793@lists.php.net to get a copy of this message
i think it will save someones time to get mailbox list and their attributes within a formatted array <?php /********** Function ******************/ function getAttributesFlagArray($p_attributes){ $attrs[LATT_HASNOCHILDREN]='false'; $attrs[LATT_HASCHILDREN]='false'; $attrs[LATT_REFERRAL]='false'; $attrs[LATT_UNMARKED]='false'; $attrs[LATT_MARKED]='false'; $attrs[LATT_NOSELECT]='false'; $attrs[LATT_NOINFERIORS]='false'; $attrsX=$attrs; foreach($attrs as $attrkey=>$attrval){ if ($p_attributes & $attrkey){ $attrsX[$attrkey]='true'; $p_attributes-=$attrkey; } } return $attrsX; } /*********** Usages *****************/ $mboxconnstr='{imap.gmail.com:993/imap/ssl}'; // $mboxconnstr='{mail.bdways.com:143/imap/novalidate-cert}'; $mbox = imap_open($mboxconnstr, $username, $password, OP_HALFOPEN) or die("can't connect: " . imap_last_error()); echo "<h1>Mailboxes</h1>\n"; $folders = imap_getmailboxes($mbox, $mboxconnstr, "*"); if(is_array($folders)){ foreach($folders as $fkey=>$folder){ $mapname = str_replace($mboxconnstr, "", imap_utf7_decode($folder->name)); if($mapname[0] != ".") { //$attrs[LATT_]=': NO'; $list_folders[$fkey]['name'] = $folder->name; $list_folders[$fkey]['nameX'] = $mapname; $list_folders[$fkey]['delimiter'] = $folder->delimiter; $list_folders[$fkey]['attributes'] = $folder->attributes; $list_folders[$fkey]['attr_values'] = getAttributesFlagArray($folder->attributes); } } }else echo "Call failed<br />\n"; echo('<pre>'); print_r($list_folders); echo('</pre>'); ?> thanks to Mohamed Abbas mabbas_xyz at yahoo dot com for his attributes findings using imap... --was-- i think it will save someones time to get mailbox list and their attributes within a formatted array /********** Function ******************/ function getAttributesFlagArray($p_attributes){ $attrs[LATT_HASNOCHILDREN]='false'; $attrs[LATT_HASCHILDREN]='false'; $attrs[LATT_REFERRAL]='false'; $attrs[LATT_UNMARKED]='false'; $attrs[LATT_MARKED]='false'; $attrs[LATT_NOSELECT]='false'; $attrs[LATT_NOINFERIORS]='false'; $attrsX=$attrs; foreach($attrs as $attrkey=>$attrval){ if ($p_attributes & $attrkey){ $attrsX[$attrkey]='true'; $p_attributes-=$attrkey; } } return $attrsX; } /*********** Usages *****************/ $mboxconnstr='{imap.gmail.com:993/imap/ssl}'; // $mboxconnstr='{mail.bdways.com:143/imap/novalidate-cert}'; $mbox = imap_open($mboxconnstr, $username, $password, OP_HALFOPEN) or die("can't connect: " . imap_last_error()); echo "<h1>Mailboxes</h1>\n"; $folders = imap_getmailboxes($mbox, $mboxconnstr, "*"); if(is_array($folders)){ foreach($folders as $fkey=>$folder){ $mapname = str_replace($mboxconnstr, "", imap_utf7_decode($folder->name)); if($mapname[0] != ".") { //$attrs[LATT_]=': NO'; $list_folders[$fkey]['name'] = $folder->name; $list_folders[$fkey]['nameX'] = $mapname; $list_folders[$fkey]['delimiter'] = $folder->delimiter; $list_folders[$fkey]['attributes'] = $folder->attributes; $list_folders[$fkey]['attr_values'] = getAttributesFlagArray($folder->attributes); } } }else echo "Call failed<br />\n"; echo('<pre>'); print_r($list_folders); echo('</pre>'); thanks to Mohamed Abbas mabbas_xyz at yahoo dot com for his attributes findings using imap... http://php.net/manual/en/function.imap-getmailboxes.php

« previous php.notes (#155793) next »