From 1d1fdcbf8cd7cce93454eb0b64eaf76975ebdd17 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 8 Apr 2014 11:32:51 +0200 Subject: Fix splitting message identifiers into UID and folder values --- program/lib/Roundcube/rcube_imap.php | 4 ++-- program/lib/Roundcube/rcube_message.php | 2 +- program/steps/mail/func.inc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index 41430db01..23cacd4d2 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -1709,7 +1709,7 @@ class rcube_imap extends rcube_storage // decode combined UID-folder identifier if (preg_match('/^\d+-[^,]+$/', $uid)) { - list($uid, $folder) = explode('-', $uid); + list($uid, $folder) = explode('-', $uid, 2); } // get cached headers @@ -1745,7 +1745,7 @@ class rcube_imap extends rcube_storage // decode combined UID-folder identifier if (preg_match('/^\d+-[^,]+$/', $uid)) { - list($uid, $folder) = explode('-', $uid); + list($uid, $folder) = explode('-', $uid, 2); } // Check internal cache diff --git a/program/lib/Roundcube/rcube_message.php b/program/lib/Roundcube/rcube_message.php index ad94005ac..edfd339d8 100644 --- a/program/lib/Roundcube/rcube_message.php +++ b/program/lib/Roundcube/rcube_message.php @@ -76,7 +76,7 @@ class rcube_message { // decode combined UID-folder identifier if (preg_match('/^\d+-[^,]+$/', $uid)) { - list($uid, $folder) = explode('-', $uid); + list($uid, $folder) = explode('-', $uid, 2); } $this->uid = $uid; diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 58f529f94..a541fca96 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -70,7 +70,7 @@ if (!empty($_REQUEST['_search']) && isset($_SESSION['search']) // remove mbox part from _uid if (($_uid = get_input_value('_uid', RCUBE_INPUT_GPC)) && preg_match('/^\d+-[^,]+$/', $_uid)) { - list($_uid, $mbox) = explode('-', $_uid); + list($_uid, $mbox) = explode('-', $_uid, 2); if (isset($_GET['_uid'])) $_GET['_uid'] = $_uid; if (isset($_POST['_uid'])) $_POST['_uid'] = $_uid; $_REQUEST['_uid'] = $_uid; -- cgit v1.2.3