From 2ff8af15a46503d8eef80b9c62134e25229d0671 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 29 May 2009 05:12:10 -0400
Subject: [PATCH] - Fixed problem with double quote at the end of folder name (#1485884)

---
 CHANGELOG                                   |    1 +
 program/lib/imap.inc                        |    7 ++++---
 skins/default/templates/messagepreview.html |    2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index d9d14a2..1f9ae92 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG RoundCube Webmail
 ===========================
 
+- Fixed problem with double quote at the end of folder name (#1485884)
 - Speedup UI by using CSS sprites and etags/expires/deflate in Apache config (#1484858,#1485800)
 - Support UID EXPUNGE: remove only moved/deleted messages
 - Add drag cancelling with ESC key (#1484344)
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index b5412e3..1b1a4dc 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -83,6 +83,7 @@
 		- removed caching functions
 		- handling connection startup response
 		- added UID EXPUNGE support
+		- fixed problem with double quote at the end of folder name in LIST and LSUB 
 
 ********************************************************/
 
@@ -2156,7 +2157,7 @@
         		// split one line
 			$a = iil_ExplodeQuotedString(' ', $line);
         		// last string is folder name
-			$folder = trim($a[count($a)-1], '"');
+			$folder = preg_replace(array('/^"/', '/"$/'), '', $a[count($a)-1]);
             
         		if (empty($ignore) || (!empty($ignore)
             			&& !preg_match('/'.preg_quote(ignore, '/').'/i', $folder))) {
@@ -2223,8 +2224,8 @@
 			$a = iil_ExplodeQuotedString(' ', $line);
             
         		// last string is folder name
-        		$folder = trim($a[count($a)-1], '"');
-            
+    			$folder = preg_replace(array('/^"/', '/"$/'), '', $a[count($a)-1]);
+        
 			if ((!in_array($folder, $folders)) && (empty($ignore)
             			|| (!empty($ignore) && !preg_match('/'.preg_quote(ignore, '/').'/i', $folder)))) {
 			    $folders[$i] = $folder;
diff --git a/skins/default/templates/messagepreview.html b/skins/default/templates/messagepreview.html
index 69ed4cf..148bbe5 100644
--- a/skins/default/templates/messagepreview.html
+++ b/skins/default/templates/messagepreview.html
@@ -7,7 +7,7 @@
 <body class="iframe">
 
 <div class="messageheaderbox">
-<roundcube:button command="permaurl" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="messageviewlink" target="_blank" />
+<roundcube:button command="open" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="messageviewlink" target="_blank" />
 <roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/plus.gif" summary="Message headers" />
 <roundcube:object name="messageAttachments" id="attachment-list" />
 </div>

--
Gitblit v1.9.1