From fa0152c21a7465013cd2a980d5cd3531ff7720d6 Mon Sep 17 00:00:00 2001
From: till <till@php.net>
Date: Sat, 02 Feb 2008 12:22:36 -0500
Subject: [PATCH] * fixed #1484738
---
program/steps/settings/manage_folders.inc | 8 +++++++-
program/include/rcube_imap.inc | 6 +++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index 2d947a4..091048a 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -1771,13 +1771,17 @@
$deleted = TRUE;
foreach ($all_mboxes as $c_mbox)
- if (preg_match('/^'.preg_quote($mailbox.$this->delimiter).'/', $c_mbox))
+ {
+ $regex = preg_quote($mailbox . $this->delimiter, '/');
+ $regex = '/^' . $regex . '/';
+ if (preg_match($regex, $c_mbox))
{
iil_C_UnSubscribe($this->conn, $c_mbox);
$result = iil_C_DeleteFolder($this->conn, $c_mbox);
if ($result>=0)
$deleted = TRUE;
}
+ }
}
// clear mailboxlist cache
diff --git a/program/steps/settings/manage_folders.inc b/program/steps/settings/manage_folders.inc
index b329e4c..7e06c9c 100644
--- a/program/steps/settings/manage_folders.inc
+++ b/program/steps/settings/manage_folders.inc
@@ -119,8 +119,14 @@
{
$OUTPUT->command('remove_folder_row', get_input_value('_mboxes', RCUBE_INPUT_POST));
foreach ($a_mboxes as $mbox)
- if (preg_match('/^'.preg_quote(get_input_value('_mboxes', RCUBE_INPUT_POST).$delimiter).'/', $mbox))
+ {
+ $regex = get_input_value('_mboxes', RCUBE_INPUT_POST) . $delimiter;
+ $regex = preg_quote($regex, '/');
+ if (preg_match('/^'. $regex .'/', $mbox))
+ {
$OUTPUT->command('remove_folder_row', $mbox);
+ }
+ }
$OUTPUT->show_message('folderdeleted', 'confirmation');
$OUTPUT->send();
}
--
Gitblit v1.9.1