UW can return a slightly different format for the LSUB when you step outside
authorjangliss <jangliss@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 15 Jun 2003 06:52:48 +0000 (06:52 +0000)
committerjangliss <jangliss@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 15 Jun 2003 06:52:48 +0000 (06:52 +0000)
the default_folder_prefix area, also they return NIL for the delimiter which
means the previous regex would always fail as it is looking for a 1 char
delimiter between ""

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@5046 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/imap_mailbox.php

index 9619f76..7debb01 100755 (executable)
@@ -722,7 +722,7 @@ function sqimap_mailbox_tree($imap_stream) {
         $has_inbox = false;
 
         for ($i = 0, $cnt = count($lsub_ary); $i < $cnt; $i++) {
-            if (preg_match("/^\*\s+LSUB\s+\((.*)\)\s+\"(.{1})\"\s+\"INBOX\".*$/",$lsub_ary[$i])) {
+            if (preg_match("/\/^\*\s+LSUB\s(.*)[\"]?INBOX[\"]?.*$/",$lsub_ary[$i])) {
                 $has_inbox = true;
                 break;
             }
@@ -731,7 +731,7 @@ function sqimap_mailbox_tree($imap_stream) {
         if ($has_inbox == false) {
             $lsub_ibx = sqimap_run_command( $imap_stream, "LSUB \"\" \"INBOX\"", true, $response, $message );
             if (isset($lsub_ibx[0])) {
-                if (preg_match("/^\*\s+LSUB\s+\((.*)\)\s+\"(.{1})\"\s+\"INBOX\".*$/",$lsub_ibx[0])) {
+                if (preg_match("/^\*\s+LSUB\s+(.*)[\"]?INBOX[\"]?.*$/",$lsub_ibx[0])) {
                     $lsub_ary[] = $lsub_ibx[0];
                 }
             }
@@ -787,6 +787,7 @@ function sqimap_mailbox_tree($imap_stream) {
                 }
             }
         }
+
         $boxesnew = sqimap_fill_mailbox_tree($sorted_lsub_ary);
         return $boxesnew;
     }