From a5a4bf46bd2e579e828989563c120f9ab2b28a32 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 25 Oct 2010 08:39:36 -0400
Subject: [PATCH] - Add basic IMAP LIST's \Noselect option support (mark unselectable folders as virtual, etc.)

---
 program/include/rcube_imap.php |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 7fbff37..46427d6 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -3121,6 +3121,31 @@
 
 
     /**
+     * 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)
      *
      * @return string Space-separated list of header names

--
Gitblit v1.9.1