From a5a4bf46bd2e579e828989563c120f9ab2b28a32 Mon Sep 17 00:00:00 2001 From: alecpl Date: Mon, 25 Oct 2010 12:39:36 +0000 Subject: - Add basic IMAP LIST's \Noselect option support (mark unselectable folders as virtual, etc.) --- program/include/rcube_imap.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'program/include/rcube_imap.php') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 7fbff37f1..46427d6cf 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -3120,6 +3120,31 @@ class rcube_imap } + /** + * Gets folder options from LIST/LSUB response, e.g. \Noselect, \Noinferiors + * + * @param string $mbox_name Folder name + * + * @return array Options list + */ + function mailbox_options($mbox_name) + { + $mbox = $this->mod_mailbox($mbox_name); + + if ($mbox == 'INBOX') { + return array(); + } + + if (!is_array($this->conn->data['LIST']) || !is_array($this->conn->data['LIST'][$mbox])) { + $this->conn->listMailboxes($this->mod_mailbox(''), $mbox_name); + } + + $opts = $this->conn->data['LIST'][$mbox]; + + return is_array($opts) ? $opts : array(); + } + + /** * Get message header names for rcube_imap_generic::fetchHeader(s) * -- cgit v1.2.3