summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/lib/Roundcube/rcube_imap.php4
-rw-r--r--program/lib/Roundcube/rcube_message.php2
-rw-r--r--program/steps/mail/func.inc2
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;