require './includes/session.php'; require './includes/imapConnection.php'; header("Content-Type: application/x-blueprint+xml"); header("Cache-Control: no-cache"); echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $mbox = getMbox(); $currentMbox = getCurrentFolder(); if (isset($_GET['mbox'])) { $currentMbox = $_GET['mbox']; } $folders = explode('.', $currentMbox); array_pop($folders); if (count($folders) > 0) { $back_folder = implode('.', $folders); } $mail_boxes = imap_getsubscribed($mbox, getServiceString(), '%'); if (empty($mail_boxes)) { $mail_boxes = array(); } $mbox_info = imap_status($mbox, getServiceString(), SA_ALL); $num_messages = 0 + $mbox_info->messages; $unread_messages = 0 + $mbox_info->unseen; ?> <page style="list"> <models> <model id="search-request"> <instance id="search-request"> <data> <query></query> <bkurl>folders.bp?srcp=messagelist&_ts=1253931025&.intl=us&.lang=en</bkurl>
function getFolderList($_subscribedOnly = false) { $folders = array(); if (!is_resource($this->mbox)) { return $folders; } $mailboxString = ExecMethod('emailadmin.bo.getMailboxString', $this->imapBaseDir, 3, $this->profileID); if ($_subscribedOnly == 'true') { $list = imap_getsubscribed($this->mbox, $mailboxString, "*"); } else { $list = imap_getmailboxes($this->mbox, $mailboxString, "*"); } if (is_array($list)) { #_debug_array($list); reset($list); $folders = array(); while (list($key, $val) = each($list)) { // remove the {host:port/imap/...} part $folderNameIMAP = $this->decodeFolderName(preg_replace("/{.*}/", '', $val->name)); $folderParts = explode(".", $folderNameIMAP); reset($folderParts); $displayName = ""; #print_r($folderParts);print"<br>"; for ($i = 0; $i < count($folderParts); $i++) { if ($i + 1 == count($folderParts)) { $displayName .= $folderParts[$i]; } else { $displayName .= ". . "; } } $folders["{$folderNameIMAP}"] = $displayName; } #exit; ksort($folders, SORT_STRING); // return always the inbox $folders = array_merge(array('INBOX' => 'INBOX'), $folders); reset($folders); return $folders; } else { if ($_subscribedOnly == 'true' && is_array(imap_list($this->mbox, $mailboxString, 'INBOX'))) { $folders['INBOX'] = 'INBOX'; } return $folders; } }
<?php echo "Checking with no parameters\n"; imap_getsubscribed(); echo "Checking with incorrect parameter type\n"; imap_getsubscribed(''); imap_getsubscribed(false); require_once dirname(__FILE__) . '/imap_include.inc'; $stream_id = imap_open($default_mailbox, $username, $password) or die("Cannot connect to mailbox {$default_mailbox}: " . imap_last_error()); imap_getsubscribed($stream_id); imap_getsubscribed($stream_id, $default_mailbox); var_dump(imap_getsubscribed($stream_id, $default_mailbox, 'ezDvfXvbvcxSerz')); echo "Checking OK\n"; $newbox = $default_mailbox . "." . $mailbox_prefix; imap_createmailbox($stream_id, $newbox); imap_subscribe($stream_id, $newbox); $z = imap_getsubscribed($stream_id, $default_mailbox, '*'); var_dump(is_array($z)); var_dump($z[0]); imap_close($stream_id); require_once 'clean.inc';